feat:增加存储用户对话记录
This commit is contained in:
28
agent.py
28
agent.py
@@ -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
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user