中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

手機(jī)英文網(wǎng)站大全各大搜索引擎入口

手機(jī)英文網(wǎng)站大全,各大搜索引擎入口,ps做的網(wǎng)站圖片好大,建筑模板規(guī)格一覽表分類目錄:《自然語(yǔ)言處理從入門到應(yīng)用》總目錄 語(yǔ)言模型以文本作為輸入,這段文本通常被稱為提示(Prompt)。通常情況下,這不僅僅是一個(gè)硬編碼的字符串,而是模板、示例和用戶輸入的組合。LangChain提供了多個(gè)…

分類目錄:《自然語(yǔ)言處理從入門到應(yīng)用》總目錄


語(yǔ)言模型以文本作為輸入,這段文本通常被稱為提示(Prompt)。通常情況下,這不僅僅是一個(gè)硬編碼的字符串,而是模板、示例和用戶輸入的組合。LangChain提供了多個(gè)類和函數(shù),以便輕松構(gòu)建和處理提示。

提示模板的概念

提示模板是指一種可復(fù)制的生成提示的方式。它包含一個(gè)文本字符串(模板),可以從最終用戶處接收一組參數(shù)并生成提示。提示模板可能包含以下內(nèi)容:

  • 對(duì)語(yǔ)言模型的指令
  • 少量示例,以幫助語(yǔ)言模型生成更好的回復(fù)
  • 對(duì)語(yǔ)言模型的問(wèn)題

以下代碼片段是包含了一個(gè)提示模板的示例:

from langchain import PromptTemplatetemplate = """
我希望你能充當(dāng)新公司的命名顧問(wèn)。
一個(gè)生產(chǎn){product}的公司的好名字是什么?
"""prompt = PromptTemplate(input_variables=["product"],template=template,
)
prompt.format(product="彩色襪子")
# -> 我希望你能充當(dāng)新公司的命名顧問(wèn)。
# -> 一個(gè)生產(chǎn)彩色襪子的公司的好名字是什么?

創(chuàng)建提示模板

我們可以使用PromptTemplate類創(chuàng)建簡(jiǎn)單的硬編碼提示。提示模板可以接受任意數(shù)量的輸入變量,并且可以進(jìn)行格式化以生成提示。

from langchain import PromptTemplate
# 沒(méi)有輸入變量的提示示例
no_input_prompt = PromptTemplate(input_variables=[], template="給我講個(gè)笑話。")
no_input_prompt.format()
# -> "給我講個(gè)笑話。"# 一個(gè)輸入變量的提示示例
one_input_prompt = PromptTemplate(input_variables=["adjective"], template="給我講個(gè){adjective}的笑話。")
one_input_prompt.format(adjective="有趣的")
# -> "給我講個(gè)有趣的笑話。"# 多個(gè)輸入變量的示例提示
multiple_input_prompt = PromptTemplate(input_variables=["adjective", "content"], template="給我講一個(gè){adjective}的關(guān)于{content}的笑話。"
)
multiple_input_prompt.format(adjective="有趣的", content="小雞")
# -> "給我講一個(gè)有趣的關(guān)于小雞的笑話。"

如果我們不想手動(dòng)指定input_variables,還可以使用from_template類方法創(chuàng)建PromptTemplate。LangChain將根據(jù)傳遞的template自動(dòng)推斷input_variables。

template = "給我講一個(gè){adjective}的關(guān)于{content}的笑話。"
prompt_template = PromptTemplate.from_template(template)
prompt_template.input_variables
# -> ['adjective', 'content']
prompt_template.format(adjective="有趣的", content="小雞")
# -> 給我講一個(gè)有趣的關(guān)于小雞的笑話。

我們可以創(chuàng)建自定義的提示模板,以任何您想要的方式格式化提示。

模板格式

默認(rèn)情況下,PromptTemplate將提供的模板視為Python f-string。我們可以通過(guò)template_format參數(shù)指定其他模板格式:

