99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

把LangChain跑起來的3個方法

OSC開源社區(qū) ? 來源:OSCHINA 社區(qū) ? 2023-07-05 09:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

使用 LangChain 開發(fā) LLM 應(yīng)用時,需要機器進行 GLM 部署,好多同學(xué)第一步就被勸退了,那么如何繞過這個步驟先學(xué)習(xí) LLM 模型的應(yīng)用,對 Langchain 進行快速上手?本片講解 3 個把 LangChain 跑起來的方法,如有錯誤歡迎糾正。

基礎(chǔ)功能

LLM 調(diào)用

支持多種模型接口,比如 OpenAI、HuggingFace、AzureOpenAI …

Fake LLM,用于測試

緩存的支持,比如 in-mem(內(nèi)存)、SQLite、Redis、SQL

用量記錄

支持流模式(就是一個字一個字的返回,類似打字效果)

Prompt 管理,支持各種自定義模板 擁有大量的文檔加載器,比如 Email、Markdown、PDF、Youtube … 對索引的支持

文檔分割器

向量化

對接向量存儲與搜索,比如 Chroma、Pinecone、Qdrand

Chains

LLMChain

各種工具 Chain

LangChainHub

測試 Langchain 工程的 3 個方法:

1 使用 Langchian 提供的 FakeListLLM 為了節(jié)約時間,直接上代碼

1f2f3f88-1a58-11ee-962d-dac502259ad0.png

import os
from decouple import config
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.agents import load_tools

這里 mock 下 ChatGPT, 使用 mockLLm

#from langchain.llms import OpenAI
from langchain.llms.fake import FakeListLLM
os.environ["OPENAI_API_KEY"] = config('OPENAI_API_KEY')

REPL 是 “Read–Eval–Print Loop”(讀取 - 求值 - 打印 - 循環(huán))的縮寫,它是一種簡單的、交互式的編程環(huán)境。

在 REPL 環(huán)境中,用戶可以輸入一條或多條編程語句,系統(tǒng)會立即執(zhí)行這些語句并輸出結(jié)果。這種方式非常適合進行快速的代碼試驗和調(diào)試。

tools = load_tools(["python_repl"])
responses=[
    "Action: Python REPL
Action Input: chatGpt原理",
    "Final Answer: mock答案"
]
llm = FakeListLLM(responses=responses)
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
agent.run("chatGpt原理2")
2 使用 Langchian 提供的 HumanInputLLM,訪問維基百科查詢

1f46da9e-1a58-11ee-962d-dac502259ad0.png
from langchain.llms.human import HumanInputLLM
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from wikipedia import set_lang

使用維基百科工具

tools = load_tools(["wikipedia"])

這里必須要設(shè)置為中文 url 前綴,不然訪問不了

set_lang("zh")

初始化 LLM

