微信扫码
添加专属顾问
我要投稿
with_structured_output
bind_tools
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 首先,新建一个提示词抽取器
prompt_extractor = ChatPromptTemplate.from_template(
template="""
你从用户的输入中提取出一些`关键信息`,然后根据关键信息生成一个提示词模板, 提示词模板应该是一个有效的Prompt Template。
`关键信息`包含以下内容:
- 找到有效的提示词的目标
- 找到有效的要求内容
- 找到传递给提示词模板的变量
用户的输入内容是: {input}
"""
)
# 再来一个Prompt
prompt_generator = ChatPromptTemplate.from_messages(
[
("system", "请根据以下输入的内容,生成一个有效的Prompt Template。"),
("human", "{input}"),
]
)
1
2
3
4
5
# 用好Pydantic,记得继承BaseModel
class PromptExtractor(BaseModel):
object: str = Field(description="提示词目标")
requirement: str = Field(description="提示词要求")
input_variable: str = Field(description="提示词变量")
1
2
# 来个你熟悉的chain,记得加上with_structured_output
chain_extractor = prompt_extractor | model.with_structured_output(PromptExtractor)
1
2
3
4
prompt_generator = chain_generator.invoke({"input":
f"""提示词目标:{res_extractor.object}
提示词要求:{res_extractor.requirement}
placeholder:{res_extractor.input_variable}"""})
1
content='"寻找一份深度解析并以易于理解方式讲解最新AI技术和人工智能基础知识的学习资料,要求内容深入浅出且详尽,适合初学者和进阶学习者。{input}"'
需要把上面的步骤三修改为
1
chain_extractor = prompt_extractor | model.bind_tools(tools=[PromptExtractor])
步骤四修改为
1
2
3
4
prompt_generator = chain_generator.invoke({"input":
f"""提示词目标:{rres_extractor.tool_calls[0]["args"]["object"]}
提示词要求:{res_extractor.tool_calls[0]["args"]["requirement"]}
placeholder:{res_extractor.tool_calls[0]["args"]["input_variable"]}"""})
最后,我们就可以用这个生成好的提示词啦
1
2
3
4
5
prompt = ChatPromptTemplate.from_template(
template=prompt_generator.content
)
chain = prompt | model
简言之,当你写的提示词Prompt不够完美,AI会帮你自动“润色”你的提示词
不过,你可以仔细想想,用这种方式可以去做哪些特别有趣的事情呢?: )
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-12-22
LangChain Agent 年度报告:输出质量仍是 Agent 最大障碍,客服、研究是最快落地场景
2025-12-21
文档审核Agent2.0系统落地方案:LangChain1.1+MinerU
2025-12-21
LangChain、Dify、n8n、Coze框架对比
2025-12-20
涌现观点|LangChain 2025 报告发布:57%的企业在用Agent,但32%的人被"质量"卡住了
2025-12-18
2025 LangChain智能体工程年度报告发布!AI智能体从画饼到吃饼
2025-12-17
智能体LangChain v1.0生态解读与迁移建议
2025-12-08
让AI智能体拥有像人类的持久记忆:基于LangGraph的长短期记忆管理实践指南
2025-12-04
Agentic RAG这样用LangChain解决复杂问题
2025-11-03
2025-10-23
2025-10-19
2025-11-06
2025-10-31
2025-11-05
2025-10-23
2025-11-01
2025-10-15
2025-10-09
2025-11-03
2025-10-29
2025-07-14
2025-07-13
2025-07-05
2025-06-26
2025-06-13
2025-05-21