Files
2026-04-23 14:50:24 +08:00

60 lines
2.2 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from langchain_openai import ChatOpenAI
from tenacity import retry, stop_after_attempt, wait_exponential
from .config import settings
def get_llm(temperature: float = 0.1) -> ChatOpenAI:
"""获取 LLM 客户端DeepSeek 或 Qwen均兼容 OpenAI API"""
if settings.llm_provider == "deepseek":
return ChatOpenAI(
model=settings.deepseek_model,
api_key=settings.deepseek_api_key,
base_url="https://api.deepseek.com/v1",
temperature=temperature,
max_retries=3,
timeout=120,
)
elif settings.llm_provider == "qwen":
return ChatOpenAI(
model=settings.qwen_model,
api_key=settings.dashscope_api_key,
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
temperature=temperature,
max_retries=3,
timeout=120,
)
raise ValueError(f"不支持的 LLM 提供商:{settings.llm_provider}")
RAG_SYSTEM_PROMPT = """你是一位专业的汽车行业合规专家具备深厚的法规知识GB标准、UN-ECE、ISO 45001、IATF 16949等
回答规则:
1. 仅基于提供的参考文献回答,不添加不在文献中的信息
2. 每个关键陈述必须标注来源优先使用条款号格式【法规名称·第X条】
若无条款号则使用【法规名称·页码X】
3. 如果参考文献不足以回答问题,明确说明
4. 使用专业但清晰的语言,适合工程师和法务人员阅读
5. 对于数值要求(如绝缘电阻值、时间限制等),精确引用原文
引用格式示例:根据《道路运输车辆动态监督管理办法》【第十五条】规定,道路运输经营者应当……"""
COMPLIANCE_CHECK_PROMPT = """你是一位专业的汽车合规审查专家。
请对以下内容进行合规性评估:
【待审查内容】
{content}
【相关法规要求】
{regulations}
请按以下格式输出:
1. 整体风险等级:[low/medium/high/critical]
2. 风险分数:[0-100]
3. 发现的合规问题(逐条列出):
- 问题描述
- 违反的具体法规条款
- 严重程度
4. 整改建议(具体可操作)"""