IM即时通讯系统接入DeepSeek等AI大模型可行吗?
摘要:随着DeepSeek的热潮,越来越多的企业也开始部署并训练自己的AI大模型,于是有客户希望能在私有部署的即时通讯系统中集成AI大模型,这样可以大大提升办公效率。那么如何实现在IM中集成大模型了?
随着DeepSeek的热潮,越来越多的企业也开始部署并训练自己的AI大模型,这样能使企业以前沉淀的专业知识和经验能更高效地被利用起来。有客户反馈了这样的需求场景:客户私有部署了自己的AI大模型以及私有化部署自己的内部即时通讯系统,他们希望可以在即时通讯的聊天界面中,直接和AI大模型对话,就像和同事对话一样,这将大大提升工作效率。所以,我们决定在傲瑞通(OrayTalk)中接入DeepSeek等AI大模型,来满足这一需求。
那么具体如何实现了?
1. 客户端UI实现
首先,傲瑞通客户端新增了与AI大模型对话的UI入口:
在我的好友中,有一个“AI智能体”,点击它,就可以和AI大模型进行对话了。
其次,傲瑞通客户端也提供了查询与AI对话的历史记录:
点击对话记录中的问题,会弹出新窗口显示问题的答案。
2. 数据库实现
数据库中增加AIChatRecord表,用于存储与AI的对话记录。
AIChatRecord 表的创建脚本如下所示:
CREATE TABLE [dbo].AIChatRecord(
[GUID] [nvarchar](50) NOT NULL,
[UserID] [nvarchar](50) NOT NULL,
[ModelType] [int] NOT NULL,
[Question] [nvarchar](max) NOT NULL,
[Attachments] [nvarchar](1000) NOT NULL,
[Answer] [nvarchar](max) NOT NULL,
[ProcessResult] [int] NOT NULL,
[ErrorMessage] [nvarchar](max) NOT NULL,
[CreateTime] [datetime] NOT NULL,
CONSTRAINT [PK_AIChatRecord] PRIMARY KEY CLUSTERED
(
[GUID] ASC
)
AIChatRecord 表中几个关键字段的含义如下所示:
(1)ModelType:用于记录所采用的大模型类型,比如DeepSeek、通义千问、文心一言 等等。
(2)Question:记录所提问的问题。
(3)Attachments:表示该问题所涉及的附件的URL,如图片或文件的URL。
(4)ProcessResult:表示问题的处理结果。0表示成功,其它值表示不同类型的错误,如超时、API调用报错等。
(5)ErrorMessage:如果有报错,ErrorMessage字段记录了具体的错误信息。
(6)Answer:AI给出的问题的答案。只有当ProcessResult为0时,该值才有效。
3. 服务端对接AI大模型
傲瑞通服务端实现了与私有部署的大模型(如DeepSeek、通义千问等)的对接。
