31 lines
1.7 KiB
Python
31 lines
1.7 KiB
Python
from flask import session
|
|
from flask_security import current_user
|
|
from flask_wtf import FlaskForm
|
|
from wtforms import StringField, SelectField
|
|
from wtforms.validators import DataRequired
|
|
|
|
|
|
class SessionDefaultsForm(FlaskForm):
|
|
user_name = StringField('User Name', validators=[DataRequired()])
|
|
user_email = StringField('User', validators=[DataRequired()])
|
|
|
|
# Tenant Defaults
|
|
tenant_name = StringField('Tenant Name', validators=[DataRequired()])
|
|
default_language = SelectField('Default Language', choices=[], validators=[DataRequired()])
|
|
default_embedding_model = SelectField('Default Embedding Model', choices=[], validators=[DataRequired()])
|
|
default_llm_model = SelectField('Default LLM Model', choices=[], validators=[DataRequired()])
|
|
|
|
def __init__(self):
|
|
super(SessionDefaultsForm, self).__init__()
|
|
self.user_name.data = current_user.user_name
|
|
self.user_email.data = current_user.email
|
|
self.tenant_name.data = session.get('tenant').get('name')
|
|
self.default_language.choices = [(lang, lang.lower()) for lang in
|
|
session.get('tenant').get('allowed_languages')]
|
|
self.default_language.data = session.get('default_language')
|
|
self.default_embedding_model.choices = [(model, model) for model in
|
|
session.get('tenant').get('allowed_embedding_models')]
|
|
self.default_embedding_model.data = session.get('default_embedding_model')
|
|
self.default_llm_model.choices = [(model, model) for model in session.get('tenant').get('allowed_llm_models')]
|
|
self.default_llm_model.data = session.get('default_llm_model')
|