使用 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文章
763浏览量
44125 -
OpenAI
+关注
关注
9文章
1084浏览量
6498 -
ChatGPT
+关注
关注
29文章
1560浏览量
7625
原文标题:把LangChain跑起来的3个方法
文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论