Discord 工具
Discord 工具使你的智能体具备搜索、读取和向 Discord 频道发送消息的能力。 当你需要与 Discord 频道进行交互时,该工具将非常有用。
准备工作
要使用 Discord 工具,你需要安装以下官方指定的同级依赖:
- npm
- Yarn
- pnpm
npm install discord.js
yarn add discord.js
pnpm add discord.js
使用方式,独立使用
:::提示 请参阅安装集成包的一般说明部分。 :::
- npm
- Yarn
- pnpm
npm install @langchain/openai @langchain/core
yarn add @langchain/openai @langchain/core
pnpm add @langchain/openai @langchain/core
import {
DiscordGetMessagesTool,
DiscordChannelSearchTool,
DiscordSendMessagesTool,
DiscordGetGuildsTool,
DiscordGetTextChannelsTool,
} from "@langchain/community/tools/discord";
// Get messages from a channel given channel ID
const getMessageTool = new DiscordGetMessagesTool();
const messageResults = await getMessageTool.invoke("1153400523718938780");
console.log(messageResults);
// Get guilds/servers
const getGuildsTool = new DiscordGetGuildsTool();
const guildResults = await getGuildsTool.invoke("");
console.log(guildResults);
// Search results in a given channel (case-insensitive)
const searchTool = new DiscordChannelSearchTool();
const searchResults = await searchTool.invoke("Test");
console.log(searchResults);
// Get all text channels of a server
const getChannelsTool = new DiscordGetTextChannelsTool();
const channelResults = await getChannelsTool.invoke("1153400523718938775");
console.log(channelResults);
// Send a message
const sendMessageTool = new DiscordSendMessagesTool();
const sendMessageResults = await sendMessageTool.invoke("test message");
console.log(sendMessageResults);
API Reference:
- DiscordGetMessagesTool from
@langchain/community/tools/discord - DiscordChannelSearchTool from
@langchain/community/tools/discord - DiscordSendMessagesTool from
@langchain/community/tools/discord - DiscordGetGuildsTool from
@langchain/community/tools/discord - DiscordGetTextChannelsTool from
@langchain/community/tools/discord
使用方式,在智能体中使用
import { ChatOpenAI } from "@langchain/openai";
import { initializeAgentExecutorWithOptions } from "langchain/agents";
import { DiscordSendMessagesTool } from "@langchain/community/tools/discord";
import { DadJokeAPI } from "@langchain/community/tools/dadjokeapi";
const model = new ChatOpenAI({
model: "gpt-4o-mini",
temperature: 0,
});
const tools = [new DiscordSendMessagesTool(), new DadJokeAPI()];
const executor = await initializeAgentExecutorWithOptions(tools, model, {
agentType: "zero-shot-react-description",
verbose: true,
});
const res = await executor.invoke({
input: `Tell a joke in the discord channel`,
});
console.log(res.output);
// "What's the best thing about elevator jokes? They work on so many levels."
API Reference:
- ChatOpenAI from
@langchain/openai - initializeAgentExecutorWithOptions from
langchain/agents - DiscordSendMessagesTool from
@langchain/community/tools/discord - DadJokeAPI from
@langchain/community/tools/dadjokeapi
相关内容
Related
- Tool conceptual guide
- Tool how-to guides