mirror of
https://github.com/mintlify/docs.git
synced 2026-09-14 13:35:46 +08:00
90007452c6
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
95 lines
3.0 KiB
Plaintext
95 lines
3.0 KiB
Plaintext
---
|
||
title: "创建 AI 助手消息(v1)"
|
||
openapi: /zh/discovery-openapi.json POST /v1/assistant/{domain}/message
|
||
tag: "已废弃"
|
||
keywords: [ "AI 助手消息", "嵌入", "聊天", "集成", "ai sdk v4" ]
|
||
---
|
||
|
||
<Badge color="orange">已废弃</Badge>
|
||
|
||
<Info>
|
||
assistant message v1 端点与 **AI SDK v4** 兼容。若你使用 AI SDK v5 或更高版本,请改用 [assistant message v2 端点](/zh/api/assistant/create-assistant-message-v2)。
|
||
</Info>
|
||
|
||
<div id="integration-with-usechat">
|
||
## 与 `useChat` 集成
|
||
</div>
|
||
|
||
将 AI 助手 API 集成到你的应用中的推荐方式是使用 Vercel 的 AI SDK 提供的 `useChat` 钩子。
|
||
|
||
<Steps>
|
||
<Step title="安装 AI SDK v4">
|
||
```bash
|
||
npm i ai@^4.1.15
|
||
```
|
||
</Step>
|
||
|
||
<Step title="使用该钩子">
|
||
```tsx
|
||
import { useChat } from 'ai/react';
|
||
|
||
function MyComponent({ domain }) {
|
||
const { messages, input, handleInputChange, handleSubmit, isLoading } = useChat({
|
||
api: `https://api.mintlify.com/discovery/v1/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',
|
||
},
|
||
],
|
||
},
|
||
streamProtocol: 'data',
|
||
sendExtraMessageFields: true,
|
||
});
|
||
|
||
return (
|
||
<div>
|
||
{messages.map((message) => (
|
||
<div key={message.id}>
|
||
{message.role === 'user' ? 'User: ' : 'Assistant: '}
|
||
{message.content}
|
||
</div>
|
||
))}
|
||
<form onSubmit={handleSubmit}>
|
||
<input value={input} onChange={handleInputChange} />
|
||
<button type="submit">Send</button>
|
||
</form>
|
||
</div>
|
||
);
|
||
}
|
||
```
|
||
|
||
**Mintlify 的必备配置:**
|
||
|
||
* `streamProtocol: 'data'` - 流式响应所必需。
|
||
* `sendExtraMessageFields: true` - 发送消息 metadata 所必需。
|
||
* `body.fp` - 指纹标识符 (使用 `'anonymous'` 或某个用户标识符) 。
|
||
* `body.retrievalPageSize` - 要使用的搜索结果数量 (推荐:5) 。
|
||
|
||
**可选配置:**
|
||
|
||
* `body.context` - 提供给 AI 助手的上下文信息数组。每个 context 对象包含:
|
||
* `type` - `'code'` 或 `'textSelection'` 之一。
|
||
* `value` - 代码片段或选中的文本内容。
|
||
* `elementId` (可选) - 包含该 context 的 UI 元素的标识符。
|
||
* `body.currentPath` - 用户当前正在查看页面的路径。提供后,AI 助手会利用该上下文提供更相关的回答。最大长度:200 个字符。
|
||
</Step>
|
||
</Steps>
|
||
|
||
在 AI SDK 文档中查看 [useChat](https://ai-sdk.dev/docs/reference/ai-sdk-ui/use-chat) 以了解更多详情。
|
||
|
||
<div id="rate-limits">
|
||
## 速率限制
|
||
</div>
|
||
|
||
AI 助手 API 的限制如下:
|
||
|
||
* 每个 Mintlify 组织每小时最多 10,000 次请求
|
||
* 每个 IP 每日最多 10,000 次请求 |