universalsoftware/uchat
2
1from django.db import models2from django.urls import reverse3from django.forms import ModelForm4 5class Query(models.Model):6 query = models.TextField(7 max_length=1000, help_text="Unesite upit")8 reply = models.TextField(9 max_length=1000, help_text="Unesite odgovor")10 jezik = models.CharField(11 max_length=16, help_text="Odaberite jezik!")12 def get_absolute_url(self):13 return reverse('query', args=[str(self.id)])14 def __str__(self):15 return self.text16 17#class QueryForm(ModelForm):18# class Meta:19# model = Query20# fields = ['query', 'reply', 'jezik']21 22class Language(models.Model):23 name = models.CharField(max_length=16,24 unique=True,25 default="srpski",26 help_text="Unesite jezik")27 lid = models.CharField(max_length=2, unique=False, default="sr", help_text="Unesite kratak naziv jezika")28 def get_absolute_url(self):29 """Returns the url to access a particular language instance."""30 return reverse('bot-detail', args=[str(self.id)])31 def __str__(self):32 """String for representing the Model object (in Admin site etc.)"""33 return self.name34 35class LanguageForm(ModelForm):36 class Meta:37 model = Language38 fields = ['name', 'lid']39 40class Param(models.Model):41 system = models.TextField(max_length=2048, unique=False, blank=False, default="System prpmpt", help_text="Enter parameter value")42 ctxpre = models.CharField(max_length=80, unique=False, blank=True, help_text="Enter parameter value")43 msg_content = models.CharField(unique=False, blank=True, max_length=80, help_text="Enter parameter value")44 min_len = models.IntegerField(unique=False, blank=False, default=40, help_text="Enter parameter value")45 CHUNK_SIZE = models.IntegerField(unique=False, blank=False, default=800, help_text="Enter parameter value")46 CHUNK_OVERLAP = models.IntegerField(unique=False, blank=False, default=50, help_text="Enter parameter value")47 max_results = models.IntegerField(unique=False, blank=False, default=3, help_text="Enter parameter value")48 EMBED_MODEL = models.CharField(max_length=256, default="embeddings model", help_text="Enter parameter value")49 model_id = models.CharField(max_length=256, unique=False, default="LLM model", blank=False, help_text="Enter parameter value")50 max_conv = models.IntegerField(unique=False, blank=False, default=3, help_text="Enter parameter value")51 min_distance = models.FloatField(unique=False, blank=False, default=0.35, help_text="Enter parameter value")52 max_distance = models.FloatField(unique=False, blank=False, default=0.6, help_text="Enter parameter value")53 temperature = models.FloatField(unique=False, blank=False, default=0.55, help_text="Enter parameter value")54 max_tokens = models.IntegerField(unique=False, blank=False, default=3072, help_text="Enter parameter value")55 top_p = models.FloatField(unique=False, blank=False, default=0.8, help_text="Enter parameter value")56 frequency_penalty = models.FloatField(unique=False, default=0.0, blank=False, help_text="Enter parameter value")57 presence_penalty = models.FloatField(unique=False, default=0.0, blank=False, help_text="Enter parameter value")58 DEBUG = models.BooleanField(unique=False, blank=False, default=True, help_text="Enter parameter value")59 jezik = models.CharField(max_length=16, unique=False, blank=False, default="srpski", help_text="Uneti jezik")60 61class ParamModelForm(ModelForm):62 class Meta:63 model = Param64 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']65 