Redian新闻
>
把LangChain跑起来的3个方法

把LangChain跑起来的3个方法

公众号新闻

来源 | OSCHINA 社区

作者 | 京东云开发者

原文链接:https://my.oschina.net/u/4090830/blog/10086279


使用 LangChain 开发 LLM 应用时,需要机器进行 GLM 部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习 LLM 模型的应用,对 Langchain 进行快速上手?本片讲解 3 个把 LangChain 跑起来的方法,如有错误欢迎纠正。
Langchain 官方文档地址:https://python.langchain.com/

基础功能

LLM 调用
  • 支持多种模型接口,比如 OpenAI、HuggingFace、AzureOpenAI …

  • Fake LLM,用于测试

  • 缓存的支持,比如 in-mem(内存)、SQLite、Redis、SQL

  • 用量记录

  • 支持流模式(就是一个字一个字的返回,类似打字效果)

Prompt 管理,支持各种自定义模板
拥有大量的文档加载器,比如 Email、Markdown、PDF、Youtube …
对索引的支持
  • 文档分割器

  • 向量化

  • 对接向量存储与搜索,比如 Chroma、Pinecone、Qdrand

Chains
  • LLMChain

  • 各种工具 Chain

  • LangChainHub

详细地址可参考:
https://www.langchain.cn/t/topic/35


测试 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\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"])

这里必须要设置为中文 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("喜羊羊")
使用 huggingface
https://huggingface.co/docs
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_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.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 所有的数据,本次日志对齐即完成。


END



人大毕业生盗取全校学生信息建颜值打分网站,已被刑拘




这里有最新开源资讯、软件更新、技术干货等内容

点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
墨尔本人每年必花的这笔钱,3个方法可以省下几百刀!Myopia Soaring Among Chinese School Students: New Survey第 九 章专访ChatGPT背后的科学家:OpenAI的300人工作方法论你真的有让自己「好好休息」吗?让自己松弛下来的5个方法黑马AIGC峰会在京举行;中国首个科创大模型“黑马天启”问世;“黑马AIGC产业服务联盟”成立;“黑马AIGC产业营”正式启动房子一天卖掉了客户、渠道、方法,设计业务需要反复问自己的3个问题推荐35款 SpringBoot/SpringCloud 开源项目,附源码6 Killed in Guangdong Kindergarten Attack, Including 3 Children凸嘴影响颜值怎么办?1 个方法改善(附自测方法哀伤的中年,外婆离世三十年祭(2)【城事】巴黎市长将重修Châtelet 广场以方便行人论文变播客:如何用LangChain快速生成知识类播客?| AIGC应用实操系列第二期谷歌联合创始人回归做AI;ChatGPT上线自定义指令功能;DeepMind迭代AI设计芯片方法丨AIGC大事日报让自己处于“高能量”状态的3个方法第一次见跑起来像兔子的狗产后屁股大、大腿粗、假胯宽?这3个方法让你快速恢复!(建议收藏)What’s Keeping China From Moving Up the Value Chain?巴黎市长将重修Châtelet 广场以方便行人宝宝体重不长,先从这3个方面找原因与自己和解的3个方式:放平心态、放慢脚步、放低期待In Northeast China, a New ‘Fangcang’ Hospital Sparks Uproar眩晕开“氟桂利嗪”,这3个方面千万要注意!【𝐂𝐚𝐥𝐧𝐢𝐊𝐞𝐚𝐧双皮奶无痕内裤】49元三条!巨巨巨好穿 !!简直就是辣妹顶配,食品级冰箱收纳盒【一日团】Searching for Belonging Between China and Europe中国2022年的超额死亡为27万人晚晴To Stop Teen From Moving, Chongqing Mom Flees With School Papers𝐂𝐚𝐥𝐧𝐢𝐊𝐞𝐚𝐧双皮奶内衣裤,软弹有度,上身0束缚~在法国犯人都圈(juān)不进去了还不同意多建点监狱?为啥呀?拯救节后不适综合症,让你爱上工作的3个方法ChatGPT开放联网和插件;三星发力AIGC平台;中文在线启用AI主播丨AIGC大事日报户外跑起来!PUMA运动服饰清仓 低至5折+额外7折!Erklärung zur Zusammenarbeit
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。