给.NET应用接入OpenAI调用,其实并不是最难的部分。真正麻烦的是调用之后那一大堆支撑功能。

开发者一旦开始把AI整合进自己的.NET应用,就会发现配套代码越写越多:流式响应、会话管理、历史记录、附件、生成文件、向量存储、模型配置、推理选项、界面状态、持久化,还有用户从ChatGPT这类产品里已经习惯的各种能力。

打开网易新闻 查看精彩图片

每做一个应用都要重新搭一遍这套基础设施,显然不划算。于是有人把它封装成了一个可复用的.NET控件。

Plato AI Assistant是什么

Plato AI Assistant是一个可直接嵌入的、类似ChatGPT的AI助手控件,目前面向.NET 10 WinForms应用设计。

它的目标很明确:让.NET开发者把精力放在AI在应用里应该做什么,而不是花时间搭建整套助手界面和支撑设施。

当前控件提供的功能包括:

  • 支持OpenAI和微软Azure OpenAI
  • 流式AI对话
  • 多会话和多标签页
  • 持久化会话历史
  • 会话搜索
  • 文件附件
  • 生成文件和工件
  • 向量存储及向量存储文件管理
  • 模型和推理配置
  • 文档分析
  • 可自定义外观
  • 宿主应用可编程触发提示
  • 后端功能也可无界面使用

会话和生成的文件附件可以一直保留,直到用户主动选择删除或清理。

设计定位:成为宿主应用的一部分

开发者想避免的,是再做一个独立的聊天机器人。

Plato AI Assistant的设计意图是成为宿主应用的一部分。宿主应用可以通过编程方式与助手交互,包括向它发送提示。这意味着AI体验可以连接到应用的实际功能和数据,而不是作为一个孤立的聊天窗口存在。

举个例子,应用可以根据用户在其他地方的操作发起一个提示,然后让产生的交互出现在助手里。这一点对设计者来说很重要。

演示与获取方式

开发者制作了一段视频,演示了控件的主要功能。截图展示了宿主应用和Plato AI Assistant控件本身的区分,以及界面的主要区域。

Plato AI Assistant通过NuGet包分发,地址是:https://www.nuget.org/packages/Plato.AI.Assistant。

当前版本面向.NET 10 WinForms。文档包括入门指南和API参考,地址是:https://www.cpr-tech.com/Help/PlatoAIAssistant。

后续计划:.NET 10 Web应用

WinForms是Plato AI Assistant的第一个宿主,但开发者并不打算让它只停留在桌面应用。

目前正在推进把同样的能力带到.NET 10 Web应用中。