一文总结:AI大模型之LangChain基础用法
Python与算法社区
共 3088字,需浏览 7分钟
·
2024-05-03 10:56
你好,我是郭震
现在或未来最火的无疑是AI大模型开发,现在去boss直聘,随便一搜大模型开发,岗位薪资是下面这样的。工资高,还有前景,这不就是风口吗。
AI大模型开发中最重要的一个框架就是LangChain,今天我们先来看看它的简介和基础用法。
LangChain 框架简介
LangChain 是一个用于简化和扩展大型语言模型(LLMs)开发的 Python 框架。它提供了多种工具和组件来构建复杂的应用,帮助开发者将 LLMs 与各种数据源和工具集成。
基础组件
LangChain 的几个关键组件有:
-
Chains(链) Chains 允许开发者将一系列操作组合在一起以实现复杂的工作流。链中的每一步通常会调用不同的模型或工具。
from langchain.chains import SimpleSequentialChain
from langchain.prompts import PromptTemplate
from langchain.llms import OpenAI
# 定义 PromptTemplate
prompt = PromptTemplate(input_variables=["input"], template="Tell me a joke about {input}.")
# 使用 OpenAI 模型
llm = OpenAI()
# 创建一个简单的链
chain = SimpleSequentialChain(chains=[llm], input_prompt=prompt)
joke = chain.run(input="cats")
print(joke)
-
Agents(代理) 代理是一种能够根据输入自主选择执行哪些操作的组件。代理通常可以调用工具或查询信息来执行复杂的任务。
from langchain.agents import initialize_agent, Tool
from langchain.llms import OpenAI
# 定义工具
tools = [
Tool(
name="Calculator",
func=lambda x: eval(x),
description="Performs basic arithmetic operations."
)
]
# 创建代理
llm = OpenAI()
agent = initialize_agent(tools, llm, agent_type="zero-shot-react-description")
result = agent.run("What is 2 + 2?")
print(result)
-
Memory(记忆) Memory 是为模型添加上下文记忆的组件,可以使代理或链在多轮对话中保持上下文。
from langchain.memory import ConversationBufferMemory
from langchain.llms import OpenAI
from langchain.chains import ConversationChain
# 创建记忆组件
memory = ConversationBufferMemory()
# 创建对话链
llm = OpenAI()
conversation = ConversationChain(llm=llm, memory=memory)
conversation.run("Hello, I'm a student.")
response = conversation.run("Can you recommend any good books?")
print(response)
-
Tools(工具) Tools 是帮助代理执行特定任务的插件。可以是计算器、搜索引擎或数据库查询。
总结
LangChain 提供了一套完整的组件来简化 LLM 应用的开发。通过 Chains 组织工作流、利用 Agents 实现自主决策、用 Memory 保持上下文以及通过 Tools 扩展功能,开发者可以轻松构建功能丰富的 LLM 应用。
评论