创建 assistant 消息
assistant 消息 v2 端点兼容 AI SDK v5+。如果你正在使用 AI SDK v4,请改用 assistant 消息 v1 端点。
Vercel 的 AI SDK 提供的 useChat hook 是在你的应用程序中集成 assistant API 的推荐方式。
安装 AI SDK
npm i ai@^6 @ai-sdk/react使用 hook
import { useState } from "react";
import { useChat } from "@ai-sdk/react";
import { DefaultChatTransport } from "ai";
function MyComponent({ domain }) {
const [input, setInput] = useState("");
const { messages, sendMessage } = useChat({
transport: new DefaultChatTransport({
api: `https://api.mintlify.com/discovery/v2/assistant/${domain}/message`,
headers: {
Authorization: `Bearer ${process.env.PUBLIC_MINTLIFY_ASSISTANT_KEY}`,
},
body: {
fp: "anonymous",
retrievalPageSize: 5,
context: [
{
type: "code",
value: 'const example = "code snippet";',
elementId: "code-block-1",
},
],
},
}),
});
return (
<div>
{messages.map((message) => (
<div key={message.id}>
{message.role === "user" ? "User: " : "Assistant: "}
{message.parts
.filter((part) => part.type === "text")
.map((part) => part.text)
.join("")}
</div>
))}
<form
onSubmit={(e) => {
e.preventDefault();
if (input.trim()) {
sendMessage({ text: input });
setInput("");
}
}}
>
<input value={input} onChange={(e) => setInput(e.target.value)} />
<button type="submit">Send</button>
</form>
</div>
);
}必填配置:
transport- 使用DefaultChatTransport来配置 API 连接。body.fp- 指纹标识符 (使用'anonymous'或唯一的用户标识符) 。body.retrievalPageSize- 要使用的搜索结果数量 (推荐:5) 。
可选配置:
body.context- 提供给 AI 助手的上下文信息数组。每个 context 对象包含:type-'code'或'textSelection'之一。value- 代码片段或选中的文本内容。path(可选) - 源文件或页面的路径。elementId(可选) - 包含该 context 的 UI 元素标识符。
body.currentPath- 用户当前正在查看页面的路径。提供该字段时,AI 助手会利用此 context 提供更相关的回答。最大长度:200 个字符。
更多详情参见 AI SDK 文档中的 useChat 和 Transport。
AI 助手 API 有以下限制:
- 每个 Mintlify 组织每小时最多 10,000 个请求
- 每个 IP 地址每天最多 10,000 个请求
Was this page helpful?Suggest editsRaise issue