Changes Documents - llm and languagefields on tenant, processing on documents
first version of Adding Documents (excl. embeddings)
This commit is contained in:
@@ -55,6 +55,12 @@ class DocumentVersion(db.Model):
|
||||
updated_at = db.Column(db.DateTime, nullable=False, server_default=db.func.now(), onupdate=db.func.now())
|
||||
updated_by = db.Column(db.Integer, db.ForeignKey(User.id))
|
||||
|
||||
# Processing Information
|
||||
processing = db.Column(db.Boolean, nullable=False, default=False)
|
||||
processing_started_at = db.Column(db.DateTime, nullable=True)
|
||||
processing_finished_at = db.Column(db.DateTime, nullable=True)
|
||||
processing_error = db.Column(db.String(255), nullable=True)
|
||||
|
||||
# Relations
|
||||
embeddings = db.relationship('EmbeddingMistral', backref='document_version', lazy=True)
|
||||
|
||||
@@ -62,7 +68,7 @@ class DocumentVersion(db.Model):
|
||||
return f"<DocumentVersion {self.document_language.document_id}.{self.document_language.language}>.{self.id}>"
|
||||
|
||||
def calc_file_location(self):
|
||||
return f"{self.document_language.document.tenant.id}/{self.document_language.document.id}/{self.document_language.language}"
|
||||
return f"{self.document_language.document.tenant_id}/{self.document_language.document.id}/{self.document_language.language}"
|
||||
|
||||
def calc_file_name(self):
|
||||
return f"{self.id}.{self.file_type}"
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
from ..extensions import db
|
||||
from flask_security import UserMixin, RoleMixin
|
||||
from sqlalchemy.dialects.postgresql import ARRAY
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
class Tenant(db.Model):
|
||||
@@ -19,10 +21,13 @@ class Tenant(db.Model):
|
||||
|
||||
# language information
|
||||
default_language = db.Column(db.String(2), nullable=True)
|
||||
allowed_languages = db.Column(ARRAY(sa.String(2)), nullable=True)
|
||||
|
||||
# currency information
|
||||
default_currency = db.Column(db.String(80), nullable=True)
|
||||
|
||||
# LLM specific choices
|
||||
default_embedding_model = db.Column(db.String(50), nullable=True)
|
||||
allowed_embedding_models = db.Column(ARRAY(sa.String(50)), nullable=True)
|
||||
default_llm_model = db.Column(db.String(50), nullable=True)
|
||||
allowed_llm_models = db.Column(ARRAY(sa.String(50)), nullable=True)
|
||||
|
||||
# Licensing Information
|
||||
license_start_date = db.Column(db.Date, nullable=True)
|
||||
@@ -33,13 +38,19 @@ class Tenant(db.Model):
|
||||
users = db.relationship('User', backref='tenant')
|
||||
|
||||
def __repr__(self):
|
||||
return '<Tenant %r>' % self.name
|
||||
return f"<Tenant {self.id}: {self.name}>"
|
||||
|
||||
def to_dict(self):
|
||||
return {
|
||||
'id': self.id,
|
||||
'name': self.name,
|
||||
'website': self.website,
|
||||
'default_language': self.default_language,
|
||||
'allowed_languages': self.allowed_languages,
|
||||
'default_embedding_model': self.default_embedding_model,
|
||||
'allowed_embedding_models': self.allowed_embedding_models,
|
||||
'default_llm_model': self.default_llm_model,
|
||||
'allowed_llm_models': self.allowed_llm_models,
|
||||
'license_start_date': self.license_start_date,
|
||||
'license_end_date': self.license_end_date,
|
||||
'allowed_monthly_interactions': self.allowed_monthly_interactions
|
||||
|
||||
Reference in New Issue
Block a user