日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

langchain中的chat models介绍和使用

發(fā)布時(shí)間:2023/11/16 windows 52 coder
生活随笔 收集整理的這篇文章主要介紹了 langchain中的chat models介绍和使用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡(jiǎn)介

之前我們介紹了LLM模式,這種模式是就是文本輸入,然后文本輸出。

chat models是基于LLM模式的更加高級(jí)的模式。他的輸入和輸出是格式化的chat messages。

一起來(lái)看看如何在langchain中使用caht models吧。

chat models的使用

首先langchain對(duì)chat models下支持的模型就少很多了。一方面是可能有些語(yǔ)言模型本身是不支持chat models的。另外一方面langchain也還是在一個(gè)發(fā)展中的過(guò)程,所以有些模型還需要適配。

目前看來(lái)langchain支持的chat models有:ChatAnthropic,AzureChatOpenAI,ChatVertexAI,JinaChat,ChatOpenAI和PromptLayerChatOpenAI這幾種。

langchain把chat消息分成了這幾種:AIMessage, HumanMessage, SystemMessage 和 ChatMessage。

HumanMessage就是用戶(hù)輸入的消息,AIMessage是大語(yǔ)言模型的消息,SystemMessage是系統(tǒng)的消息。ChatMessage是一種可以自定義類(lèi)型的消息。

在使用的時(shí)候,只需要在chat中傳入對(duì)應(yīng)的消息即可:

from langchain.chat_models import ChatOpenAI

chat = ChatOpenAI()

messages = [
    SystemMessage(content="你是一個(gè)小說(shuō)家"),
    HumanMessage(content="幫我寫(xiě)篇小說(shuō)")
]
chat(messages)

當(dāng)然和LLM一樣,你也可以使用批量模式如下:

batch_messages = [
    [
        SystemMessage(content="你是一個(gè)小說(shuō)家"),
        HumanMessage(content="幫我寫(xiě)篇小說(shuō)")
    ],
    [
        SystemMessage(content="你是一個(gè)詩(shī)人"),
        HumanMessage(content="幫我寫(xiě)首詩(shī)")
    ],
]
result = chat.generate(batch_messages)
result

chat models的高級(jí)功能

其實(shí)和LLM類(lèi)似,基本上LLM有的高級(jí)功能chat models都有。

比如有用的比如緩存功能,可以緩存之前的輸入和輸出,避免每次都調(diào)用LLM,從而可以減少token的開(kāi)銷(xiāo)。

以InMemoryCache為例子:

from langchain.cache import InMemoryCache
langchain.llm_cache = InMemoryCache()

# 第一次調(diào)用,不是用cache
llm.predict("Tell me a joke")

# 第二次調(diào)用,使用cache
llm.predict("Tell me a joke")

除了InMemoryCache,langchain還支持FullLLMCache,SQLAlchemyCache,SQLiteCache和RedisCache等等。

同樣的,chat models也是支持流模式的:

from langchain.chat_models import ChatOpenAI
from langchain.schema import (
    HumanMessage,
)

from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
chat = ChatOpenAI(streaming=True, callbacks=[StreamingStdOutCallbackHandler()], temperature=0)
resp = chat([HumanMessage(content="幫忙我寫(xiě)首詩(shī)")])

只需要在構(gòu)建ChatOpenAI的時(shí)候,把StreamingStdOutCallbackHandler傳入callbacks即可。

如果要在chat models中使用PromptTemplate,因?yàn)閏hat models的消息格式跟LLM是不一樣的,所以對(duì)應(yīng)的PromptTemplate也是不一樣的。

和對(duì)應(yīng)的chat models消息對(duì)應(yīng)的PromptTemplate是ChatPromptTemplate,SystemMessagePromptTemplate,
AIMessagePromptTemplate和HumanMessagePromptTemplate。

我們看下是如何使用prompt template來(lái)構(gòu)建prompt:

from langchain import PromptTemplate
from langchain.prompts.chat import (
    ChatPromptTemplate,
    SystemMessagePromptTemplate,
    AIMessagePromptTemplate,
    HumanMessagePromptTemplate,
)

# 構(gòu)建各種prompt
template="You are a helpful assistant that translates {input_language} to {output_language}."
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
human_template="{text}"
human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)

