2. langchain中的tool使用 (How to use built-in tools and toolkits_chatglm)
我们可以通过定义一个BaseModel来自定义工具的参数,并创建一个新的实例。通过调用run方法,传入查询参数,使用自定义工具执行Wikipedia查询。同样,我们可以查看自定义工具的名称、描述、参数模式和是否直接返回结果。: {: {: {"): {: {"): {: {"): {: {: {: True通过以上步骤,我们成功使用LangChain和Wikipedia API进行了查询,并展示了
使用LangChain和Wikipedia API进行查询的教程
本教程将介绍如何使用LangChain库和Wikipedia API进行查询,并展示如何自定义工具的名称、描述和参数。
1. 导入必要的库
首先,我们需要导入LangChain库中的WikipediaQueryRun
和WikipediaAPIWrapper
。
from langchain_community.tools import WikipediaQueryRun
from langchain_community.utilities import WikipediaAPIWrapper
2. 创建Wikipedia API包装器
接下来,我们创建一个WikipediaAPIWrapper
实例,设置返回结果的数量和文档内容的最大字符数。
api_wrapper = WikipediaAPIWrapper(top_k_results=1, doc_content_chars_max=100)
3. 创建Wikipedia查询工具
使用上一步创建的api_wrapper
实例,创建一个WikipediaQueryRun
工具。
tool = WikipediaQueryRun(api_wrapper=api_wrapper)
4. 执行查询
通过调用invoke
方法,传入查询参数,执行Wikipedia查询。
print(tool.invoke({"query": "langchain"}))
输出结果如下:
Page: LangChain
Summary: LangChain is a software framework that helps facilitate the integration of
5. 查看工具的属性
我们可以查看工具的名称、描述、参数模式和是否直接返回结果。
print(f"Name: {tool.name}")
print(f"Description: {tool.description}")
print(f"args schema: {tool.args}")
print(f"returns directly?: {tool.return_direct}")
输出结果如下:
Name: wikipedia
Description: A wrapper around Wikipedia. Useful for when you need to answer general questions about people, places, companies, facts, historical events, or other subjects. Input should be a search query.
args schema: {'query': {'description': 'query to look up on wikipedia', 'title': 'Query', 'type': 'string'}}
returns directly?: False
6. 自定义工具
我们可以通过定义一个BaseModel
来自定义工具的参数,并创建一个新的WikipediaQueryRun
实例。
from pydantic import BaseModel, Field
class WikiInputs(BaseModel):
"""Inputs to the wikipedia tool."""
query: str = Field(description="query to look up in Wikipedia, should be 3 or less words")
tool = WikipediaQueryRun(
name="wiki-tool",
description="look up things in wikipedia",
args_schema=WikiInputs,
api_wrapper=api_wrapper,
return_direct=True,
)
7. 使用自定义工具执行查询
通过调用run
方法,传入查询参数,使用自定义工具执行Wikipedia查询。
print(tool.run("langchain"))
输出结果如下:
Page: LangChain
Summary: LangChain is a software framework that helps facilitate the integration of
8. 查看自定义工具的属性
同样,我们可以查看自定义工具的名称、描述、参数模式和是否直接返回结果。
print(f"Name: {tool.name}")
print(f"Description: {tool.description}")
print(f"args schema: {tool.args}")
print(f"returns directly?: {tool.return_direct}")
输出结果如下:
Name: wiki-tool
Description: look up things in wikipedia
args schema: {'query': {'description': 'query to look up in Wikipedia, should be 3 or less words', 'title': 'Query', 'type': 'string'}}
returns directly?: True
通过以上步骤,我们成功使用LangChain和Wikipedia API进行了查询,并展示了如何自定义工具的属性。希望这个教程对你有所帮助!
参考链接:https://python.langchain.com/docs/how_to/tools_builtin/
如果有任何问题,欢迎在评论区提问。
更多推荐
所有评论(0)