import { chat } from '@/modules/ollama.ts'; import { sequelize } from '../modules/sequelize.ts'; import { DataTypes, Model } from 'sequelize'; /** * chat 回话记录 * 有一些内容是预置的。 */ export class ChatHistory extends Model { declare id: string; declare data: string; declare root: boolean; declare show: boolean; declare uid: string; } ChatHistory.init( { id: { type: DataTypes.UUID, primaryKey: true, defaultValue: DataTypes.UUIDV4, }, data: { type: DataTypes.JSON, allowNull: true, }, chatId: { type: DataTypes.UUID, // 历史属于哪一条会话 allowNull: true, }, chatPromptId: { type: DataTypes.UUID, // 属于哪一个prompt allowNull: true, }, root: { type: DataTypes.BOOLEAN, // 是否是根节点 defaultValue: false, }, show: { type: DataTypes.BOOLEAN, // 当创建返回的时候,配置是否显示 defaultValue: true, }, uid: { type: DataTypes.STRING, allowNull: true, }, }, { sequelize, // 传入 Sequelize 实例 modelName: 'chat_history', // 模型名称 }, ); // force 只能run一次,否则会删除表 ChatHistory.sync({ alter: true, force: true, logging: false }).catch((e) => { console.error('History sync error', e); });