Langchain是一個(gè)集成多個(gè)大語言模型的開源框架,可以使用它來快速開發(fā)大語言模型應(yīng)用。
本文的代碼使用到的模塊:
from typing import List, Dict
from langchain import PromptTemplate, FewShotPromptTemplate, LLMChain, OpenAI
01 普通的提示詞模板
先來看看普通的提示詞模板如何使用,效果如何:
# 創(chuàng)建大語言模型對(duì)象 這里使用gpt-3.5最新的指令模型
llm = OpenAI(model="gpt-3.5-turbo-instruct", temperature=0)
# 設(shè)置提示詞模板 其中的{input}為等待用戶填充問題的插槽
template = "我會(huì)給你一種物品名稱的輸入,你需要輸出該類物品的一種具體事物,且使用量詞開頭。\nInput: {input}"
# 提示詞模板對(duì)象 指定接收參數(shù)的參數(shù)名為input 也就是上述插槽中的內(nèi)容
prompt = PromptTemplate(input_variables=["input"], template=template)
# 大語言模型 + 提示詞模板對(duì)象 -> 生成一個(gè)chian
chain = LLMChain(llm=llm, prompt=prompt)
# 執(zhí)行chain并查看結(jié)果
print(chain.run(input="手機(jī)"))
在這個(gè)示例中,對(duì)大模型的輸入為:
我會(huì)給你一種物品名稱的輸入,你需要輸出該類物品的一種具體事物,且使用量詞開頭。
Input: 手機(jī)
大模型的輸出為:
Output: 一部手機(jī)
可以看到輸出并不能很好地滿足我們的需求,因?yàn)槲蚁M敵龅氖窃擃愇锲返囊患唧w的事物,例如:一部華為手機(jī),而它只是簡單的給我添加了個(gè)量詞就完事了。而且它還自己添加了output前綴。
02 few-shot提示詞模板
下面使用few-shot提示詞模板試試:
# 創(chuàng)建大語言模型
llm = OpenAI(model="gpt-3.5-turbo-instruct", temperature=0)
# 創(chuàng)建一個(gè)實(shí)例列表
examples: List[Dict[str, str]] = [
{"input": "水果", "output": "一個(gè)蘋果"},
{"input": "寵物", "output": "一只貓"},
{"input": "家電", "output": "一臺(tái)冰箱"}
]
# 創(chuàng)建提示詞模板對(duì)象 該對(duì)象中的template部分插槽需要與示例中的鍵對(duì)應(yīng)
example_prompt = PromptTemplate(input_variables=["input", "output"], template="Input: {input}\n{output}")
# 合成few-shot提示詞模板對(duì)象
prompt = FewShotPromptTemplate(
prefix="我會(huì)給你一種物品名稱的輸入,你需要輸出該類物品的一種具體事物,且使用量詞開頭。", # 示例提示詞之前添加的內(nèi)容
examples=examples, # 示例列表
example_prompt=example_prompt, # 容納示例的提示詞模板對(duì)象
suffix="Input: {input}", # 示例提示詞之后添加的內(nèi)容
input_variables=["input"] # 等待用戶輸入的參數(shù)插槽
)
# 創(chuàng)建一個(gè)chain
chain = LLMChain(llm=llm, prompt=prompt)
# 執(zhí)行chain并查看結(jié)果
print(chain.run(input="手機(jī)"))
使用few-shot提示詞模板后,對(duì)大模型的輸入為:
我會(huì)給你一種物品名稱的輸入,你需要輸出該類物品的一種具體事物,且使用量詞開頭。
Input: 水果
一個(gè)蘋果
Input: 寵物
一只貓
Input: 家電
一臺(tái)冰箱
Input: 手機(jī)
大模型的輸出為:文章來源:http://www.zghlxwxcb.cn/news/detail-724266.html
一部iPhone
比起無示例版本,輸出結(jié)果有了明顯改觀。文章來源地址http://www.zghlxwxcb.cn/news/detail-724266.html
到了這里,關(guān)于雜記 | Langchain中few-shot提示詞模板的使用(給提示詞添加示例)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!