Files
llm-wiki-agent/server/database.py
2023-04-28 15:34:46 +05:30

43 lines
1.8 KiB
Python

from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import DateTime, ForeignKey, MetaData
from flask_login import UserMixin
from flask import Flask
convention = {
"ix": 'ix_%(column_0_label)s',
"uq": "uq_%(table_name)s_%(column_0_name)s",
"ck": "ck_%(table_name)s_%(constraint_name)s",
"fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",
"pk": "pk_%(table_name)s"
}
metadata = MetaData(naming_convention=convention)
db = SQLAlchemy(metadata=metadata)
app = Flask(__name__)
class Agent_Session(db.Model):
__tablename__ = "agent_session"
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
role_1 = db.Column(db.String(200), default="", server_default = "")
role_2 = db.Column(db.String(200), default="", server_default = "")
task = db.Column(db.String(3000), default="", server_default = "")
user_store = db.Column(db.String, default="", server_default = "")
assistant_store = db.Column(db.String, default="", server_default = "")
admin_id = db.Column(db.String(100), ForeignKey("admin.id"), index=True)
class Admin(UserMixin,db.Model):
__tablename__ = "admin"
id = db.Column(db.String(100), primary_key=True)
name = db.Column(db.String(100))
email = db.Column(db.String(100), unique=True, index=True)
google_id = db.Column(db.String(100))
openai_key = db.Column(db.String(100))
profile_image = db.Column(db.String(100000))
password = db.Column(db.String(100))
created_date = db.Column(DateTime)
gpt_model = db.Column(db.String, default="gpt-3.5-turbo", server_default="gpt-3.5-turbo")
agent_sessions = db.relationship('Agent_Session', backref='admin',
cascade="all,delete", lazy='dynamic')
def get_id(self):
return (self.id)