feat:增加存储用户对话记录

This commit is contained in:
2026-05-28 13:55:37 +08:00
parent 613f426aee
commit c136426589
11 changed files with 122 additions and 18 deletions

View File

@@ -5,16 +5,24 @@ import sqlite3
from langchain_tavily import TavilySearch
from langgraph.checkpoint.sqlite import SqliteSaver
from services.db_service import init_db
from dotenv import load_dotenv
import os
load_dotenv()
# 连接sqlite
connection = sqlite3.connect("chief.db", check_same_thread=False)
connection = sqlite3.connect(os.getenv("SQLITE_DB_PATH"), check_same_thread=False)
# 初始化checkpointer
checkpointer = SqliteSaver(connection)
# 自动建表
checkpointer.setup()
init_db()
# web搜索工具使用tavily作为web搜索工具
web_search = TavilySearch(
tavily_api_key="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",
tavily_api_key=os.getenv("TAVILY_API_KEY"),
max_results=5,
topic="general"
)
@@ -30,10 +38,10 @@ system_prompt = """
"""
model = init_chat_model(
model="qwen3-max-2026-01-23",
model=os.getenv("MODEL_NAME"),
model_provider="openai",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
api_key="sk-52bcd98e9c1d45908437c4e8706eefff",
base_url=os.getenv("MODEL_BASE_URL"),
api_key=os.getenv("MODEL_API_KEY"),
temperature=1.5,
)
@@ -43,3 +51,13 @@ agent = create_agent(
checkpointer=checkpointer, # 记忆
system_prompt=system_prompt # 系统提示词
)
title_prompt = """
请根据以下对话内容,生成一句不超过 20 字的标题,用于记录本次对话主题。
只返回标题,不要解释。
"""
title_agent = create_agent(
model=model,
system_prompt=title_prompt
)