feat: 添加同步获取embedding向量和生成响应的方法

This commit is contained in:
墨梓柒
2025-07-16 11:00:16 +08:00
parent a8cbb2978b
commit c71f2b21c0
5 changed files with 41 additions and 6 deletions

View File

@@ -26,7 +26,7 @@ from rich.progress import (
TextColumn,
)
from src.manager.local_store_manager import local_storage
from src.chat.utils.utils import get_embedding
from src.chat.utils.utils import get_embedding_sync
from src.config.config import global_config
@@ -99,7 +99,7 @@ class EmbeddingStore:
self.idx2hash = None
def _get_embedding(self, s: str) -> List[float]:
return get_embedding(s)
return get_embedding_sync(s)
def get_test_file_path(self):
return EMBEDDING_TEST_FILE

View File

@@ -28,7 +28,7 @@ def _extract_json_from_text(text: str) -> dict:
def _entity_extract(llm_req: LLMRequest, paragraph: str) -> List[str]:
"""对段落进行实体提取返回提取出的实体列表JSON格式"""
entity_extract_context = prompt_template.build_entity_extract_context(paragraph)
response, (reasoning_content, model_name) = llm_req.generate_response_async(entity_extract_context)
response, (reasoning_content, model_name) = llm_req.generate_response_sync(entity_extract_context)
entity_extract_result = _extract_json_from_text(response)
# 尝试load JSON数据
@@ -50,7 +50,7 @@ def _rdf_triple_extract(llm_req: LLMRequest, paragraph: str, entities: list) ->
rdf_extract_context = prompt_template.build_rdf_triple_extract_context(
paragraph, entities=json.dumps(entities, ensure_ascii=False)
)
response, (reasoning_content, model_name) = llm_req.generate_response_async(rdf_extract_context)
response, (reasoning_content, model_name) = llm_req.generate_response_sync(rdf_extract_context)
entity_extract_result = _extract_json_from_text(response)
# 尝试load JSON数据

View File

@@ -10,7 +10,7 @@ from .kg_manager import KGManager
# from .lpmmconfig import global_config
from .utils.dyn_topk import dyn_select_top_k
from src.llm_models.utils_model import LLMRequest
from src.chat.utils.utils import get_embedding
from src.chat.utils.utils import get_embedding_sync
from src.config.config import global_config
MAX_KNOWLEDGE_LENGTH = 10000 # 最大知识长度
@@ -36,7 +36,7 @@ class QAManager:
# 生成问题的Embedding
part_start_time = time.perf_counter()
question_embedding = await get_embedding(question)
question_embedding = await get_embedding_sync(question)
if question_embedding is None:
logger.error("生成问题Embedding失败")
return None