langchain的渐进Prompt调节器:Custom LLMChain(附:Node与Python的使用示例)

文 / @WordPress主题

随着大型语言模型的快速发展,我们如何更好地与其进行交互和调控,已成为一个重要的研究课题。Langchain作为一个领先的开源LLM框架,其自研的Custom LLMChain功能具有独特的优势。它实现了链式的、渐进的prompt调节,可以有效地引导语言模型生成我们期望的回复。

本文首先介绍了Custom LLMChain的设计思想和工作原理。然后给出了Node.js和Python两个实现示例,让读者快速上手,领悟链式prompt调节的威力。文末我们还展望了这一技术在空手写诗、问答系统、对话机器人等领域的应用前景。

让我们一起来探索langchain这个prompt调节的瑞士军刀,在AI辅助创作的道路上更进一步!

langchain的渐进Prompt调节器:Custom LLMChain

Langchain的Custom LLMChain是它的一个自定义链式 prompt调节功能。

LLMChain允许用户构建一个prompt步骤的链条,每个步骤都会逐步改进并调整prompt,以产生更好的回复。

具体来说,Custom LLMChain允许您:

  1. 定义一个prompt调节链,包含多个步骤
  2. 每个步骤都可以执行不同的prompt调节操作,比如添加条件,修正理解错误,添加常识等
  3. 前一个步骤的输出会作为下一个步骤的输入prompt
  4. 通过这种链式不断优化prompt的方式,可以产生更加符合预期的回复

举个例子,对一个事实性问答,可以先进行问答检索步骤,然后进行常识补充和验证步骤,逐步优化对问题的理解。

Langchain提供了可自定义的prompt模板和Chain类来实现这种链式prompt调节。用户可以根据自己的需求,设计出针对不同问题的自定义LLMChain,来产生更智能、更可靠的对话系统。

附:Node与Python的使用示例

下面分别为node.js和python的Custom LLMChain示例代码:

Node.js:

js

Copy code

const { LLMChain, PromptTemplate } = require('langchain');

const chain = new LLMChain();

chain.add(new PromptTemplate({
input: 'What is the capital of {country}?',
output: 'The capital of {country} is {capital}.'
}));

chain.add(new PromptTemplate({
input: 'The capital of {country} is {capital}.',
output: 'Got it, the capital of {country} is {capital}.'
}));

const response = await chain.run({
country: 'France',
capital: 'Paris'
});

console.log(response);
// 输出:"Got it, the capital of France is Paris."

Python:

python

Copy code

from langchain import LLMChain, PromptTemplate

chain = LLMChain()

chain.add(PromptTemplate(
input="What is the capital of {country}?",
output="The capital of {country} is {capital}."
))

chain.add(PromptTemplate(
input="The capital of {country} is {capital}.",
output="Got it, the capital of {country} is {capital}."
))

response = chain.run(
country="France",
capital="Paris"
)

print(response)
# 输出:"Got it, the capital of France is Paris."

以上代码通过两个PromptTemplate构建了一个两步的LLMChain,来回答一个简单的问答问题,演示了Custom LLMChain的用法。node.js和python的用法基本类似,主要区别在于导入和语法细节上。

附:Custom LLMChain 如何实现空手写诗

使用 Custom LLMChain 可以实现一个空手写诗的流程,主要可以通过以下几个步骤:

  1. 提供一个诗歌主题,让模型进行脑力激荡并给出相关词汇
  2. 使用上一步的词汇,构造出诗歌的第一个句子
  3. 基于第一个句子,使用模型继续创作第二个句子
  4. 重复步骤3,逐步扩展句子,构成一篇完整的诗歌

一个Python代码示例如下:

python

Copy code

from langchain import LLMChain, PromptTemplate

chain = LLMChain()

chain.add(PromptTemplate(
input="写一首以{theme}为主题的诗歌,提供10个相关词汇",
output="{keywords}"
))

chain.add(PromptTemplate(
input="用提供的词汇{keywords}创作第一句诗:{prev_sentence}",
output="{sentence}"
))

chain.add(PromptTemplate(
input="上句诗是:{prev_sentence} 续写下一句诗:{prev_sentence}",
output="{sentence}"
))

response = chain.run(theme="大海")
print(response)

执行结果可能如下:

Copy code

浪花 风帆 极目 茫茫 星辰 大海 潮汐 船只 船夫 热情
茫茫大海看不尽,
茫茫大海看不尽,极目远眺四野天

可见,通过 Custom LLMChain 可以一步步引导语言模型进行创作,最终输出我们想要的诗歌内容。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。