Tobias Weise 579b76ebd5
All checks were successful
Gitea Docker Redeploy / Redploy-App-on-self-via-SSH (push) Successful in 19s
added lib folder and model download at start... hope it works
2024-08-20 17:47:33 +02:00

145 lines
2.7 KiB
Python

import os
from elasticsearch_dsl import Document, InnerDoc, Nested, Date, Integer, Keyword, Float, Long, Text, connections, Object, Boolean
class User(Document):
creation_date = Date()
email = Keyword()
password_hash = Text(index=False)
role = Keyword()
#salt = Text(index=False)
#profileImage = Text(index=False)
#profileImage = Keyword()
isEmailVerified = Boolean()
#status = Text()
#otpExpires = Date()
#resetPasswordToken = Text(index=False)
#mailToken = Text(index=False)
class Index:
name = 'user'
settings = {
"number_of_shards": 1,
}
def save(self, ** kwargs):
return super(User, self).save(**kwargs)
class Chatbot(Document):
creation_date = Date()
name = Text()
creator_id = Keyword()
description = Text()
systemPrompt = Text(index=False)
#slug = Keyword()
files = Nested()
text = Text()
links = Nested()
#chatbotImage = Text(index=False)
sourceCharacters = Integer()
visibility = Keyword() #public, private, group?
#status = Keyword()
temperature = Float()
llm_model = Keyword()
class Index:
name = 'chatbot'
settings = {
"number_of_shards": 1,
}
def save(self, ** kwargs):
return super(Chatbot, self).save(**kwargs)
class Text(Document):
creation_date = Date()
creator_id = Keyword()
text = Text()
md5 = Keyword()
class Index:
name = 'text'
settings = {
"number_of_shards": 1,
}
def save(self, ** kwargs):
return super(Text, self).save(**kwargs)
#======= Query Log ===========
class Sources(InnerDoc):
score = Float()
#sourceFileId = Text()
sourceType = Text()
tags = Text()
#new fields
sourceFileId = Keyword()
filename = Keyword()
url = Keyword()
txt_id = Keyword()
page = Integer()
class QueryLog(Document):
answer = Text()
question = Text()
chatbotid = Keyword()
durasecs = Float()
#inCt = Float()
inToks = Long()
llm = Text()
#outCt = Float()
outToks = Long()
#queryid = Keyword()
#rating = Long()
#reason = Text()
#reasontags = Text()
session = Keyword()
sources = Object(Sources)
temperature = Float()
#totalCt = Float()
timest = Date() #timestamp
date = Date() #iso date
class Index:
name = 'query_log'
settings = {
"number_of_shards": 1,
}
def save(self, ** kwargs):
return super(QueryLog, self).save(**kwargs)
def init_indicies():
# create the mappings in elasticsearch
for Index in [QueryLog, Chatbot, User, Text]:
Index.init()