当前位置:首页 > 科技  > 软件

把LangChain跑起来的三个方法

来源: 责编: 时间:2023-08-05 11:44:41 5365观看
导读使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来的方法,如有错误欢迎纠正。Langchain官方文档

使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来的方法,如有错误欢迎纠正。UyV28资讯网——每日最新资讯28at.com

Langchain官方文档地址:https://python.langchain.com/UyV28资讯网——每日最新资讯28at.com

基础功能

LLM 调用UyV28资讯网——每日最新资讯28at.com

  • 支持多种模型接口,比如 OpenAI、HuggingFace、AzureOpenAI …
  • Fake LLM,用于测试
  • 缓存的支持,比如 in-mem(内存)、SQLite、Redis、SQL
  • 用量记录
  • 支持流模式(就是一个字一个字的返回,类似打字效果)

Prompt管理,支持各种自定义模板UyV28资讯网——每日最新资讯28at.com

拥有大量的文档加载器,比如 Email、Markdown、PDF、Youtube …UyV28资讯网——每日最新资讯28at.com

对索引的支持UyV28资讯网——每日最新资讯28at.com

  • 文档分割器
  • 向量化
  • 对接向量存储与搜索,比如 Chroma、Pinecone、Qdrand

ChainsUyV28资讯网——每日最新资讯28at.com

  • LLMChain
  • 各种工具Chain
  • LangChainHub

详细地址可参考:https://www.langchain.cn/t/topic/35UyV28资讯网——每日最新资讯28at.com

测试Langchain工程的3个方法:

1 使用Langchian提供的FakeListLLM

为了节约时间,直接上代码UyV28资讯网——每日最新资讯28at.com

UyV28资讯网——每日最新资讯28at.com

import osfrom decouple import configfrom langchain.agents import initialize_agentfrom langchain.agents import AgentTypefrom langchain.agents import load_tools

这里mock下ChatGPT,使用mockLLmUyV28资讯网——每日最新资讯28at.com

#from langchain.llms import OpenAIfrom langchain.llms.fake import FakeListLLMos.environ["OPENAI_API_KEY"] = config('OPENAI_API_KEY')

REPL 是 “Read–Eval–Print Loop”(读取-求值-打印-循环)的缩写,它是一种简单的、交互式的编程环境。UyV28资讯网——每日最新资讯28at.com

在 REPL 环境中,用户可以输入一条或多条编程语句,系统会立即执行这些语句并输出结果。这种方式非常适合进行快速的代码试验和调试。UyV28资讯网——每日最新资讯28at.com

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,访问维基百科查询

UyV28资讯网——每日最新资讯28at.com

from langchain.llms.human import HumanInputLLMfrom langchain.agents import load_toolsfrom langchain.agents import initialize_agentfrom langchain.agents import AgentTypefrom wikipedia import set_lang

使用维基百科工具UyV28资讯网——每日最新资讯28at.com

tools = load_tools(["wikipedia"])

这里必须要设置为中文url前缀,不然访问不了UyV28资讯网——每日最新资讯28at.com

set_lang("zh")

初始化LLMUyV28资讯网——每日最新资讯28at.com

llm = HumanInputLLM(prompt_func=lambda prompt: print(f"/n===PROMPT====/n{prompt}/n=====END OF PROMPT======"))

初始化agentUyV28资讯网——每日最新资讯28at.com

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

使用huggingfacehttps://huggingface.co/docs

1)注册账号UyV28资讯网——每日最新资讯28at.com

2)创建Access TokensUyV28资讯网——每日最新资讯28at.com

UyV28资讯网——每日最新资讯28at.com

Demo: 使用模型对文档进行摘要UyV28资讯网——每日最新资讯28at.com

UyV28资讯网——每日最新资讯28at.com

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,使用HUGGINGFACEHUBUyV28资讯网——每日最新资讯28at.com

os.environ["HUGGINGFACEHUB_API_TOKEN"] = config('HUGGINGFACEHUB_API_TOKEN')

导入文本UyV28资讯网——每日最新资讯28at.com

loader = UnstructuredFileLoader("docment_store/helloLangChain.txt")

将文本转成 Document 对象UyV28资讯网——每日最新资讯28at.com

document = loader.load()print(f'documents:{len(document)}')

初始化文本分割器UyV28资讯网——每日最新资讯28at.com

text_splitter = RecursiveCharacterTextSplitter(    chunk_size = 500,    chunk_overlap = 0)

切分文本UyV28资讯网——每日最新资讯28at.com

split_documents = text_splitter.split_documents(document)print(f'documents:{len(split_documents)}')

加载 LLM 模型UyV28资讯网——每日最新资讯28at.com

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)

创建总结链UyV28资讯网——每日最新资讯28at.com

chain = load_summarize_chain(llm, chain_type="refine", verbose=True)

执行总结链UyV28资讯网——每日最新资讯28at.com

chain.run(split_documents)

作者:京东科技 杨建UyV28资讯网——每日最新资讯28at.com

来源:京东云开发者社区UyV28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-84-0.html把LangChain跑起来的三个方法

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Automa-通过连接块来自动化你的浏览器

下一篇: 一文看懂为苹果Vision Pro开发应用程序

标签:
  • 热门焦点
  • 俄罗斯:将审查iPhone等外国公司设备 保数据安全

    iPhone和特斯拉都属于在各自领域领头羊的品牌,推出的产品也也都是数一数二的,但对于一些国家而言,它们的产品可靠性和安全性还是在限制范围内。近日,俄罗斯联邦通信、信息技术
  • 8月总票房已突破10亿!《封神》第一:口碑已经成了

    8月5日消息,据灯塔专业版数据,截至8月5日9时35分,8月总票房(含预售)已突破10亿。其中,《封神》以大比分的优势领先。根据官方消息,目前该片总票房已经超过14.
  • 0糖0卡0脂 旭日森林仙草乌龙茶优惠:15瓶到手29元

    旭日森林无糖仙草乌龙茶510ml*15瓶平时要卖为79.9元,今日下单领取50元优惠券,到手价为29.9元。产品规格:0糖0卡0脂,添加草本仙草汁,清凉爽口,富含茶多酚,保留
  • 把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • 一文看懂为苹果Vision Pro开发应用程序

    译者 | 布加迪审校 | 重楼苹果的Vision Pro是一款混合现实(MR)头戴设备。Vision Pro结合了虚拟现实(VR)和增强现实(AR)的沉浸感。其高分辨率显示屏、先进的传感器和强大的处理能力
  • 慕岩炮轰抖音,百合网今何在?

    来源:价值研究所 作者:Hernanderz“难道就因为自己的一个产品牛逼了,从客服到总裁,都不愿意正视自己产品和运营上的问题,选择逃避了吗?”这一番话,出自百合网联合创
  • 重估百度丨大模型,能撑起百度的“今天”吗?

    自象限原创 作者|程心 罗辑2023年之前,对于自己的“今天”,百度也很迷茫。“新业务到 2022 年底还是 0,希望 2023 年出来一个 1。”这是2022年底,李彦宏
  • 与兆芯合作 联想推出全新旗舰版笔记本电脑开天N7系列

    联想与兆芯合作推出全新联想旗舰版笔记本电脑开天 N7系列。这个系列采用兆芯KX-6640MA处理器平台,KX-6640MA 处理器是采用了陆家嘴架构,16nm 工艺,4 核 4 线
  • 电博会与软博会实现"线下+云端"的双线融合

    在本次“电博会”与“软博会”双展会利好条件的加持下,既可以发挥展会拉动人流、信息流、资金流实现快速交互流动的作用,继而推动区域经济良性发展;又可以聚
Top