# 在運(yùn)行此代碼之前,請(qǐng)確保已安裝jinja2jinja2_template = "告訴我一個(gè){{ adjective }}的笑話,關(guān)于{{ content }}"
prompt_template = PromptTemplate.from_template(template=jinja2_template, template_format="jinja2")prompt_template.format(adjective="有趣的", content="雞")
# -> 告訴我一個(gè)有趣的笑話,關(guān)于雞

目前,PromptTemplate僅支持jinja2f-string模板格式。如果您希望使用其他模板格式,我們可以在GitHub頁(yè)面上提交需求。

驗(yàn)證模板

默認(rèn)情況下,PromptTemplate將通過(guò)檢查input_variables是否與模板中定義的變量匹配來(lái)驗(yàn)證template字符串。您可以通過(guò)將validate_template設(shè)置為False來(lái)禁用此行為。

template = "我正在學(xué)習(xí)LangChain,因?yàn)閧reason}。"prompt_template = PromptTemplate(template=template, input_variables=["reason", "foo"])  # 由于存在額外的變量而引發(fā)ValueError
prompt_template = PromptTemplate(template=template, input_variables=["reason", "foo"], validate_template=False)  # 不會(huì)引發(fā)錯(cuò)誤

序列化模板

我們可以將PromptTemplate保存到本地文件系統(tǒng)中的文件中。LangChain將通過(guò)文件擴(kuò)展名自動(dòng)推斷文件格式。目前,LangChain支持將模板保存為YAML和JSON文件。

prompt_template.save("awesome_prompt.json")  # 保存為JSON文件
from langchain.prompts import load_prompt
loaded_prompt = load_prompt("awesome_prompt.json")assert prompt_template == loaded_prompt

LangChain還支持從LangChainHub加載提示模板,其中包含一系列我們可以在項(xiàng)目中使用的有用提示。

from langchain.prompts import load_promptprompt = load_prompt("lc://prompts/conversation/prompt.json")
prompt.format(history="", input="1 + 1等于多少?")

向模板添加Few Shot示例

Few Shot示例是一組可以幫助語(yǔ)言模型生成更好響應(yīng)的示例。要使用Few Shot示例生成提示,可以使用FewShotPromptTemplate。此類接受PromptTemplate和Few Shot示例列表。然后,它使用Few Shot示例格式化提示模板。

在下面示例中,我們將創(chuàng)建一個(gè)生成單詞反義詞的提示。

from langchain import PromptTemplate, FewShotPromptTemplate# 首先,創(chuàng)建Few Shot示例列表
examples = [{"word": "happy", "antonym": "sad"},{"word": "tall", "antonym": "short"},
]# 接下來(lái),我們指定用于格式化示例的模板。
# 我們使用`PromptTemplate`類來(lái)實(shí)現(xiàn)這個(gè)目的。
example_formatter_template = """Word: {word}
Antonym: {antonym}
"""example_prompt = PromptTemplate(input_variables=["word", "antonym"],template=example_formatter_template,
)# 最后,創(chuàng)建`FewShotPromptTemplate`對(duì)象。
few_shot_prompt = FewShotPromptTemplate(# 這些是我們要插入到提示中的示例。examples=examples,# 這是我們?cè)趯⑹纠迦氲教崾局袝r(shí)要使用的格式。example_prompt=example_prompt,# 前綴是出現(xiàn)在提示中示例之前的一些文本。# 通常,這包括一些說(shuō)明。prefix="Give the antonym of every input\n",# 后綴是出現(xiàn)在提示中示例之后的一些文本。# 通常,這是用戶輸入的地方。suffix="Word: {input}\nAntonym: ",# 輸入變量是整個(gè)提示期望的變量。input_variables=["input"],# 示例分隔符是我們將前綴、示例和后綴連接在一起的字符串。example_separator="\n",
)# 現(xiàn)在,我們可以使用`format`方法生成一個(gè)提示。
print(few_shot_prompt.format(input="big"))
# -> Give the antonym of every input
# -> 
# -> Word: happy
# -> Antonym: sad
# ->
# -> Word: tall
# -> Antonym: short
# ->
# -> Word: big
# -> Antonym:

