chore: update gitignore; feat: 新增customer_agent业务模块与api路由

This commit is contained in:
2026-09-11 11:02:15 +08:00
parent 5915319f9f
commit 2004b8fcf4
59 changed files with 3527 additions and 18 deletions
+62
View File
@@ -0,0 +1,62 @@
"""Dependency assembly for the anonymous customer-service Agent."""
from __future__ import annotations
from types import SimpleNamespace
from agent.customer_agent.context import RedisConversationContext
from agent.customer_agent.session import AnonymousSessionService
from rag.embedding import embed_texts
from rag.generation import generate_answer
from rag.intent import intent_recognize
from rag.retrieve import rag_retrieve
from service.customer_agent.chat import AnonymousCustomerAgent
def build_anonymous_runtime(
*,
redis,
milvus_client,
llm_client,
config_getter,
audit_writer,
):
session_service = AnonymousSessionService(
redis, config_getter=config_getter
)
context = RedisConversationContext(
redis, config_getter=config_getter
)
async def retrieve(query, customer_id):
return await rag_retrieve(
query,
None,
milvus_client=milvus_client,
embedder=lambda texts: embed_texts(texts, client=llm_client),
config_getter=config_getter,
)
async def recognize(query):
return await intent_recognize(query, llm_client=llm_client)
async def generate(messages):
return await generate_answer(
messages,
llm_client=llm_client,
config_getter=config_getter,
)
agent = AnonymousCustomerAgent(
context=context,
rag_retrieve=retrieve,
intent_recognize=recognize,
generate_answer=generate,
audit_writer=audit_writer,
config_getter=config_getter,
)
return SimpleNamespace(
redis=redis,
session_service=session_service,
context=context,
agent=agent,
)