Files
mintlify__docs/zh/api/assistant/create-assistant-message-v2.mdx
locadex-agent[bot] bc4b00a932 docs(locadex): add translations (#3341)
Co-authored-by: locadex-agent[bot] <217277504+locadex-agent[bot]@users.noreply.github.com>
2026-02-09 16:20:59 -08:00

115 lines
3.3 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
openapi: /zh/discovery-openapi.json POST /v2/assistant/{domain}/message
keywords:
[
"assistant message",
"embed",
"chat",
"integrate",
"v2",
"ai sdk v5",
"ai sdk v6"
]
---
<Info>
assistant 消息 v2 端点兼容 **AI SDK v5+**。如果你正在使用 AI SDK v4,请改用 [assistant 消息 v1 端点](/zh/api-reference/assistant/create-assistant-message)。
</Info>
<div id="integration-with-usechat">
## 与 `useChat` 集成
</div>
Vercel 的 AI SDK 提供的 `useChat` hook 是在你的应用程序中集成 assistant API 的推荐方式。
<Steps>
<Step title="安装 AI SDK">
```bash
npm i ai@^6 @ai-sdk/react
```
</Step>
<Step title="使用 hook">
```tsx
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 元素标识符。
</Step>
</Steps>
更多详情参见 AI SDK 文档中的 [useChat](https://ai-sdk.dev/docs/reference/ai-sdk-ui/use-chat) 和 [Transport](https://ai-sdk.dev/docs/ai-sdk-ui/transport)。
<div id="rate-limits">
## 速率限制
</div>
AI 助手 API 有以下限制:
* 每个 key 每月最多调用 10,000 次
* 每个 Mintlify 组织每小时最多 10,000 个请求
* 每个 IP 地址每天最多 10,000 个请求