選擇用于提示模板的示例

如果您有大量示例,可以使用ExampleSelector選擇一部分對(duì)語(yǔ)言模型來(lái)說(shuō)最具信息量的示例。這將幫助您生成更有可能獲得良好回應(yīng)的提示。下面,我們將使用LengthBasedExampleSelector,它根據(jù)輸入的長(zhǎng)度選擇示例。當(dāng)我們擔(dān)心構(gòu)建的提示會(huì)超過(guò)上下文窗口的長(zhǎng)度時(shí),這將非常有用。對(duì)于較長(zhǎng)的輸入,它會(huì)選擇較少的示例進(jìn)行包含,而對(duì)于較短的輸入,它會(huì)選擇更多的示例。我們將繼續(xù)使用前面部分的示例,但這次我們將使用LengthBasedExampleSelector來(lái)選擇示例。

from langchain.prompts.example_selector import LengthBasedExampleSelector# 這里是一些虛構(gòu)任務(wù)的大量示例,該任務(wù)是創(chuàng)建反義詞。
examples = [{"word": "happy", "antonym": "sad"},{"word": "tall", "antonym": "short"},{"word": "energetic", "antonym": "lethargic"},{"word": "sunny", "antonym": "gloomy"},{"word": "windy", "antonym": "calm"},
]# 我們將使用`LengthBasedExampleSelector`來(lái)選擇示例。
example_selector = LengthBasedExampleSelector(# 這些是可供選擇的示例。examples=examples, # 這是用于格式化示例的PromptTemplate。example_prompt=example_prompt, # 這是格式化示例的最大長(zhǎng)度。max_length=25# 這是用于獲取字符串長(zhǎng)度的函數(shù),用于確定包含哪些示例。在這里被注釋掉,因?yàn)槿绻麤](méi)有指定,默認(rèn)提供了該函數(shù)。# get_text_length: Callable[[str], int] = lambda x: len(re.split("\n| ", x))
)# 現(xiàn)在,我們可以使用`example_selector`創(chuàng)建`FewShotPromptTemplate`。
dynamic_prompt = FewShotPromptTemplate(# 我們提供一個(gè)ExampleSelector而不是示例。example_selector=example_selector,example_prompt=example_prompt,prefix="給出每個(gè)輸入的反義詞",suffix="單詞:{input}\n反義詞:",input_variables=["input"],example_separator="\n\n",
)# 現(xiàn)在,我們可以使用`format`方法生成提示。
print(dynamic_prompt.format(input="big"))
# -> 給出每個(gè)輸入的反義詞
# ->
# -> 單詞:happy
# -> 反義詞:sad
# ->
# -> 單詞:tall
# -> 反義詞:short
# ->
# -> 單詞:energetic
# -> 反義詞:lethargic
# ->
# -> 單詞:sunny
# -> 反義詞:gloomy
# ->
# -> 單詞:windy
# -> 反義詞:平靜
```python
print(dynamic_prompt.format(input="big"))
# -> 給出每個(gè)輸入的反義詞
# ->
# -> 單詞:happy
# -> 反義詞:sad
# ->
# -> 單詞:tall
# -> 反義詞:short
# ->
# -> 單詞:energetic
# -> 反義詞:lethargic
# ->
# -> 單詞:sunny
# -> 反義詞:gloomy
# ->
# -> 單詞:windy
# -> 反義詞:calm
# ->
# -> 單詞:big
# -> 反義詞:平靜
相反,如果我們提供一個(gè)非常長(zhǎng)的輸入,LengthBasedExampleSelector會(huì)選擇較少的示例包含在提示中。long_string = "big and huge and massive and large and gigantic and tall and much much much much much bigger than everything else"
print(dynamic_prompt.format(input=long_string))
# -> 給出每個(gè)輸入的反義詞
# ->
# -> 單詞:happy
# -> 反義詞:sad
# ->
# -> 單詞:big and huge and massive and large and gigantic and tall and much much much much much bigger than everything else
# -> 反義詞:平靜

LangChain附帶了一些示例選擇器供我們使用,有關(guān)如何使用示例選擇器,可以參考《自然語(yǔ)言處理從入門到應(yīng)用——LangChain:提示(Prompts)》系列的后續(xù)文章。除此之外,我們還可以創(chuàng)建自定義示例選擇器,根據(jù)我們想要的任何條件選擇示例。

參考文獻(xiàn):
[1] LangChain 🦜?🔗 中文網(wǎng),跟著LangChain一起學(xué)LLM/GPT開(kāi)發(fā):https://www.langchain.com.cn/
[2] LangChain中文網(wǎng) - LangChain 是一個(gè)用于開(kāi)發(fā)由語(yǔ)言模型驅(qū)動(dòng)的應(yīng)用程序的框架:http://www.cnlangchain.com/

http://www.risenshineclean.com/news/51414.html

相關(guān)文章:

  • 企業(yè)管理模式馮宗耀seo教程
  • 做網(wǎng)站的總結(jié)游戲推廣員是做什么的
  • 網(wǎng)站運(yùn)營(yíng)和維護(hù)吉林seo刷關(guān)鍵詞排名優(yōu)化
  • 酷炫網(wǎng)站設(shè)計(jì)蘇州seo排名公司
  • 個(gè)人網(wǎng)站logo設(shè)計(jì)百度營(yíng)銷推廣登錄
  • 陽(yáng)谷做網(wǎng)站推廣石家莊關(guān)鍵詞優(yōu)化軟件
  • 株洲網(wǎng)站優(yōu)化找哪家網(wǎng)站模板哪家好
  • 做網(wǎng)站一直不知道做什么網(wǎng)站愛(ài)戰(zhàn)網(wǎng)關(guān)鍵詞挖掘查詢工具
  • 鹽城網(wǎng)站建設(shè)費(fèi)用seo顧問(wèn)服
  • 網(wǎng)站建設(shè) 策劃方案書(shū)1688官網(wǎng)
  • 朋友用我的vps做網(wǎng)站模板網(wǎng)站建站哪家好
  • 專注做一家男生最愛(ài)的網(wǎng)站百度代發(fā)排名
  • 常用h5的制作工具seo關(guān)鍵詞排名優(yōu)化方案
  • 今日頭條模板WordPress優(yōu)化深圳seo
  • b2b網(wǎng)站建立百度開(kāi)放云平臺(tái)
  • 網(wǎng)站項(xiàng)目經(jīng)費(fèi)預(yù)算新聞稿營(yíng)銷
  • 網(wǎng)站建設(shè)綜合技術(shù)百度首頁(yè)登錄
  • 網(wǎng)站建設(shè)技巧亅金手指排名25網(wǎng)站頁(yè)面優(yōu)化方案
  • google建設(shè)網(wǎng)站賺錢青島seo優(yōu)化公司
  • 深圳網(wǎng)站建設(shè)憂化在線seo外鏈工具
  • 重慶seo網(wǎng)站設(shè)計(jì)旅游營(yíng)銷推廣方案
  • 深圳專業(yè)網(wǎng)站制作技術(shù)簡(jiǎn)單的網(wǎng)站建設(shè)
  • WordPress改url進(jìn)不去搜索引擎優(yōu)化 簡(jiǎn)歷
  • 工業(yè)設(shè)計(jì)公司深圳本也設(shè)計(jì)seo優(yōu)化服務(wù)
  • 高端品牌車江蘇網(wǎng)站seo
  • 網(wǎng)站建設(shè) 搜狐seo綜合查詢工具
  • 百度網(wǎng)站排名優(yōu)化國(guó)外seo大神
  • 當(dāng)下網(wǎng)站建設(shè)海外推廣渠道
  • 什么做自己的網(wǎng)站 應(yīng)招聘人才seo經(jīng)驗(yàn)是什么
  • 北京做胃鏡哪好德勝門網(wǎng)站I如何自己做一個(gè)網(wǎng)址