LangChain 内置工具集合

LangChain 工具集合指南

目录

1. 搜索工具 (Search Tools)

通用搜索

from langchain.tools import (
    DuckDuckGoSearchRun,          # DuckDuckGo搜索
    GoogleSearchRun,              # Google搜索
    BingSearchRun,               # Bing搜索
    WikipediaQueryRun,           # 维基百科搜索
)

专业搜索

from langchain.tools import (
    ArXivQueryRun,              # ArXiv论文搜索
    PubMedQueryRun,             # PubMed医学文献搜索
    SceneXplainTool,            # 图像分析
    SearxSearchRun,             # Searx元搜索
)

2. 记忆工具 (Memory)

基础记忆

from langchain.memory import (
    ConversationBufferMemory,      # 简单对话缓存
    ConversationBufferWindowMemory, # 滑动窗口记忆
    ConversationTokenBufferMemory,  # Token限制记忆
)

高级记忆

from langchain.memory import (
    ConversationSummaryMemory,     # 对话摘要记忆
    ConversationSummaryBufferMemory,# 带缓冲的摘要记忆
    ConversationKGMemory,          # 知识图谱记忆
    VectorStoreRetrieverMemory,    # 向量存储记忆
    ConversationEntityMemory,      # 实体记忆
)

持久化记忆

from langchain.memory import (
    FileChatMessageHistory,       # 文件持久化
    RedisChatMessageHistory,      # Redis持久化
    MongoDBChatMessageHistory,    # MongoDB持久化
)

3. 文档工具 (Document Loaders)

文本文档

from langchain.document_loaders import (
    TextLoader,                   # 文本加载器
    UnstructuredTextLoader,       # 非结构化文本
)

办公文档

from langchain.document_loaders import (
    PyPDFLoader,                 # PDF加载器
    DocxLoader,                  # Word文档
    UnstructuredPowerPointLoader, # PPT文档
    CSVLoader,                   # CSV文件
    EverNoteLoader,              # EverNote笔记
)

网页文档

from langchain.document_loaders import (
    WebBaseLoader,               # 网页加载器
    UnstructuredURLLoader,       # URL加载器
    PlaywrightURLLoader,         # Playwright网页加载器
    SeleniumURLLoader,           # Selenium网页加载器
)

代码文档

from langchain.document_loaders import (
    GitHubRepositoryLoader,      # GitHub仓库
    GitLoader,                   # Git仓库
    NotionDirectoryLoader,       # Notion文档
)

4. 数据库工具 (Database Tools)

SQL数据库

from langchain.utilities import SQLDatabase

向量数据库

from langchain.utilities import (
    ChromaDB,                    # ChromaDB
    FAISS,                      # FAISS
    Pinecone,                   # Pinecone
    Weaviate,                   # Weaviate
    Milvus,                     # Milvus
)

5. API工具 (API Tools)

基础API

from langchain.utilities import (
    RequestsWrapper,            # HTTP请求
    TextRequestsWrapper,        # 文本请求
)

专业API

from langchain.utilities import (
    OpenWeatherMapAPIWrapper,   # 天气API
    WolframAlphaAPIWrapper,     # Wolfram Alpha
    SerpAPIWrapper,             # 搜索引擎API
    TwitterAPIWrapper,          # Twitter API
)

6. 代码和执行工具 (Code Tools)

代码执行

from langchain.tools import (
    PythonREPLTool,            # Python REPL
    ShellTool,                 # Shell命令
    CodeAnalyzerTool,          # 代码分析
)

文件操作

from langchain.tools import (
    FileManagementTool,        # 文件管理
    ReadFileTool,              # 文件读取
    WriteFileTool,             # 文件写入
)

7. 多媒体工具 (Multimedia Tools)

图像处理

from langchain.tools import (
    StableDiffusionTool,       # 图像生成
    ImageCaptionTool,          # 图像描述
)

语音处理

from langchain.tools import (
    TextToSpeechTool,          # 文字转语音
    SpeechToTextTool,          # 语音转文字
)

8. 特殊用途工具 (Special Tools)

计算和时间

from langchain.tools import (
    WolframAlphaQueryRun,      # Wolfram Alpha计算
    Calculator,                # 基础计算器
    DatetimeTool,             # 日期时间工具
)

9. 使用指南

安装依赖

pip install langchain[all]  # 安装所有依赖

环境配置

import os
os.environ["OPENAI_API_KEY"] = "你的OpenAI API密钥"
os.environ["SERPAPI_API_KEY"] = "你的SerpAPI密钥"

工具组合示例

from langchain.agents import initialize_agent, Tool
from langchain.chat_models import ChatOpenAI

# 创建LLM
llm = ChatOpenAI(temperature=0)

# 创建工具组合
tools = [
    Tool(
        name="搜索",
        func=DuckDuckGoSearchRun().run,
        description="搜索互联网信息"
    ),
    Tool(
        name="Python执行",
        func=PythonREPLTool().run,
        description="执行Python代码"
    ),
    Tool(
        name="文件读取",
        func=ReadFileTool().run,
        description="读取文件内容"
    )
]

# 创建agent
agent = initialize_agent(
    tools,
    llm,
    agent="zero-shot-react-description",
    verbose=True
)

# 使用agent
response = agent.run("查找并分析最新的Python版本特性")

注意事项

  1. 工具使用前请确认依赖已安装
  2. 注意API密钥的配置和安全性
  3. 关注API使用限制和成本
  4. 根据实际需求选择合适的工具组合
  5. 定期查看官方文档获取更新信息

参考资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘培玉--大王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值