|
|
@@ -8,9 +8,9 @@ from typing import Any, Dict, List, Optional
|
|
|
from core.construction_review.component.reviewers.utils.directory_extraction import BasisItem, BasisItems
|
|
|
from core.construction_review.component.reviewers.utils.inter_tool import InterTool
|
|
|
from core.construction_review.component.reviewers.utils.prompt_loader import PromptLoader
|
|
|
-from foundation.ai.agent.generate.model_generate import generate_model_client
|
|
|
from foundation.observability.logger.loggering import server_logger as logger
|
|
|
from langchain_core.prompts import ChatPromptTemplate
|
|
|
+from langchain_openai import ChatOpenAI
|
|
|
|
|
|
class StandardizedResponseProcessor:
|
|
|
"""标准化响应处理器 - 统一为outline_reviewer.py格式"""
|
|
|
@@ -78,6 +78,15 @@ class MessageBuilder:
|
|
|
class LLMReviewClient:
|
|
|
"""LLM审查客户端"""
|
|
|
|
|
|
+ def __init__(self):
|
|
|
+ # 固定使用Qwen3-30B模型
|
|
|
+ self.llm = ChatOpenAI(
|
|
|
+ model="qwen3-30b",
|
|
|
+ base_url="http://192.168.91.253:8003/v1",
|
|
|
+ api_key="sk-123456",
|
|
|
+ temperature=0.3,
|
|
|
+ )
|
|
|
+
|
|
|
async def review_basis(self, Message: str, trace_id: str = None) -> str:
|
|
|
try:
|
|
|
|
|
|
@@ -87,13 +96,11 @@ class LLMReviewClient:
|
|
|
}
|
|
|
logger.info(f" 模型调用准备阶段: {task_prompt_info}")
|
|
|
|
|
|
- # 调用统一模型客户端 - 编制依据审查设置90秒超时
|
|
|
- response = await generate_model_client.get_model_generate_invoke(
|
|
|
- trace_id=trace_id,
|
|
|
- task_prompt_info=task_prompt_info,
|
|
|
- timeout=90
|
|
|
- )
|
|
|
- return response
|
|
|
+ # 直接调用Qwen3-30B
|
|
|
+ prompt_template = task_prompt_info["task_prompt"]
|
|
|
+ messages = prompt_template.format_messages()
|
|
|
+ response = await self.llm.ainvoke(messages)
|
|
|
+ return response.content if hasattr(response, "content") else response
|
|
|
|
|
|
except Exception as e:
|
|
|
logger.error(f" 模型调用准备阶段失败: {e}")
|
|
|
@@ -340,6 +347,6 @@ async def review_all_basis_async(basis_items: BasisItems, max_concurrent: int =
|
|
|
if __name__ == "__main__":
|
|
|
# 简单测试
|
|
|
test_basis_items = BasisItems(items=[
|
|
|
- BasisItem(title="中华人民共和国特种设备安全法", suffix="2023", raw="《中华人民共和国特种设备安全法》(2023)")
|
|
|
+ BasisItem(title="中华人民共和国特种设备安全法", suffix="2023", raw="《起重机用钢丝绳》(GB T 34198-2017)")
|
|
|
])
|
|
|
result = asyncio.run(review_all_basis_async(test_basis_items))
|