使用 LangChain 開發 LLM 應用時,需要機器進行 GLM 部署,好多同學第一步就被勸退了,那么如何繞過這個步驟先學習 LLM 模型的應用,對 Langchain 進行快速上手?本片講解 3 個把 LangChain 跑起來的方法,如有錯誤歡迎糾正。
基礎功能
LLM 調用
支持多種模型接口,比如 OpenAI、HuggingFace、AzureOpenAI …
Fake LLM,用于測試
緩存的支持,比如 in-mem(內存)、SQLite、Redis、SQL
用量記錄
支持流模式(就是一個字一個字的返回,類似打字效果)
Prompt 管理,支持各種自定義模板 擁有大量的文檔加載器,比如 Email、Markdown、PDF、Youtube … 對索引的支持
文檔分割器
向量化
對接向量存儲與搜索,比如 Chroma、Pinecone、Qdrand
Chains
LLMChain
各種工具 Chain
LangChainHub
測試 Langchain 工程的 3 個方法:
1 使用 Langchian 提供的 FakeListLLM 為了節約時間,直接上代碼
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”(讀取 - 求值 - 打印 - 循環)的縮寫,它是一種簡單的、交互式的編程環境。
在 REPL 環境中,用戶可以輸入一條或多條編程語句,系統會立即執行這些語句并輸出結果。這種方式非常適合進行快速的代碼試驗和調試。
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,訪問維基百科查詢
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"])
這里必須要設置為中文 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. 創建 Access Tokens
Demo:使用模型對文檔進行摘要
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')
導入文本
loader = UnstructuredFileLoader("docment_storehelloLangChain.txt")
將文本轉成 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)
創建總結鏈
chain = load_summarize_chain(llm, chain_type="refine", verbose=True)
執行總結鏈
chain.run(split_documents)
Leader 所有的數據,本次日志對齊即完成。
審核編輯:劉清
-
SQL
+關注
關注
1文章
760瀏覽量
44080 -
OpenAI
+關注
關注
9文章
1044瀏覽量
6411 -
ChatGPT
+關注
關注
29文章
1548瀏覽量
7505
原文標題:把LangChain跑起來的3個方法
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論