chat_prompt = ChatPromptTemplate.from_messages([system_message_prompt, human_message_prompt])

# 使用format_prompt把prompt傳給chat
chat(chat_prompt.format_prompt(input_language="English", output_language="French", text="I love programming.").to_messages())

chat models下消息構(gòu)建確實(shí)比直接使用LLM要復(fù)雜點(diǎn),大家在使用的時(shí)候需要注意。

總結(jié)

chat models是LLM的高階表現(xiàn)形式。如果我們需要進(jìn)行對(duì)話(huà)模型的話(huà),就可以考慮使用這個(gè)。

更多內(nèi)容請(qǐng)參考 www.flydean.com

最通俗的解讀,最深刻的干貨,最簡(jiǎn)潔的教程,眾多你不知道的小技巧等你來(lái)發(fā)現(xiàn)!

歡迎關(guān)注我的公眾號(hào):「程序那些事」,懂技術(shù),更懂你!

總結(jié)

以上是生活随笔為你收集整理的langchain中的chat models介绍和使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品亚洲二区 | 欧美一级不卡视频 | 国产精品无码一区二区无人区多人 | 午夜网页 | 女女百合高h喷汁呻吟玩具 www.亚洲一区 | 91原视频| 99国产精| 无码黑人精品一区二区 | 男人添女人囗交视频 | 亚洲精品在线观看免费 | а√在线中文网新版地址在线 | 羞羞漫画在线 | 伊人青青草| jizzjizz亚洲 | 久久亚洲区| 欧日韩在线视频 | 大尺度叫床戏做爰视频 | 国产一区二区三区网站 | 国产aaaaa毛片 | 国产亚洲色婷婷久久 | 日本wwwxx| 狠狠干在线视频 | 韩国伦理片在线观看 | 午夜大片| 久操成人 | 伊人资源网 | 野外吮她的花蒂高h在线观看 | 日韩电影在线一区 | 国产一区二区三区18 | 国产视频一二三四区 | av免费不卡| 两性囗交做爰视频 | 91久久精品在线 | 狂野欧美性猛交blacked | 午夜a视频 | 天天爱夜夜爽 | 久久精品国产精品亚洲色婷婷 | 久久亚洲AV成人无码国产人妖 | 国产r级在线 | 男女啪啪国产 | 国产做a视频 | 亚洲www.| 天天综合视频 | 黄色网免费看 | 妹子干综合 | 国产精品电影一区二区三区 | 国产视频导航 | 亚洲国产一二三区 | 亚洲色图视频在线观看 | 免费视频爱爱太爽 | 五月婷婷激情 | 国产成人精品在线视频 | 久久性精品 | 亚洲品质自拍视频 | 九九视频国产 | 超碰av在线免费观看 | 中文资源在线观看 | 国内性视频 | 男女做爰猛烈刺激 | 久久99精品久久久久久水蜜桃 | 麻豆系列| 蜜臀视频一区二区三区 | 深夜福利一区二区三区 | 人物动物互动39集免费观看 | 久久93| 国产精品久久免费视频 | 国产欧美精品区一区二区三区 | 日韩一区不卡 | 精品少妇一区二区三区免费观看 | 91亚洲国产 | 熟妇人妻中文字幕无码老熟妇 | 成人天堂噜噜噜 | 日本无遮羞调教打屁股网站 | 免费小视频在线观看 | 午夜视频免费在线观看 | 超碰美女在线 | 国外亚洲成av人片在线观看 | 欧美无马 | 麻豆剧场| 国产老女人乱淫免费可以 | 日韩欧美偷拍 | 少妇流白浆 | 精品免费一区二区三区 | 自拍偷拍亚洲综合 | 亚洲日日夜夜 | 免费观看国产精品 | 国产小视频在线免费观看 | 美女网站免费观看 | 成人黄色网 | 息与子五十路翔田千里 | 在线观看网站黄 | 国产av人人夜夜澡人人爽 | 91成人免费在线视频 | 日本热久久 | 超色视频| 国内av免费 | 国产美女永久无遮挡 | 亚洲一区二区三区在线 | 免费成人美女在线观看. |