自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

把LangChain跑起來的三個方法

開發(fā) 前端
使用LangChain開發(fā)LLM應(yīng)用時,需要機(jī)器進(jìn)行GLM部署,好多同學(xué)第一步就被勸退了,那么如何繞過這個步驟先學(xué)習(xí)LLM模型的應(yīng)用,對Langchain進(jìn)行快速上手?

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

Langchain官方文檔地址:https://python.langchain.com/

基礎(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

詳細(xì)地址可參考:https://www.langchain.cn/t/topic/35

測試Langchain工程的3個方法:

1 使用Langchian提供的FakeListLLM

為了節(jié)約時間,直接上代碼

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é)果。這種方式非常適合進(jìn)行快速的代碼試驗和調(diào)試。

tools = load_tools(["python_repl"])
responses=[
    "Action: Python REPL\nAction 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,訪問維基百科查詢

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"\n===PROMPT====\n{prompt}\n=====END OF PROMPT======"))

初始化agent

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

使用huggingfacehttps://huggingface.co/docs

1)注冊賬號

2)創(chuàng)建Access Tokens

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

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_store\helloLangChain.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)

作者:京東科技 楊建

來源:京東云開發(fā)者社區(qū)

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2009-04-29 14:40:17

2022-01-10 10:23:07

瀏覽器Vitenode

2023-03-02 23:09:53

Node.jsC++JS

2011-05-04 11:26:47

優(yōu)化

2022-12-06 09:03:44

代碼fork系統(tǒng)

2010-07-13 09:31:08

RubyRuby on Rai

2021-01-22 14:03:34

Flutter系統(tǒng)鴻蒙

2024-05-27 09:01:22

2021-01-12 11:12:58

大數(shù)據(jù)智慧交通

2015-08-04 17:46:19

戴爾anycloud云計算

2023-01-31 07:42:29

代碼JDKMaven

2012-05-15 13:29:20

HTML5

2017-11-17 15:25:02

Java線程安全

2021-11-10 10:00:48

鴻蒙HarmonyOS應(yīng)用

2014-04-18 17:12:00

樂跑手環(huán)

2019-09-03 08:00:00

電腦硬盤程序

2020-04-06 09:05:07

谷歌機(jī)器狗人工智能

2009-06-26 10:10:00

Hibernate狀態(tài)

2019-09-08 23:00:19

GitHub代碼開發(fā)者

2010-03-15 16:34:50

Python字典
點贊
收藏

51CTO技術(shù)棧公眾號