llm = HumanInputLLM(prompt_func=lambda prompt: print(f"
===PROMPT====
{prompt}
=====END OF PROMPT======"))

初始化 agent

agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
agent.run("喜羊羊")
3使用 huggingface

1. 注冊賬號

2. 創(chuàng)建 Access Tokens

1f60307a-1a58-11ee-962d-dac502259ad0.png

Demo:使用模型對文檔進行摘要

1f731bae-1a58-11ee-962d-dac502259ad0.png
from langchain.document_loaders import UnstructuredFileLoader
from langchain.chains.summarize import load_summarize_chain
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain import HuggingFaceHub
import os
from decouple import config

from langchain.agents import load_tools

這里 mock 下 ChatGPT, 使用 HUGGINGFACEHUB

os.environ["HUGGINGFACEHUB_API_TOKEN"] = config('HUGGINGFACEHUB_API_TOKEN')

導(dǎo)入文本

loader = UnstructuredFileLoader("docment_storehelloLangChain.txt")

將文本轉(zhuǎn)成 Document 對象

document = loader.load()
print(f'documents:{len(document)}')

初始化文本分割器

text_splitter = RecursiveCharacterTextSplitter(
    chunk_size = 500,
    chunk_overlap = 0
)

切分文本

split_documents = text_splitter.split_documents(document)
print(f'documents:{len(split_documents)}')

加載 LLM 模型

overal_temperature = 0.1
flan_t5xxl = HuggingFaceHub(repo_id="google/flan-t5-xxl", 
                         model_kwargs={"temperature":overal_temperature, 
                                       "max_new_tokens":200}
                         ) 

llm = flan_t5xxl
tools = load_tools(["llm-math"], llm=llm)

創(chuàng)建總結(jié)鏈

chain = load_summarize_chain(llm, chain_type="refine", verbose=True)

執(zhí)行總結(jié)鏈

chain.run(split_documents)

Leader 所有的數(shù)據(jù),本次日志對齊即完成。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    783

    瀏覽量

    45135
  • OpenAI
    +關(guān)注

    關(guān)注

    9

    文章

    1208

    瀏覽量

    8914
  • ChatGPT
    +關(guān)注

    關(guān)注

    29

    文章

    1589

    瀏覽量

    9099

原文標(biāo)題:把LangChain跑起來的3個方法

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    智能車淺談——手把手讓車跑起來(電磁篇)

    前言電磁尋跡小車之前智能車系列已經(jīng)做了一比較詳細的解析,但是美中不足是知識點被拆的太零散,可能對于新手來說不太友好,所以借著有空就再寫一點能讓車跑起來的方案。當(dāng)然,也就僅僅限于可以跑起來,元素
    的頭像 發(fā)表于 05-22 19:32 ?2145次閱讀
    智能車淺談——手把手讓車<b class='flag-5'>跑起來</b>(電磁篇)

    S3c6410六層核心板原理+PCB板圖,絕對能跑起來!

    `以前的項目資料,投過板,出過產(chǎn)品,絕對能跑起來!`
    發(fā)表于 12-26 17:26

    如何讓你的ESP32跑起來

    ESP32是了國內(nèi)樂鑫科技推出的Wifi&藍牙物聯(lián)網(wǎng)MCU,而最近項目正好在用ESP32,所以我們今天就來分享下,如何讓你的ESP32跑起來,并應(yīng)用于更多實際項目。1ESP32簡...
    發(fā)表于 07-16 06:57

    Micropython平臺是如何實現(xiàn)在NUCLEO-F401RE開發(fā)板跑起來

    Micropython平臺是如何實現(xiàn)在NUCLEO-F401RE開發(fā)板跑起來的?有哪些操作流程?
    發(fā)表于 11-08 08:03

    怎樣讓自己編譯的uboot跑起來

    小目標(biāo):讓自己編譯的uboot跑起來參考:wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO首先熟悉一下板子和開發(fā)流程。維基主要參考《使用全志原廠BSP
    發(fā)表于 11-08 06:37

    程序能跑起來就是很好的c代碼嗎

    程序能跑起來并不見得你的代碼就是很好的c代碼了,衡量代碼的好壞應(yīng)該從以下幾個方面來添加鏈接描述看:海風(fēng)教育投訴1,代碼穩(wěn)定,沒有隱患。2,執(zhí)行效率高。3,可讀性高。4,便于移植。
    發(fā)表于 11-23 08:00

    如何利用XR806開發(fā)板讓hello跑起來?

    如何利用XR806開發(fā)板讓hello跑起來
    發(fā)表于 12-29 06:16

    在板子上系統(tǒng)跑起來后怎么查看屏幕驅(qū)動

    請問一下,在板子上系統(tǒng)跑起來后怎么查看屏幕驅(qū)動
    發(fā)表于 01-10 06:24

    如何讓u-boot跑起來?

    如何讓u-boot跑起來?
    發(fā)表于 01-26 08:26

    如何借助STM32CubeProgrammer輕松將STM32MP1開發(fā)板跑起來

    在之前發(fā)布的一文中,我們獲悉了如何借助STM32CubeProgrammer,輕松將STM32MP1開發(fā)板跑起來。在STM32MP1開發(fā)板跑起來之后,我們相當(dāng)于有了一臺微型嵌入式PC,可以支持多種
    發(fā)表于 02-22 06:07

    STM32如何區(qū)分程序跑起來用的是HSE還是HSI呢?

    本人用過f103和f030,為了取功耗低的方案,內(nèi)部外部晶振都試過。但是有很多情況下,配置錯了,程序貌似會自己跑內(nèi)部晶振去了;一般單片機如果外部晶振跑起來應(yīng)該在晶振那兩腳會有波形。如果是按照我這種方法
    發(fā)表于 05-05 10:47

    Zynq 7015 linux跑起來之導(dǎo)入之BOOT.bin生成詳解

    本文主要介紹Zynq 7015 linux跑起來之導(dǎo)入之BOOT.bin生成,具體的跟隨小編一起來了解一下。
    的頭像 發(fā)表于 06-27 10:01 ?7951次閱讀

    FreeRTOS_003 _讓系統(tǒng)在板子上跑起來

    FreeRTOS_003_讓系統(tǒng)在板子上跑起來
    的頭像 發(fā)表于 03-14 11:25 ?3150次閱讀
    FreeRTOS_003 _讓系統(tǒng)在板子上<b class='flag-5'>跑起來</b>

    如何在鴻蒙OS上跑起來第一hello world

    咱們一起來跟著一位網(wǎng)友學(xué)習(xí)一下如何跑起來第一hello world,原文如下: 前序 1.1 官網(wǎng): https://www.harmonyos.com網(wǎng)上搜索第一不是官方是三方
    的頭像 發(fā)表于 09-28 10:55 ?2167次閱讀
    如何在鴻蒙OS上<b class='flag-5'>跑起來</b>第一<b class='flag-5'>個</b>hello world

    windows安裝ubuntu并讓pioneer1應(yīng)用程序跑起來的過程

    本文介紹在windows下安裝ubuntu并且讓pioneer1的應(yīng)用程序跑起來的全過程。雖然安裝ubuntu不是本文重點,但是還是啰嗦地寫一遍吧。
    的頭像 發(fā)表于 10-23 10:41 ?2667次閱讀
    windows安裝ubuntu并讓pioneer1應(yīng)用程序<b class='flag-5'>跑起來</b>的過程