sales-assistant-py-new/app/chat_qa_query/query_nodes/node_search_embedding.py

29 lines
958 B
Python

"""
向量化
"""
from app.chat_qa_query.query_qa_state import QueryQAState
from app.client.embedding_client_manager import embedding_client
from app.repository.milvus.message_qa_repository import QARepository
from app.core.log import logger
async def search_embed(state:QueryQAState) :
logger.info("search_embed")
rewritten_query = state.get("rewritten_query", "")
original_query = state.get("original_query", "")
batch_embeddings = await embedding_client.aembed_query(rewritten_query)
qa_repository = QARepository()
result = await qa_repository.search_qa(query_text=batch_embeddings, top_k=3)
logger.info(f"原始问题:{original_query},改写后的问题:{rewritten_query},匹配结果:{result}")
if result:
question = result[0]["question"]
answer = result[0]["answer"]
qa_pairs={
"question": question,
"answer": answer,
}
return {"qa_pairs": qa_pairs}
return {}