使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来的方法,如有错误欢迎纠正。
Langchain官方文档地址:https://python.langchain.com/
LLM 调用
Prompt管理,支持各种自定义模板
拥有大量的文档加载器,比如 Email、Markdown、PDF、Youtube …
对索引的支持
Chains
详细地址可参考:https://www.langchain.cn/t/topic/35
为了节约时间,直接上代码
import osfrom decouple import configfrom langchain.agents import initialize_agentfrom langchain.agents import AgentTypefrom langchain.agents import load_tools
这里mock下ChatGPT,使用mockLLm
#from langchain.llms import OpenAIfrom langchain.llms.fake import FakeListLLMos.environ["OPENAI_API_KEY"] = config('OPENAI_API_KEY')
REPL 是 “Read–Eval–Print Loop”(读取-求值-打印-循环)的缩写,它是一种简单的、交互式的编程环境。
在 REPL 环境中,用户可以输入一条或多条编程语句,系统会立即执行这些语句并输出结果。这种方式非常适合进行快速的代码试验和调试。
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")
from langchain.llms.human import HumanInputLLMfrom langchain.agents import load_toolsfrom langchain.agents import initialize_agentfrom langchain.agents import AgentTypefrom wikipedia import set_lang
使用维基百科工具
tools = load_tools(["wikipedia"])
这里必须要设置为中文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("喜羊羊")
1)注册账号
2)创建Access Tokens
Demo: 使用模型对文档进行摘要
from langchain.document_loaders import UnstructuredFileLoaderfrom langchain.chains.summarize import load_summarize_chainfrom langchain.text_splitter import RecursiveCharacterTextSplitterfrom langchain import HuggingFaceHubimport osfrom decouple import configfrom langchain.agents import load_tools
这里mock下ChatGPT,使用HUGGINGFACEHUB
os.environ["HUGGINGFACEHUB_API_TOKEN"] = config('HUGGINGFACEHUB_API_TOKEN')
导入文本
loader = UnstructuredFileLoader("docment_store/helloLangChain.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.1flan_t5xxl = HuggingFaceHub(repo_id="google/flan-t5-xxl", model_kwargs={"temperature":overal_temperature, "max_new_tokens":200} ) llm = flan_t5xxltools = load_tools(["llm-math"], llm=llm)
创建总结链
chain = load_summarize_chain(llm, chain_type="refine", verbose=True)
执行总结链
chain.run(split_documents)
作者:京东科技 杨建
来源:京东云开发者社区
本文链接:http://www.28at.com/showinfo-26-84-0.html把LangChain跑起来的三个方法
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com