Skip to main content

WatsonxToolkit

这将帮助你快速入门 WatsonxToolkit。如需查看 WatsonxToolkit 所有功能和配置的详细文档,请访问 API 参考文档

该工具包包含以下工具:

名称描述
GoogleSearch搜索在线趋势、新闻、时事、实时信息或研究主题。
WebCrawler在需要对网页进行摘要时非常有用。不要用于网络搜索。
SDXLTurbo使用 Stability.ai 从文本生成图像。
Weather查询某个城市的天气。
RAGQuery在向量索引中搜索文档。

集成详情

Python 支持包的最新版本
WatsonxToolkit@langchain/communityNPM - 版本

配置

如果你想获得各个工具运行时的自动追踪,也可以通过取消注释以下内容来设置你的 LangSmith API 密钥:

typescript process.env.LANGSMITH_TRACING="true" process.env.LANGSMITH_API_KEY="your-api-key"

安装

此工具包位于 @langchain/community 包中:

`{=mdx} import IntegrationInstallTooltip from “@mdx_components/integration_install_tooltip.mdx”; import Npm2Yarn from “@theme/Npm2Yarn”;

@langchain/community @langchain/core
\`

实例化

现在我们可以实例化我们的工具包:

import { WatsonxToolkit } from "@langchain/community/agents/toolkits/ibm";
import "dotenv/config";

const toolkit = await WatsonxToolkit.init({
version: "2024-05-31",
serviceUrl: process.env.WATSONX_AI_SERVICE_URL,
});
[Module: null prototype] { default: {} }

工具

查看可用工具:

const tools = toolkit.getTools();

console.log(
tools.map((tool) => ({
name: tool.name,
description: tool.description,
}))
);
[
{
name: "GoogleSearch",
description: "Search for online trends, news, current events, real-time information, or research topics."
},
{
name: "WebCrawler",
description: "Useful for when you need to summarize a webpage. Do not use for Web search."
},
{
name: "SDXLTurbo",
description: "Generate an image from text using Stability.ai"
},
{ name: "Weather", description: "Find the weather for a city." },
{
name: "RAGQuery",
description: "Search the documents in a vector index."
}
]

有关工具的详细信息,请访问 watsonx.ai API 文档

在智能体中使用

首先,确保你已经安装了 LangGraph:

@langchain/langgraph

然后,实例化你的大语言模型(LLM)以在 React 智能体中使用:

import { ChatWatsonx } from "@langchain/community/chat_models/ibm";

const llm = new ChatWatsonx({
version: "2024-05-31",
serviceUrl: process.env.WATSONX_AI_SERVICE_URL,
model: "ibm/granite-3-8b-instruct",
projectId: process.env.WATSONX_AI_PROJECT_ID,
});
import { createReactAgent } from "@langchain/langgraph/prebuilt";

const agent = createReactAgent({ llm, tools });
const exampleQuery = "Who won F1 championship in 2022?";

const events = await agent.stream(
{ messages: [{ role: "user", content: exampleQuery }] },
{ streamMode: "values" }
);

for await (const event of events) {
const lastMsg = event.messages[event.messages.length - 1];
if (lastMsg.tool_calls?.length) {
console.dir(lastMsg.tool_calls, { depth: null });
} else if (lastMsg.content) {
console.log(lastMsg.content);
}
}
Who won F1 championship in 2022?
[
{
name: "GoogleSearch",
args: { input: "F1 championship 2022" },
type: "tool_call",
id: "chatcmpl-tool-9da3456b9bbc475fb822296fdb8353a8"
}
]
[{"title":"2022 DRIVER STANDINGS","description":"Official F1® Race Programme · Modern Slavery Statement; Do Not Sell or Share My Personal Information. Formula 1. © 2003-2025 Formula One World Championship ...","url":"https://www.formula1.com/en/results/2022/drivers"},{"title":"2022 Formula One World Championship - Wikipedia","description":"2022 Formula One World Championship · Max Verstappen won his second consecutive World Drivers' Championship driving for Red Bull Racing. · Charles Leclerc ...","url":"https://en.wikipedia.org/wiki/2022_Formula_One_World_Championship"},{"title":"2022 Formula One World Championship - Simple English Wikipedia ...","description":"Max Verstappen, who was the reigning Drivers' Champion, claimed his second title at the Japanese Grand Prix, while his team, Red Bull Racing, achieved their ...","url":"https://simple.wikipedia.org/wiki/2022_Formula_One_World_Championship"},{"title":"Max Verstappen wins the 2022 F1 Drivers World Championship : r ...","description":"Oct 9, 2022 ... One day this guy will win a championship just by finishing the race and celebrating with a world championship lap on the day he won.","url":"https://www.reddit.com/r/sports/comments/xzg8pf/max_verstappen_wins_the_2022_f1_drivers_world/"},{"title":"Red Bull Simulator Championship Edition | F1 Authentics","description":"Based on the livery of the 2022 Oracle Red Bull Racing Championship-winning RB18, this F1 simulator has been expertly engineered and manufactured by Memento ...","url":"https://www.f1authentics.com/products/red-bull-simulator-championship-edition"},{"title":"F1 2022 Drivers Championship without Max Verstappen : r/formula1","description":"Nov 26, 2022 ... 1.1K votes, 65 comments. 5.2M subscribers in the formula1 community. Welcome to r/Formula1, the best independent online Formula 1 community!","url":"https://www.reddit.com/r/formula1/comments/z5cwl7/f1_2022_drivers_championship_without_max/"},{"title":"F1® Sim Racing World Championship 2022","description":"World Championship 2022 Bahrain International Circuit Bahrain International Circuit Race Distance: 29 laps Track Length: 5.412 km","url":"https://f1esports.com/world/results/2022"},{"title":"Our personal F1 2022 Predictions Championship : r/formula1","description":"May 5, 2022 ... F1 2025 Driver Predictions from mathematical model. Leclerc and Sainz predicted to beat Hamilton and Albon. r/formula1 - F1 2025 Driver ...","url":"https://www.reddit.com/r/formula1/comments/uitbbu/our_personal_f1_2022_predictions_championship/"},{"title":"Haas F1 Team Esports announces roster for 2022 F1 Esports Series ...","description":"Sep 13, 2022 ... Haas F1 Team is ready to commence battle in the 2022 F1 Esports Series Pro Championship featuring an updated line-up for this season.","url":"https://www.haasf1team.com/news/haas-f1-team-esports-announces-roster-2022-f1-esports-series-pro-championship"},{"title":"2022 F1 Deconstructors Championship : r/formula1","description":"Nov 22, 2022 ... Congratulations to our 2022 champion Carlos Sainz. Alonso put in a late surge but had to settle for second place. Alfa put in the best effort ...","url":"https://www.reddit.com/r/formula1/comments/z1pkkx/2022_f1_deconstructors_championship/"}]
Max Verstappen won the 2022 F1 Championship, driving for Red Bull Racing. He claimed his second title at the Japanese Grand Prix.

API 参考文档

如需详细了解所有 WatsonxToolkit 特性及配置,请前往 API 参考文档


Was this page helpful?


You can also leave detailed feedback on GitHub.