1. Model I/O
功能
该模块负责与各类语言模型进行交互,可向模型发送输入提示并接收输出。它支持多种语言模型,像OpenAI的GPT系列、Hugging Face上的模型等。
样例
以下代码展示了如何使用Model I/O模块调用OpenAI的GPT模型:
from langchain.llms import OpenAI
import os
# 设置OpenAI API密钥
os.environ["OPENAI_API_KEY"] = "api_key"
# 初始化OpenAI语言模型
llm = OpenAI(temperature=0.7)
# 调用模型生成文本
text = llm("介绍一下Python编程语言")
print(text)
2. Prompts
功能
此模块用于构建和管理提示模板。提示模板能够把用户输入和特定任务指令结合起来,引导语言模型生成符合要求的输出。
样例
下面的代码展示了如何使用提示模板:
from langchain.prompts import PromptTemplate
# 定义提示模板
prompt = PromptTemplate(
input_variables=["topic"],
template="请简要介绍一下 {topic}。"
)
# 格式化提示
formatted_prompt = prompt.format(topic="人工智能")
print(formatted_prompt)
3. Chains
功能
Chains模块可将多个组件组合成特定的处理流程,每个步骤可以是语言模型调用、提示模板生成等。
样例
以下代码展示了如何创建一个简单的链:
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
import os
os.environ["OPENAI_API_KEY"] = "api_key"
# 初始化语言模型
llm = OpenAI(temperature=0.7)
# 定义提示模板
prompt = PromptTemplate(
input_variables=["topic"],
template="请简要介绍一下 {topic}。"
)
# 创建链
chain = LLMChain(llm=llm, prompt=prompt)
# 运行链
result = chain.run("区块链技术")
print(result)
4. Agents
功能
Agents模块能依据给定任务和环境信息,动态决定采取何种行动完成任务。它会结合语言模型能力和一系列工具。
样例
以下是一个简单的使用Agent的例子:
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.llms import OpenAI
import os
os.environ["OPENAI_API_KEY"] = "api_key"
os.environ["SERPAPI_API_KEY"] = "serpapi_api_key"
# 初始化语言模型
llm = OpenAI(temperature=0)
# 加载工具
tools = load_tools(["serpapi"], llm=llm)
# 初始化Agent
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)
# 运行Agent
agent.run("今天北京的天气如何?")
5. Memory
功能
Memory模块负责存储和管理应用程序运行过程中的相关信息,如对话历史、中间计算结果等,为应用提供上下文感知能力。
样例
以下代码展示了如何在对话系统中使用内存:
from langchain.llms import OpenAI
from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory
import os
os.environ["OPENAI_API_KEY"] = "api_key"
# 初始化语言模型
llm = OpenAI(temperature=0)
# 初始化内存
memory = ConversationBufferMemory()
# 创建对话链
conversation = ConversationChain(
llm=llm,
verbose=True,
memory=memory
)
# 进行对话
print(conversation.predict(input="好!"))
print(conversation.predict(input="能做什么?"))
6. Tools
功能
Tools模块允许LangChain集成各种外部工具,为语言模型提供额外信息和功能。
样例
以下代码展示了如何使用Python REPL工具:
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.llms import OpenAI
import os
os.environ["OPENAI_API_KEY"] = "api_key"
# 初始化语言模型
llm = OpenAI(temperature=0)
# 加载工具
tools = load_tools(["python_repl"], llm=llm)
# 初始化Agent
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)
# 运行Agent解决Python相关问题
agent.run("计算1到100的整数和")
注意:本文归作者所有,未经作者允许,不得转载