@ant-design/x
是遵循 Ant Design 设计体系的一个 React UI 库,用于构建由 AI 驱动的界面,一键接入智能对话组件与 API 服务。
我们推荐使用 npm 或 yarn 或 pnpm 或 bun 的方式进行开发,不仅可在开发环境轻松调试,也可放心地在生产环境打包部署使用,享受整个生态圈和工具链带来的诸多好处。
$ npm install @ant-design/x --save
如果你的网络环境不佳,推荐使用 cnpm。
在浏览器中使用 script
和 link
标签直接引入文件,并使用全局变量 antdx
。
我们在 npm 发布包内的 dist 目录下提供了 antdx.js
、antdx.min.js
和 antdx.min.js.map
。
强烈不推荐使用已构建文件,这样无法按需加载,而且难以获得底层依赖模块的 bug 快速修复支持。
注意:
antdx.js
和antdx.min.js
依赖react
、react-dom
、dayjs
,请确保提前引入这些文件。
我们基于 RICH 交互范式,在不同的交互阶段提供了大量的原子组件,帮助你灵活搭建你的 AI 对话应用:
Bubble
- 消息气泡、Conversations
- 会话管理Welcome
- 欢迎、Prompts
- 提示集Sender
- 发送框、Attachment
- 附件、Suggestion
- 快捷指令ThoughtChain
- 思维链下面是使用原子组件搭建一个最简单的对话框的代码示例:
import React from 'react';import {// 消息气泡Bubble,// 发送框Sender,} from '@ant-design/x';const messages = [{content: 'Hello, Ant Design X!',role: 'user',},];const App = () => (<div><Bubble.List items={messages} /><Sender /></div>);export default App;
我们通过提供 useXAgent
运行时工具,帮助你开箱即用的对接符合 OpenAI 标准的模型推理服务。
下面是如何使用 useXAgent
的代码示例:
import React from 'react';import { useXAgent, Sender } from '@ant-design/x';const App = () => {const [agent] = useXAgent({// 模型推理服务地址baseURL: 'https://your.api.host',// 模型名称model: 'gpt-3.5',});function chatRequest(text: string) {agent.request({// 消息messages: [{content: text,role: 'user',},],// 开启流式stream: true,});}return <Sender onSubmit={chatRequest} />;};export default App;
我们通过提供 useXChat
运行时工具,帮助你开箱即用的管理 AI 对话应用的数据流:
import React from 'react';import { useXChat, useXAgent } from '@ant-design/x';const App = () => {const [agent] = useXAgent({// 模型推理服务地址baseURL: 'https://your.api.host',// 模型名称model: 'gpt-3.5',});const {// 发起聊天请求onRequest,// 消息列表messages,} = useXChat({ agent });return (<div><Bubble.List items={messages} /><Sender onSubmit={onRequest} /></div>);};export default App;
@ant-design/x
默认支持基于 ES modules 的 tree shaking。
@ant-design/x
使用 TypeScript 进行书写并提供了完整的定义文件。
Ant Design X 广泛用于蚂蚁集团内由 AI 驱动的用户交互界面。如果你的公司和产品使用了 Ant Design X,欢迎到 这里 留言。
在任何形式的参与前,请先阅读 贡献者文档。如果你希望参与贡献,欢迎提交 Pull Request,或给我们 报告 Bug。
强烈推荐阅读 《提问的智慧》、《如何向开源社区提问题》 和 《如何有效地报告 Bug》、《如何向开源项目提交无法解答的问题》,更好的问题更容易获得帮助。
如果您在使用的过程中碰到问题,可以通过下面几个途径寻求帮助,同时我们也鼓励资深用户通过下面的途径给新人提供帮助。
通过 GitHub Discussions 提问时,建议使用 Q&A
标签。