为了能更好地了解您的商业使用需求,请参与 Ant Design Blazor 商业应用调查,一起建设商业应用社区,为企业系统研发赋能!

Ant Design X of Blazor

Ant Design X of Blazor 是遵循 Ant Design 设计体系的一个 Blazor UI 组件库,用于构建由 AI 驱动的界面,一键接入智能对话组件与 API 服务。

+

✨ 特性

  • 🌈 源自企业级 AI 产品的最佳实践:基于 RICH 交互范式,提供卓越的 AI 交互体验
  • 🧩 灵活多样的原子组件:覆盖绝大部分 AI 对话场景,助力快速构建个性化 AI 交互页面
  • 开箱即用的模型对接能力:轻松对接符合 OpenAI 标准的模型推理服务
  • 🔄 高效管理对话数据流:提供好用的数据流管理功能,让开发更高效
  • 📦 丰富的样板间支持:提供多种模板,快速启动 Blazor AI 应用开发
  • 🛡 C# 全覆盖:采用 C# 开发,提供完整类型支持,提升开发体验与可靠性
  • 🎨 深度主题定制能力:支持细粒度的样式调整,满足各种场景的个性化需求

安装

使用 NuGet 安装

我们推荐使用 NuGet 包管理器进行开发,不仅可在开发环境轻松调试,也可放心地在生产环境部署使用,享受整个生态圈和工具链带来的诸多好处。

dotnet add package AntDesign.X

如果你使用 Visual Studio,也可以通过 NuGet 包管理器图形界面安装。

项目引用

在 Blazor 项目中,需要在 Program.cs 中注册服务:

builder.Services.AddAntDesignX();

_Imports.razor 中添加命名空间:

@using AntDesign.X

wwwroot/index.html(WebAssembly)或 Pages/_Host.cshtml(Server)中引入样式:

<link href="_content/AntDesign.X/css/ant-design-x.css" rel="stylesheet" />

🧩 原子组件

我们基于 RICH 交互范式,在不同的交互阶段提供了大量的原子组件,帮助你灵活搭建你的 AI 对话应用:

  • 通用: Bubble - 消息气泡、Conversations - 会话管理
  • 唤醒: Welcome - 欢迎、Prompts - 提示集
  • 表达: Sender - 发送框、Attachment - 附件、Suggestion - 快捷指令
  • 确认: ThoughtChain - 思维链

下面是使用原子组件搭建一个最简单的对话框的代码示例:

@page "/chat"

<div>
    <BubbleList Items="messages" />
    <Sender OnSubmit="HandleSubmit" />
</div>

@code {
    private List<Message> messages = new()
    {
        new Message
        {
            Content = "Hello, Ant Design X!",
            Role = "user"
        }
    };

    private void HandleSubmit(string text)
    {
        // 处理发送逻辑
    }
}

⚡️ 对接模型推理服务

我们通过提供 XAgent 服务,帮助你开箱即用地对接符合 OpenAI 标准的模型推理服务。

下面是如何使用 XAgent 的代码示例:

@page "/chat"
@inject IXAgent Agent

<Sender OnSubmit="ChatRequest" />

@code {
    private async Task ChatRequest(string text)
    {
        await Agent.RequestAsync(new RequestOptions
        {
            Messages = new[]
            {
                new Message
                {
                    Content = text,
                    Role = "user"
                }
            },
            Stream = true
        });
    }
}

Program.cs 中配置服务:

builder.Services.AddXAgent(options =>
{
    options.BaseURL = "https://your.api.host";
    options.Model = "gpt-3.5";
});

🔄 高效管理数据流

我们通过提供 XChat 服务,帮助你开箱即用地管理 AI 对话应用的数据流:

@page "/chat"
@inject IXChat Chat

<div>
    <BubbleList Items="Chat.Messages" />
    <Sender OnSubmit="Chat.OnRequest" />
</div>

按需引用

AntDesign.X 支持按需引用组件,只需引用需要使用的组件即可。

谁在使用

Ant Design X of Blazor 期待您的使用。如果你的公司和产品使用了 Ant Design X of Blazor,欢迎到 这里 留言。

如何贡献

在任何形式的参与前,请先阅读 贡献者文档。如果你希望参与贡献,欢迎提交 Pull Request,或给我们 报告 Bug

强烈推荐阅读 《提问的智慧》《如何向开源社区提问题》《如何有效地报告 Bug》《如何向开源项目提交无法解答的问题》,更好的问题更容易获得帮助。

社区互助

如果您在使用的过程中碰到问题,可以通过下面几个途径寻求帮助,同时我们也鼓励资深用户通过下面的途径给新人提供帮助。

通过 GitHub Discussions 提问时,建议使用 Q&A 标签。

  1. GitHub Discussions
  2. GitHub Issues
快速上手