LangChain 六 链

欢迎来到我的LangChain系列,如果您也和我一样,想通过学习LangChain开始AI应用开发。那就请一起来学习它的各个功能模块和demo实例。

LangChain 一 hello LLM - 掘金 (juejin.cn)

LangChain 二 模型 - 掘金 (juejin.cn)

LangChain 三 Data Connections - 掘金 (juejin.cn)

LangChain 四 Prompts

LangChain 五 输出解析器

前言

LangChain将复杂的应用流程"链"了起来,今天,我们一起来学习Chain模块。

链有很多好处, 比如它可以让我们的AI应用更模块化,方便调试和协作。链定义了组件的调用顺序,也包括各式的链,来完成我们的应用开发。

LLMChain

LangChain提供了各式的链,各模块化的组件,当然有相应的链来封装。大模型处理这块,最简单的LLMChain上场了。LLMChain包括以下组件:

  • LLM
  • PromptTemplate   LLM 和Prompt 是AI应用的基础,LLMChain将两者结合封装后,向外提供的运行语义就简单多了。
ini 复制代码
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate

llm = OpenAI(temperature=0, openai_api_key="您的有效openai ai key")
prompt = PromptTemplate(
    input_variables=["color"],
    template="What is the hex code of color {color}?",
)

首先我们实例化了llm和prompt。

ini 复制代码
from langchain.chains import LLMChain
chain = LLMChain(llm=llm, prompt=prompt)

接着, 将llm和prompt组合起来,实例化LLMChain。

bash 复制代码
print(chain.run("green"))
print(chain.run("cyan"))
print(chain.run("magento"))

最后,我们要向大模型提问,就是向LLMChain提问。

LangChainHub

LangChain也提供了一个Hub 来收集并分享常用的LangChain基本元素。github.com/hwchase17/l..., 点开我们可以玩一些Chain。

  • hello world 链

首先,每个链都有一个json文件。

由前几节的内容,我们应该能够理解这个json文件,它里面定义了prompt 的模板、参数,llm的模型、自由度等参数,output_key 表明输出是文本。看完我们就知道怎么用了。

  1. 提示词模版 - 请求LLM回答一个 topic 参数指定的话题的笑话
  2. LLM - OpenAI的 text-davince-003 模型(包括模型相关参数的设置)
  • llm-math

让我们来玩下数学链。

javascript 复制代码
from langchain.chains import load_chain
import os

os.environ['OPENAI_API_KEY'] = "您的有效openai api key"
chain = load_chain("lc://chains/llm-math/chain.json")

在这里, 我们选择从hub里加载。我们加载了load_chain模块,从LangChainHub加载llm-math。

arduino 复制代码
chain.run("whats the area of a circle with radius 2?")

基于math chain 提出计算面积的问题。

vbnet 复制代码
> Entering new LLMMathChain chain...
whats the area of a circle with radius 2?
Answer: 12.566370614359172
> Finished chain.

Answer: 12.566370614359172

总结

本文介绍了LangChain的Chain模块,AI模块化的能力确实得到提升。

参考资料

相关推荐
拾零吖1 天前
李宏毅 Deep Learning
人工智能·深度学习·机器学习
华芯邦1 天前
广东充电芯片助力新能源汽车车载系统升级
人工智能·科技·车载系统·汽车·制造
时空无限1 天前
说说transformer 中的掩码矩阵以及为什么能掩盖住词语
人工智能·矩阵·transformer
查里王1 天前
AI 3D 生成工具知识库:当前产品格局与测评总结
人工智能·3d
武子康1 天前
AI-调查研究-76-具身智能 当机器人走进生活:具身智能对就业与社会结构的深远影响
人工智能·程序人生·ai·职场和发展·机器人·生活·具身智能
小鹿清扫日记1 天前
从蛮力清扫到 “会看路”:室外清洁机器人的文明进阶
人工智能·ai·机器人·扫地机器人·具身智能·连合直租·有鹿巡扫机器人
fanstuck1 天前
Prompt提示工程上手指南(六):AI避免“幻觉”(Hallucination)策略下的Prompt
人工智能·语言模型·自然语言处理·nlp·prompt
zhangfeng11331 天前
win7 R 4.4.0和RStudio1.25的版本兼容性以及系统区域设置有关 导致Plots绘图面板被禁用,但是单独页面显示
开发语言·人工智能·r语言·生物信息
DogDaoDao1 天前
神经网络稀疏化设计构架方法和原理深度解析
人工智能·pytorch·深度学习·神经网络·大模型·剪枝·网络稀疏
花酒锄作田1 天前
[MCP][02]快速入门MCP开发
llm·mcp