IIWAB LangChain的6个模块 - IIWAB

LangChain的6个模块

IIWAB 19天前 ⋅ 64 阅读

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的整数和")


全部评论: 0

    我有话说: