chore: update gitignore; feat: 新增customer_agent业务模块与api路由
This commit is contained in:
@@ -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,
|
||||
)
|
||||
Reference in New Issue
Block a user