把LangChain跑起来的3个方法

使用 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 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 replaction 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 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===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 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_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.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)  
 leader 所有的数据,本次日志对齐即完成。


小家电管道缺水检测传感器(非接触式)
新品发布——莫之比呼吸心率监测毫米波雷达正式面市
电阻是如何实现上下拉功能的呢?
Dialog高度集成的SMPS嵌入式电源解决方案
聚焦MEMS技术创新与产业链重塑
把LangChain跑起来的3个方法
大疆回应被列入实体清单:公司将“继续在美国销售”
“智能电视+电竞级游戏显示器+云游戏平台”,这台游戏智屏真会玩
LED产品可靠性试验与应用
空调常见故障及其维修
KASITE-SKD微型加工设备:微型零件超高精密加工解决方案
一文详解光的偏振
iPhone7Plus的配置如何?多少钱?
深度解析2023年机器视觉行业的十大预测
人工智能生态将带来什么
小米5:晓龙820+指纹识别,是一款性价比不错的手机
物联网芯片面临的难题有哪些
汽车电子系统中处理器的选择
2015Wifi行业发生了什么大事?
华为“作战室”建设纪要