閱界資訊

Langchain簡單快速上手教程(五)——聊天模型之流式傳輸

閱閱界編輯部1閱讀6分鐘

《Langchain簡單快速上手教程(五)——聊天模型之流式傳輸》是近期博客園技術區的好帖,信息密度大。下面分段講清它的核心內容,看到結尾你就知道該怎麼做了。

@ 目錄 前言 一、流式傳輸方式 (一)stream() 同步傳輸 (二)astream() 異步傳輸 1、異步概念 2、asyncio 具體使用 二、自定義流式輸出解析器 結語 前言 本期我們將要介紹的聊天模型中的流式傳輸。什麼是流式傳輸? 簡單來說流式傳輸就是其通過逐步顯示輸出,甚至在完整的響應準備就緒之前顯示部分輸出。 相較於在這之前所學習的.invoke()方法的非流式輸出,其輸出內容是全量返回的,需要所有內容準備就緒後才一併進行輸出。因此導致了用戶等待輸出時間長的問題。而流式輸出的能力將有效改善用戶的體驗。 一、流式傳輸方式 (一)stream() 同步傳輸 在 LangChain 聊天模型中,可以使用其 .stream() 方法,來同步地生成流式響應的效果。

@ 目錄 前言 一、流式傳輸方式 (一)stream() 同步傳輸 (二)astream() 異步傳輸 1、異步概念 2、asyncio 具體使用 二、自定義流式輸出解析器 結語 前言 本期我們將要介紹的聊天模型中的流式傳輸。什麼是流式傳輸? 簡單來說流式傳輸就是其通過逐步顯示輸出,甚至在完整的響應準備就緒之前顯示部分輸出。 相較於在這之前所學習的.invoke()方法的非流式輸出,其輸出內容是全量返回的,需要所有內容準備就緒後才一併進行輸出。因此導致了用戶等待輸出時間長的問題。而流式輸出的能力將有效改善用戶的體驗。 一、流式傳輸方式 (一)stream() 同步傳輸 在 LangChain 聊天模型中,可以使用其 .stream() 方法,來同步地生成流式響應的效果。而 .stream() 方法返回的是一個迭代器,該迭代器在生成輸出時同步產生輸出消息塊。

@ 目錄 前言 一、流式傳輸方式 (一)stream() 同步傳輸 (二)astream() 異步傳輸 1、異步概念 2、asyncio 具體使用 二、自定義流式輸出解析器 結語 前言 本期我們將要介紹的聊天模型中的流式傳輸。什麼是流式傳輸? 簡單來說流式傳輸就是其通過逐步顯示輸出,甚至在完整的響應準備就緒之前顯示部分輸出。 相較於在這之前所學習的.invoke()方法的非流式輸出,其輸出內容是全量返回的,需要所有內容準備就緒後才一併進行輸出。因此導致了用戶等待輸出時間長的問題。而流式輸出的能力將有效改善用戶的體驗。 一、流式傳輸方式 (一)stream() 同步傳輸 在 LangChain 聊天模型中,可以使用其 .stream() 方法,來同步地生成流式響應的效果。而 .stream() 方法返回的是一個迭代器,該迭代器在生成輸出時同步產生輸出消息塊。 [代碼示例略] 通過調試,可看到chunk其實是一個叫做 AIMessageChunk 的東西,它代表 AIMessage 的一部分,也就是消息塊。

@ 目錄 前言 一、流式傳輸方式 (一)stream() 同步傳輸 (二)astream() 異步傳輸 1、異步概念 2、asyncio 具體使用 二、自定義流式輸出解析器 結語 前言 本期我們將要介紹的聊天模型中的流式傳輸。什麼是流式傳輸? 簡單來說流式傳輸就是其通過逐步顯示輸出,甚至在完整的響應準備就緒之前顯示部分輸出。 相較於在這之前所學習的.invoke()方法的非流式輸出,其輸出內容是全量返回的,需要所有內容準備就緒後才一併進行輸出。因此導致了用戶等待輸出時間長的問題。而流式輸出的能力將有效改善用戶的體驗。 一、流式傳輸方式 (一)stream() 同步傳輸 在 LangChain 聊天模型中,可以使用其 .stream() 方法,來同步地生成流式響應的效果。而 .stream() 方法返回的是一個迭代器,該迭代器在生成輸出時同步產生輸出消息塊。 [代碼示例略] 通過調試,可看到chunk其實是一個叫做 AIMessageChunk 的東西,它代表 AIMessage 的一部分,也就是消息塊。這些消息塊還可以直接相加。

@ 目錄 前言 一、流式傳輸方式 (一)stream() 同步傳輸 (二)astream() 異步傳輸 1、異步概念 2、asyncio 具體使用 二、自定義流式輸出解析器 結語 前言 本期我們將要介紹的聊天模型中的流式傳輸。什麼是流式傳輸? 簡單來說流式傳輸就是其通過逐步顯示輸出,甚至在完整的響應準備就緒之前顯示部分輸出。 相較於在這之前所學習的.invoke()方法的非流式輸出,其輸出內容是全量返回的,需要所有內容準備就緒後才一併進行輸出。因此導致了用戶等待輸出時間長的問題。而流式輸出的能力將有效改善用戶的體驗。 一、流式傳輸方式 (一)stream() 同步傳輸 在 LangChain 聊天模型中,可以使用其 .stream() 方法,來同步地生成流式響應的效果。而 .stream() 方法返回的是一個迭代器,該迭代器在生成輸出時同步產生輸出消息塊。 [代碼示例略] 通過調試,可看到chunk其實是一個叫做 AIMessageChunk 的東西,它代表 AIMessage 的一部分,也就是消息塊。這些消息塊還可以直接相加。 (二)astream() 異步傳輸 1、異步概念 關於異步方式 asyncio 之前,我們要介紹 協程和事件循環 另外兩個概念。

最後提醒:每個人的環境不一樣,照抄之前先小步驗證。有了自己的驗證結果,這篇的價值才真正歸你。你怎麼看? 來源|博客園《Langchain簡單快速上手教程(五)——聊天模型之流式傳輸》,https://www.cnblogs.com/mengyingblog/p/22955360.html

程式員技術場技术后端

評論(0)

暫無評論,來搶第一條。