|
@@ -13,6 +13,8 @@ from app.tools.product_tools import (
|
|
|
from app.memory.store import MemoryManager
|
|
from app.memory.store import MemoryManager
|
|
|
from app.config import settings
|
|
from app.config import settings
|
|
|
from app.prompt_service import get_prompt
|
|
from app.prompt_service import get_prompt
|
|
|
|
|
+from app.portrait_service import get_user_portrait_text
|
|
|
|
|
+from app.tools.java_client import JavaClient
|
|
|
import logging
|
|
import logging
|
|
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
logger = logging.getLogger(__name__)
|
|
@@ -60,6 +62,7 @@ def create_chat_graph():
|
|
|
from app.rag.embeddings import get_embeddings
|
|
from app.rag.embeddings import get_embeddings
|
|
|
embeddings = get_embeddings()
|
|
embeddings = get_embeddings()
|
|
|
memory_mgr = MemoryManager(embeddings)
|
|
memory_mgr = MemoryManager(embeddings)
|
|
|
|
|
+ java = JavaClient()
|
|
|
|
|
|
|
|
llm_with_tools = llm.bind_tools([
|
|
llm_with_tools = llm.bind_tools([
|
|
|
search_product_by_keyword,
|
|
search_product_by_keyword,
|
|
@@ -87,6 +90,12 @@ def create_chat_graph():
|
|
|
chat_prompt = await get_prompt("chat_assistant") or DEFAULT_CHAT_PROMPT
|
|
chat_prompt = await get_prompt("chat_assistant") or DEFAULT_CHAT_PROMPT
|
|
|
messages = [SystemMessage(content=chat_prompt)]
|
|
messages = [SystemMessage(content=chat_prompt)]
|
|
|
|
|
|
|
|
|
|
+ # 画像注入
|
|
|
|
|
+ member_id = state.get("child_id")
|
|
|
|
|
+ portrait_text = await get_user_portrait_text(java, state["user_id"], member_id)
|
|
|
|
|
+ if portrait_text:
|
|
|
|
|
+ messages.insert(1, SystemMessage(content=portrait_text))
|
|
|
|
|
+
|
|
|
# 注入家庭上下文 + 用户健康现状
|
|
# 注入家庭上下文 + 用户健康现状
|
|
|
ctx = state.get("context", {})
|
|
ctx = state.get("context", {})
|
|
|
if isinstance(ctx, dict):
|
|
if isinstance(ctx, dict):
|