|
|
@@ -16,7 +16,8 @@ llm = init_chat_model(
|
|
|
model=model,
|
|
|
api_key=api_key_env_var,
|
|
|
base_url=base_url,
|
|
|
- temperature= temperature
|
|
|
+ temperature= temperature,
|
|
|
+ extra_body={"enable_thinking": False}
|
|
|
)
|
|
|
|
|
|
class Lable(BaseModel):
|
|
|
@@ -88,14 +89,15 @@ async def reflect_check(context: str, labels: list):
|
|
|
|
|
|
class GenerateReg(BaseModel):
|
|
|
""" 大模型生成的正则表达式 """
|
|
|
- reg: str = Field(..., description="大模型生成的正则表达式")
|
|
|
+ reg: str = Field(description="大模型生成的正则表达式")
|
|
|
|
|
|
async def generate_reg(tag_info):
|
|
|
+
|
|
|
prompt = f"""
|
|
|
你是一名银行信贷业务产业标签打标平台的规则设计专家。你的任务是:仅根据我提供的【标签名称】与【语义定义】,生成一条中文关键词正则规则,用于极短文本字段(投向 / 贷款用途)的第一阶段初筛。
|
|
|
###
|
|
|
【输入】
|
|
|
- 标签名称:{tag_info[1] if tag_info else ''}
|
|
|
+标签名称:{tag_info[1] if tag_info else ''}
|
|
|
语义定义:{tag_info[2] if tag_info else ''}
|
|
|
###
|
|
|
【数据特征】
|
|
|
@@ -122,19 +124,25 @@ async def generate_reg(tag_info):
|
|
|
12.关键词应尽量覆盖:
|
|
|
● 文本未出现标签名称
|
|
|
● 文本未出现核心字面词
|
|
|
- ● 仅通过业务对象 / 场景 / 行为即可识别的情况
|
|
|
+ ● 仅通过业务对象 / 场景 / 行为即可识别的情况
|
|
|
+###
|
|
|
+【输出要求】
|
|
|
+只输出最终那一条正则表达式
|
|
|
+ 不要解释
|
|
|
+ 不要 JSON
|
|
|
+ 不要换行
|
|
|
+ 可直接入库
|
|
|
+###
|
|
|
"""
|
|
|
|
|
|
agent = create_agent(
|
|
|
model = llm,
|
|
|
response_format=GenerateReg
|
|
|
)
|
|
|
- print(prompt)
|
|
|
response = await agent.ainvoke({
|
|
|
"messages": [{"role":"system","content": prompt}]
|
|
|
},context = {})
|
|
|
- print("to here 2")
|
|
|
- reg = response["structured_response"]["reg"]
|
|
|
+ reg = response["structured_response"].reg
|
|
|
return reg
|
|
|
|
|
|
if __name__ == "__main__":
|