因为做AI项目的过程中,需要处理各种提示词(prompt),其中有些是固定的文本,有些是会反复修改的。如果是简单的提示词,直接用python里面的字符串format()或者replace()函数进行处理即可。对于复杂的,还是用langchain里面的提示词模板更方便。
为了方便处理llm的promt,langchain提供了提示词模板。具体文档参见官方文档:https://api.python.langchain.com/en/latest/core_api_reference.html#module-langchain_core.prompts
常见的类有BasePromptTemplate、PipelinePromptTemplate和PromptTemplate。其中BasePromptTemplate是后面2个类的基类(PromptTemplate的直接父类是StringPromptTemplate,而StringPromptTemplate的直接父类则是BasePromptTemplate)。
BasePromptTemplate中常用的方法有format(),input_variables(),partial(),save()。
PromptTemplate中常用的方法有from_file()、from_template()。
具体使用请参见下面的源码:template.txt文件中的内容如下:
这是一个测试用的模板文件,用于测试模板引擎的功能。
你叫做{ai_name},你是{ai_role},
{instructions}
template.json中的文件内容如下:
{
"_type": "prompt",