日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

把LangChain跑起來的3個(gè)方法

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

掃碼添加小助手

加入工程師交流群

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

基礎(chǔ)功能

LLM 調(diào)用

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

Fake LLM,用于測(cè)試

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

用量記錄

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

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

文檔分割器

向量化

對(duì)接向量存儲(chǔ)與搜索,比如 Chroma、Pinecone、Qdrand

Chains

LLMChain

各種工具 Chain

LangChainHub

測(cè)試 Langchain 工程的 3 個(gè)方法:

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

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))的縮寫,它是一種簡(jiǎn)單的、交互式的編程環(huán)境。

在 REPL 環(huán)境中,用戶可以輸入一條或多條編程語句,系統(tǒng)會(huì)立即執(zhí)行這些語句并輸出結(jié)果。這種方式非常適合進(jìn)行快速的代碼試驗(yàn)和調(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. 注冊(cè)賬號(hào)

2. 創(chuàng)建 Access Tokens

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

Demo:使用模型對(duì)文檔進(jìn)行摘要

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 對(duì)象

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ù),本次日志對(duì)齊即完成。






審核編輯:劉清

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

    關(guān)注

    1

    文章

    807

    瀏覽量

    46963
  • OpenAI
    +關(guān)注

    關(guān)注

    9

    文章

    1252

    瀏覽量

    10293
  • ChatGPT
    +關(guān)注

    關(guān)注

    31

    文章

    1600

    瀏覽量

    10399

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    如何自己設(shè)計(jì)一個(gè)基于RISC-V的SoC架構(gòu),最后可以在FPGA上跑起來

    如何自己設(shè)計(jì)一個(gè)基于RISC-V的SoC架構(gòu),最后可以在FPGA上跑起來
    發(fā)表于 11-11 08:03

    如何讓你的ESP32跑起來

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

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

    Micropython平臺(tái)是如何實(shí)現(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)該從以下幾個(gè)方面來添加鏈接描述看:海風(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

    如何讓u-boot跑起來?

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

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

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

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

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

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

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

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

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

    如何在鴻蒙OS上跑起來第一個(gè)hello world

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

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

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

    Linux 下交叉編譯實(shí)戰(zhàn):跑起來你的第一個(gè) STM32 程序

    跑起來你的第一個(gè)STM32程序。一、準(zhǔn)備工作在開始之前,需要準(zhǔn)備:1、Linux開發(fā)環(huán)境Ubuntu、Debian或其他主流發(fā)行版都可以。2、ARMGCC交叉編譯工具
    的頭像 發(fā)表于 11-24 19:04 ?1092次閱讀
    Linux 下交叉編譯實(shí)戰(zhàn):<b class='flag-5'>跑起來</b>你的第一<b class='flag-5'>個(gè)</b> STM32 程序
    呼伦贝尔市| 神木县| 新绛县| 平果县| 南投县| 霍邱县| 安平县| 和硕县| 邮箱| 调兵山市| 澎湖县| 公安县| 浮梁县| 湄潭县| 灵宝市| 八宿县| 娱乐| 黄山市| 德昌县| 南和县| 苏尼特右旗| 九寨沟县| 长阳| 武平县| 栾川县| 平定县| 鄂托克前旗| 合川市| 堆龙德庆县| 阿鲁科尔沁旗| 尚志市| 河西区| 潮州市| 彭水| 西充县| 冀州市| 晋宁县| 西乡县| 炎陵县| 株洲市| 永春县|