Add the prefered embedding model to the add_document interface

This commit is contained in:
Josako
2024-05-02 10:19:15 +02:00
parent 659588deab
commit 31250443c2
4 changed files with 18 additions and 6 deletions

View File

@@ -23,7 +23,6 @@ class Config(object):
SECURITY_EMAIL_SENDER = "eveai_super@flow-it.net" SECURITY_EMAIL_SENDER = "eveai_super@flow-it.net"
PERMANENT_SESSION_LIFETIME = timedelta(minutes=60) PERMANENT_SESSION_LIFETIME = timedelta(minutes=60)
# flask-mailman settings # flask-mailman settings
MAIL_SERVER = 'mail.flow-it.net' MAIL_SERVER = 'mail.flow-it.net'
MAIL_PORT = 587 MAIL_PORT = 587
@@ -42,6 +41,7 @@ class Config(object):
SUPPORTED_EMBEDDINGS = ['openai.text-embedding-3-small', 'mistral.mistral-embed'] SUPPORTED_EMBEDDINGS = ['openai.text-embedding-3-small', 'mistral.mistral-embed']
SUPPORTED_LLMS = ['openai.gpt-4-turbo', 'openai.gpt-3.5-turbo', 'mistral.mistral-large-2402'] SUPPORTED_LLMS = ['openai.gpt-4-turbo', 'openai.gpt-3.5-turbo', 'mistral.mistral-large-2402']
class DevConfig(Config): class DevConfig(Config):
DEVELOPMENT = True DEVELOPMENT = True
DEBUG = True DEBUG = True
@@ -57,6 +57,10 @@ class DevConfig(Config):
# file upload settings # file upload settings
UPLOAD_FOLDER = '/Volumes/OWC4M2_1/Development/eveAI/file_store' UPLOAD_FOLDER = '/Volumes/OWC4M2_1/Development/eveAI/file_store'
# Celery settings
CELERY_BROKER_URL = 'redis://localhost:6379/0' # Default Redis configuration
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
class ProdConfig(Config): class ProdConfig(Config):
DEVELOPMENT = False DEVELOPMENT = False

View File

@@ -1,3 +1,3 @@
from ..models.document import Document, DocumentLanguage, DocumentVersion from ..models.document import Document, DocumentLanguage, DocumentVersion
def add_document(file, name, language, valid_from): def process_document(file, name, language, valid_from):

View File

@@ -11,9 +11,9 @@ class SessionDefaultsForm(FlaskForm):
# Tenant Defaults # Tenant Defaults
tenant_name = StringField('Tenant Name', validators=[DataRequired()]) tenant_name = StringField('Tenant Name', validators=[DataRequired()])
default_language = SelectField(u'Default Language', choices=[], validators=[DataRequired()]) default_language = SelectField('Default Language', choices=[], validators=[DataRequired()])
default_embedding_model = SelectField(u'Default Embedding Model', choices=[], validators=[DataRequired()]) default_embedding_model = SelectField('Default Embedding Model', choices=[], validators=[DataRequired()])
default_llm_model = SelectField(u'Default LLM Model', choices=[], validators=[DataRequired()]) default_llm_model = SelectField('Default LLM Model', choices=[], validators=[DataRequired()])
def __init__(self): def __init__(self):
super(SessionDefaultsForm, self).__init__() super(SessionDefaultsForm, self).__init__()

View File

@@ -1,6 +1,7 @@
from flask import session
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from wtforms import (StringField, BooleanField, SubmitField, DateField, from wtforms import (StringField, BooleanField, SubmitField, DateField,
SelectMultipleField, FieldList, FormField) SelectField, FieldList, FormField)
from wtforms.validators import DataRequired, Length, Optional from wtforms.validators import DataRequired, Length, Optional
from flask_wtf.file import FileField, FileAllowed, FileRequired from flask_wtf.file import FileField, FileAllowed, FileRequired
@@ -11,5 +12,12 @@ class AddDocumentForm(FlaskForm):
name = StringField('Name', validators=[Length(max=100)]) name = StringField('Name', validators=[Length(max=100)])
language = StringField('Language', validators=[Length(max=2)]) language = StringField('Language', validators=[Length(max=2)])
valid_from = DateField('Valid from', id='form-control datepicker', validators=[Optional()]) valid_from = DateField('Valid from', id='form-control datepicker', validators=[Optional()])
doc_embedding_model = SelectField('Default Embedding Model', choices=[], validators=[DataRequired()])
submit = SubmitField('Submit') submit = SubmitField('Submit')
def __init__(self):
super(AddDocumentForm, self).__init__()
self.doc_embedding_model.choices = [(model, model) for model in
session.get('tenant').get('allowed_embedding_models')]
self.doc_embedding_model.data = session.get('default_embedding_model')