新增异步意图识别器和相关功能,优化意图识别和槽位填充逻辑,支持异步处理和多线程检索,改进API调用的错误处理和日志记录,增强文档检索和关键词提取功能。
This commit is contained in:
@@ -15,12 +15,13 @@ import concurrent.futures
|
||||
from tqdm import tqdm
|
||||
import time
|
||||
import sys
|
||||
import asyncio
|
||||
import argparse
|
||||
from typing import List, Dict, Any
|
||||
from langchain.output_parsers import PydanticOutputParser
|
||||
from pydantic import BaseModel, Field
|
||||
sys.path.append(os.getcwd())
|
||||
from rag2_0.intent_recognition import IntentRecognizer
|
||||
from rag2_0.intent_recognition import IntentRecognizer, AsyncIntentRecognizer
|
||||
from rag2_0.dify.DifyQueryRetrieval import DifyQueryRetrieval
|
||||
from rag2_0.intent_recognition.DataModels import Classification
|
||||
from rag2_0.tool.ModelTool import OpenAiLLM
|
||||
@@ -79,6 +80,12 @@ class QueryRewriteProcessor:
|
||||
self.model_name = model_name or os.getenv("LLM_MODEL_NAME", "gpt-3.5-turbo")
|
||||
|
||||
self.recognizer = IntentRecognizer(api_key=self.api_key, base_url=self.base_url, model_name=self.model_name)
|
||||
# 使用asyncio.run()运行异步create方法
|
||||
self.recognizer_async = asyncio.run(AsyncIntentRecognizer.create(
|
||||
api_key=self.api_key,
|
||||
base_url=self.base_url,
|
||||
model_name=self.model_name
|
||||
))
|
||||
self.dify_query_retrieval = DifyQueryRetrieval(api_key=dify_api_key, base_url=dify_base_url)
|
||||
|
||||
def is_retrieved_doc_relevant(self, query: str, retrieved_doc: List[Dict[str, Any]]) -> Dict[str, Any]:
|
||||
@@ -168,7 +175,11 @@ class QueryRewriteProcessor:
|
||||
logging.error(f"读取Excel文件时出错: {e}", exc_info=True)
|
||||
return []
|
||||
|
||||
def process_query(self, query: str, conversation_context: str = "", chat_history: List[Dict[str, str]] = None, previous_slots: Dict[str, str] = None, enable_retrieval: bool = False):
|
||||
def process_query(self, query: str,
|
||||
conversation_context: str = "",
|
||||
chat_history: List[Dict[str, str]] = None,
|
||||
previous_slots: Dict[str, str] = None,
|
||||
enable_retrieval: bool = False):
|
||||
"""
|
||||
处理单个查询,支持重试机制,并包含槽位填充
|
||||
|
||||
|
||||
Reference in New Issue
Block a user