AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


LangChain实战技巧之五:让模型“自动生成”Prompt(提示词)的两种方式
发布日期:2024-06-07 05:52:51 浏览次数: 2389 来源:Song榆钱儿


预备知识

  • 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+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询