uchat / bot /models.py
shoom013's picture
Upload 76 files
203f582 verified
from django.db import models
from django.urls import reverse
from django.forms import ModelForm
class Query(models.Model):
query = models.TextField(
max_length=1000, help_text="Unesite upit")
reply = models.TextField(
max_length=1000, help_text="Unesite odgovor")
jezik = models.CharField(
max_length=16, help_text="Odaberite jezik!")
def get_absolute_url(self):
return reverse('query', args=[str(self.id)])
def __str__(self):
return self.text
#class QueryForm(ModelForm):
# class Meta:
# model = Query
# fields = ['query', 'reply', 'jezik']
class Language(models.Model):
name = models.CharField(max_length=16,
unique=True,
default="srpski",
help_text="Unesite jezik")
lid = models.CharField(max_length=2, unique=False, default="sr", help_text="Unesite kratak naziv jezika")
def get_absolute_url(self):
"""Returns the url to access a particular language instance."""
return reverse('bot-detail', args=[str(self.id)])
def __str__(self):
"""String for representing the Model object (in Admin site etc.)"""
return self.name
class LanguageForm(ModelForm):
class Meta:
model = Language
fields = ['name', 'lid']
class Param(models.Model):
system = models.TextField(max_length=2048, unique=False, blank=False, default="System prpmpt", help_text="Enter parameter value")
ctxpre = models.CharField(max_length=80, unique=False, blank=True, help_text="Enter parameter value")
msg_content = models.CharField(unique=False, blank=True, max_length=80, help_text="Enter parameter value")
min_len = models.IntegerField(unique=False, blank=False, default=40, help_text="Enter parameter value")
CHUNK_SIZE = models.IntegerField(unique=False, blank=False, default=800, help_text="Enter parameter value")
CHUNK_OVERLAP = models.IntegerField(unique=False, blank=False, default=50, help_text="Enter parameter value")
max_results = models.IntegerField(unique=False, blank=False, default=3, help_text="Enter parameter value")
EMBED_MODEL = models.CharField(max_length=256, default="embeddings model", help_text="Enter parameter value")
model_id = models.CharField(max_length=256, unique=False, default="LLM model", blank=False, help_text="Enter parameter value")
max_conv = models.IntegerField(unique=False, blank=False, default=3, help_text="Enter parameter value")
min_distance = models.FloatField(unique=False, blank=False, default=0.35, help_text="Enter parameter value")
max_distance = models.FloatField(unique=False, blank=False, default=0.6, help_text="Enter parameter value")
temperature = models.FloatField(unique=False, blank=False, default=0.55, help_text="Enter parameter value")
max_tokens = models.IntegerField(unique=False, blank=False, default=3072, help_text="Enter parameter value")
top_p = models.FloatField(unique=False, blank=False, default=0.8, help_text="Enter parameter value")
frequency_penalty = models.FloatField(unique=False, default=0.0, blank=False, help_text="Enter parameter value")
presence_penalty = models.FloatField(unique=False, default=0.0, blank=False, help_text="Enter parameter value")
DEBUG = models.BooleanField(unique=False, blank=False, default=True, help_text="Enter parameter value")
jezik = models.CharField(max_length=16, unique=False, blank=False, default="srpski", help_text="Uneti jezik")
class ParamModelForm(ModelForm):
class Meta:
model = Param
fields = [ 'system', 'ctxpre', 'msg_content', 'min_len', 'CHUNK_SIZE', 'CHUNK_OVERLAP', 'max_results', 'EMBED_MODEL', 'model_id', 'max_conv', 'min_distance', 'max_distance', 'temperature', 'max_tokens', 'top_p', 'frequency_penalty', 'presence_penalty', 'DEBUG', 'jezik']