新闻详情

新闻详情

首页 / 资讯中心 / 详情

big-AGI 的 AIX 子系统:类型安全的多模态 AI 客户端/服务器流式通信架构

发布时间:2026/9/17 2:48:48来源:尧图网络
big-AGI 的 AIX 子系统:类型安全的多模态 AI 客户端/服务器流式通信架构
big-AGI 的 AIX 子系统类型安全的多模态 AI 客户端/服务器流式通信架构【免费下载链接】big-AGIAI suite powered by state-of-the-art models and providing advanced AI/AGI functions. Includes AI personas, AGI functions, world-class Beam multi-model chats, text-to-image, voice, response streaming, code highlighting and execution, PDF import, presets for developers, much more. Deploy on-prem or in the cloud.项目地址: https://gitcode.com/GitHub_Trending/bi/big-AGIAIXAdvanced AI eXchange是 big-AGI 中一个以 tRPC 为骨架的客户端/服务器库用于将先进 AI 能力集成进 Web 应用为聊天、Beam 多模型对话、文本生成等功能提供实时的类型安全通信。本文以kb/modules/AIX.md为主体结合仓库源码src/modules/aix/剖析其系统架构、ChatGenerate 完整工作流、供应商适配体系与端到端粒子协议帮助读者理解 big-AGI 如何统一封装十余家 AI 提供商的流式与非流式接口并掌握其扩展机制与适用边界。AIX 概述应用与 AI 提供商之间的实时、类型安全通道AIX客户端/服务器库的核心职责是在 TypeScript 应用与 AI 提供商之间建立实时、类型安全的通信。它构建在 tRPC 之上负责管理 AI 生成内容从请求到渲染的完整生命周期同时支持**流式streaming与非流式non-streaming**两类 AI 提供商。从 big-AGI 的整体架构看AIX 并非孤立模块而是贯穿多个应用的关键基础设施聊天src/apps/chat/、Beam 多模型并行src/modules/beam/、代码修复aifn系列、Auto Follow-ups、附件摘要、自动标题、Persona 生成等均通过 AIX 的三大核心函数发起调用。正如kb/modules/AIX-callers-analysis.md所归纳AIX 采用核心函数 → 工具层 → UI 层的三层调用结构UI 层享受最丰富的错误状态与占位符处理核心层保持最小处理并向上传播错误。特性清单类别能力内容生成多模态流式/非流式传输节流批处理与错误处理服务端超时/重试函数调用与代码执行Function Calling含并行调用、代码执行复杂 AI 工作流未来规划Embeddings / 信息检索 / 图像处理未来规划其中服务端超时/重试与流式/非流式两大机制在源码中有明确落点服务端重试由chatGenerate.operation-retry.ts与chatGenerate.continuation.ts承载客户端侧则存在AixStreamRetryaix.client.retry.ts与ContentReassembler的重组/续传机制形成客户端超时 服务端重试的双保险见下文的时序图说明。AIX 提供商支持矩阵AIX 通过统一的内部协议对上屏蔽了各 AI 服务商的协议差异。截至文档记录时刻各提供商的支持情况如下服务ChatFunction Calling多模态输入续传(1)流式特有行为Alibaba✅✅✅Yes Anthropic✅✅ Parallel图片: ✅✅Yes Azure✅✅✅Yes Deepseek✅❌ (被拒)✅Yes Gemini✅✅ Parallel图片: ✅✅Yes 代码执行: ✅Groq✅✅ Parallel✅Yes LM Studio✅❌ (不可用)❌Yes Local AI✅✅❌Yes Mistral✅✅✅Yes OpenAI✅✅ Parallel图片: ✅✅Yes OpenRouter✅❌ (不稳定)✅Yes Perplexity✅❌ (被拒)✅Yes TogetherAI✅✅✅Yes xAIZ.ai✅✅图片: ✅✅Yes 思考模式Ollama (2)❌ (损坏)?注记(1)续传Continuation标记a. 发送reasonmax-tokens流式/非流式b. TBA待定。(2)Ollama 尚未移植到 AIX由于其自定义 API 的缘故。此表中✅ Parallel意味着该提供商除基础函数调用外还支持并行工具调用 标记表示流式响应支持装箱分块/批处理传输续传能力续写被max-tokens截断的生成由服务端的chatGenerate.continuation.ts实现。表内的差异如 Perplexity/Deepseek 拒绝工具调用、OpenRouter 函数调用不稳定直接影响了 big-AGI 在各提供商上默认启用的功能开关是选型与排障的重要依据。系统架构三大组件AIX 子系统由三个主要组件构成客户端例如 Next.js 前端发起请求实时渲染 AI 生成内容重建流式数据ContentReassembler服务端例如 Next.js 后端作为客户端与 AI 提供商之间的中介处理请求准备、派发与响应处理将响应流式回传客户端上游 AI 提供商根据请求生成 AI 内容在 big-AGI 中客户端入口是aix.client.ts服务端 tRPC 路由入口是aix.router.ts两者间通过 Zod 校验的线协议Wire Types通信——这部分定义于aix.wiretypes.ts。路由注释中的架构说明言简意赅Client -- (intake) -- Server -- (dispatch) -- AI Service即接收与派发两段通道的分界线。ChatGenerate 工作流七步闭环ChatGenerate是 AIX 的核心内容生成流程完整步骤如下请求初始化AIX 客户端准备并发送请求systemInstruction、messagesAixWire_Parts[]等到 AIX 服务端派发准备AIX 服务端为上游通信做准备AI 提供商交互AIX 服务端与 AI 提供商通信流式或非流式数据解码、转换与传输AIX 服务端向 AIX 客户端发送AixWire_Particles客户端处理客户端的ContentReassembler将AixWire_Particles处理为一系列通常为单个多片段消息DMessageContentFragment[]完成AIX 服务端发送done控制消息AIX 客户端完成数据更新错误处理AIX 服务端在必要时发送特定错误消息。需要区分文档中反复出现的两个线协议名词AixWire_Parts入站客户端 → 服务端描述待发送的内容/消息结构定义于aix.wiretypes.ts的AixWire_Parts/AixWire_Content命名空间与AixWire_Particles出站服务端 → 客户端描述增量粒子操作如文本追加、部分开始、指标设置、结束信号等。DMessageContentFragment则是 big-AGI 前端消息模型中的内容片段类型文本、图片引用、工具调用、错误等。端到端时序图以下 Mermaid 时序图完整刻画了从客户端发起请求到最终渲染的粒子级交互是理解 AIX 内部协议的最直观材料与kb/modules/AIX.md中的原图一致图中的几个要点值得注意PartTransmitter 是协议的核心抽象——它负责将解析后的增量事件节流序列化为AixWire_PartParticle服务端不一次性发送全量响应而是按批次累积传输客户端ContentReassembler则按收到的粒子批次增量重建DMessage*Part从而实现边生成边渲染的实时体验。错误处理同时存在于两处派发准备期错误dispatch-prepare、派发期错误dispatch-fetch/dispatch-read/dispatch-parse由服务端以控制消息下发客户端另设有无响应超时兜底。源码级解析文件与目录结构AIX 在仓库中的实际位置是src/modules/aix/与文档描述一一对应组织如下1. 客户端client/aix.client.tsAIX 操作的主要客户端入口。导出三大核心函数aixChatGenerateContent_DMessage_FromConversation会话流式生成、aixChatGenerateContent_DMessage_orThrow直接请求/响应、aixChatGenerateText_Simple纯文本工具类生成并负责模型参数组装aixCreateModelFromLLMOptions支持 temperature、maxTokens、topP、reasoningEffort 及各厂商vnd*参数与流式调用apiStream。aix.client.chatGenerateRequest.ts将聊天消息转换为 AIX 兼容格式AixWire_Content、AixWire_Parts等并应用客户端热修复hotfix。ContentReassembler.ts核心重组器将AixWire_Particles流式重组成DMessage*Part文本、图片、工具调用、错误、文档、占位符支持检查点恢复与续传重置。其他aix.client.errors.ts流式错误分类、aix.client.retry.tsAixStreamRetry、aix.client.direct-chatGenerate.ts客户端直连 CSF 模式、debugger/AI 检查器调试面板、withDecimator.ts粒子抽取/节流辅助。2. 服务端server/API 层server/api/——客户端到服务端通信aix.router.ts定义 AIX 的 tRPC 路由包含chatGenerateContent流式生成主入口输入access/model/chatGenerate/context/streaming/connectionOptions、upstreamReattachContent按 handle 重连进行中的上游运行如 OpenAI Responses 断网恢复、Gemini Deep Research 跨刷新续跑与upstreamDeleteContent删除上游存储的运行。此外内置慢请求看门狗在 Vercel 边缘函数 300 秒硬杀前约 15 秒记录超时请求的模型/上下文。aix.wiretypes.ts以 Zod 模式定义客户端入站类型AixWire_Parts、AixWire_Content、AixWire_Tooling、AixWire_API等与出站类型AixWire_Particles。从源码看AixWire_Parts覆盖 DocPart、InlineAudioPart、InlineImagePart、MediaUrlPart、ModelAuxPart 等片段并携带各厂商的_vnd状态命名空间如 Anthropic 容器、Responses 厂商的 reasoning 续传句柄。辅助aix.resilience.ts、aix.security.ts、aix.wiretypes.openrouter.ts。派发层server/dispatch/——服务端到 AI 提供商通信chatGenerate/内容生成聊天风格输入adapters/为不同 AI 协议创建 API 请求的适配器Anthropic、Bedrock、Gemini、OpenAI Chat Completions、OpenAI Responses、xAI Responses。parsers/解析不同 AI 协议的流式/非流式响应Anthropic、Bedrock Converse、Gemini、OpenAI、OpenAI Responses。chatGenerate.dispatch.ts创建针对特定提供商的 Chat 生成执行管线createChatGenerateDispatch。ChatGenerateTransmitter.ts序列化并传输AixWire_Particles到客户端实现IParticleTransmitter接口维护文本/部分粒子队列、终止原因、token 停止原因与指标累积。其他chatGenerate.continuation.ts续传、chatGenerate.operation-retry.ts重试、chatGenerate.executor.ts执行器、chatGenerate.debug.ts调试。wiretypes/各 AI 提供商/协议的线类型定义Anthropic、Bedrock Converse、Gemini、OpenAI、xAI并含_upstream/上游协议规格文档。stream.demuxers.ts处理不同流格式的解复用SSE、fast-SSE、AWS EventStream对应文件为stream.demuxer.sse.ts、stream.demuxer.fastsse.ts、stream.demuxer.aws-eventstream.ts。3. 派发管线的方言选择逻辑createChatGenerateDispatchchatGenerate.dispatch.ts是理解多供应商支持的关键它根据access.dialect如anthropic、bedrock、gemini、openai等将统一请求特化为对应厂商的适配器与解析器并输出ChatGenerateDispatch含请求体、demuxer 格式、解析函数、粒子变换。例如Anthropic通过aixToAnthropicMessageCreate构建请求体支持推理地理路由inference_geo流式走fast-sse解复用非流式走createAnthropicMessageParserNS若启用内联文件变换还会附加createAnthropicFileInlineTransform。Bedrock按vndBedrockAPI细分converseBedrock 原生、invoke-anthropicAnthropic 原生 InvokeModel需将 header 参数搬入 body 并携带anthropic-version、mantleOpenAI Chat Completions 兼容、mantle-responsesOpenAI Responses 兼容供 GPT-5.x 等前沿模型使用流式响应体需经aws-eventstream-binary变换。OpenAI 体系RESPONSES_ONLY_DIALECTSmetaai、sakanaai、xai强制走 Responses API。由此可见AIX 的适配器 解析器 demuxer三段式抽象正是支撑表格中十余家服务商一张矩阵的根本设计。客户端重组与调用方生态ContentReassembler粒子 → 消息片段的增量重建ContentReassembler.ts是客户端的协议终点。它维护ReassemblyState含当前打开的文本片段游标、待决消息 phase、终止原因、token 停止原因对每批收到的AixWire_Particles.ChatGenerateOp执行增量处理支持在继续生成continuation时基于检查点重置且可通过ReassemblerParticleTransforms在重组前对粒子做 1:1 异步变换如图片压缩、厂商内联文件处理。文档时序图中ContentReassembler processes particles into DMessage*Part分支文本更新、图片加载显示、工具调用处理、错误显示、文档处理、占位符处理在此文件中均有对应实现。调用方模式与错误/占位符策略kb/modules/AIX-callers-analysis.md记录了 AIX 三大核心函数的全部调用方及其消息处理模式值得作为二次开发参考会话流式_FromConversationChat Persona、XE Chat Generate、Beam Scatter/Gather/Follow-up、ScratchChat、Telephone、ReAct Agent、Variform 等。典型策略是生成开始前被中断则移除整条消息messageWasInterruptedAtStart()判断条件为tokenStopReason client-abort且无片段或使用占位符createPlaceholderVoidFragment维持 UI 结构。直接请求orThrowAuto Follow-ups、Gen CR Diffs、Code Fixup、Attachment Prompts 等失败时多向上抛错或做片段级替换。纯文本工具_SimpleconversationTitle、conversationSummary、useStreamChatText、useLLMChain、imaginePromptFromText 等采用 try/catch 回退值或错误状态静默降级。错误处理的复杂度从核心层向 UI 层递增核心层最小处理并向上传播工具层优雅降级UI 层如 DiagramsModal、FlattenerModal提供重试、回退 UI 与加载态。这一分层设计让 Beam 与 Chat Persona 获得最完善的恢复能力。生产状态、使用边界与代码执行扩展生产使用声明与生态边界文档末尾2025-03-14 更新明确说明AIX 已在 big-AGI 生产环境中使用稳定且性能良好但其代码与 tRPC 框架及本仓库其余代码高度耦合不建议在本生态之外使用。对于寻求独立 TypeScript 方案的项目文档推荐 Vercel AI SDK。因此将 AIX 定位为big-AGI 生态内的核心通信层而非通用 SDK是准确的边界认知。从 AIX 延伸Anthropic 代码执行与沙箱仓库中另有kb/modules/AIX-anthropic-code-execution.md记录 AIX 对 Anthropic 代码执行code_execution_20260120容器的接入方向可视为 AIX 能力在函数调用/代码执行维度上的延伸单一事实来源位于adapters/anthropic.messageCreate.ts的aixAnthropicHostedFeatures()它同时驱动工具清单与 beta headersenableCodeExecution由独立沙箱开关vndAntCodeSandbox、SkillsvndAntSkills与程序化工具调用PTC三方汇聚且刻意与动态 Web 搜索解耦即 #1087 修复不因动态 Web 自动启用独立代码执行工具避免模型从脚本中调用 Web 工具引发死循环。客户端侧容器状态经svs粒子由ContentReassembler.onSetVendorState提升至DMessageGenerator.upstreamContainer实现了跨轮次的容器续接——这正是 AIX 粒子协议在复杂工具场景下的实际运用案例。小结AIX 是 big-AGI 内部承担最后一公里的核心基础设施以 tRPC Zod 保证类型安全以适配器/解析器/demuxer抽象统一十余家 AI 提供商以AixWire_Parts入站与AixWire_Particles出站粒子协议打通流式全链路并以ContentReassembler在客户端完成增量重建。理解这套架构有助于在 big-AGI 中定位生成链路问题、扩展新供应商适配器adapters/parsers/wiretypes/三处改动以及评估其与 Vercel AI SDK 等通用方案在生态耦合度上的差异。延伸阅读本文主体文档kb/modules/AIX.md调用方分析kb/modules/AIX-callers-analysis.md代码执行扩展kb/modules/AIX-anthropic-code-execution.md核心实现 客户端入口、tRPC 路由、派发管线、粒子传输器、线协议定义、客户端重组器。【免费下载链接】big-AGIAI suite powered by state-of-the-art models and providing advanced AI/AGI functions. Includes AI personas, AGI functions, world-class Beam multi-model chats, text-to-image, voice, response streaming, code highlighting and execution, PDF import, presets for developers, much more. Deploy on-prem or in the cloud.项目地址: https://gitcode.com/GitHub_Trending/bi/big-AGI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Higress MCP 公共实验环境搭建指南:基于 Kind 与 Helm 的一键式可复现环境 2026/9/17 3:24:54

Higress MCP 公共实验环境搭建指南:基于 Kind 与 Helm 的一键式可复现环境

Higress MCP 公共实验环境搭建指南:基于 Kind 与 Helm 的一键式可复现环境 【免费下载链接】higress 🤖 AI Gateway | AI Native API Gateway 项目地址: https://gitcode.com/GitHub_Trending/hi/higress 本文围绕 Higress 仓库中 samples/mcp/env…

阅读更多 →
Cursor+Playwright MCP:UI自动化语义化范式革命 2026/9/17 3:24:54

Cursor+Playwright MCP:UI自动化语义化范式革命

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
告别Postman臃肿体验:轻量API调试工具与Git工作流实践 2026/9/17 3:24:54

告别Postman臃肿体验:轻量API调试工具与Git工作流实践

最近我把用了好几年的 Postman 换掉了。不是它不好,而是它实在越来越重。如果你也经历过打开 Postman 要等好几秒、明明只是调个接口却被强制登录卡住、项目里旧集合越堆越多每次加载都在转圈的场景,那你大概能明白我为什么看到“10MB 安装包、启动不到 …

阅读更多 →
Foundry `forge lint` 规则解析:`require-revert-in-loop`(循环内 require/revert 检测与修复) 2026/9/17 3:24:54

Foundry `forge lint` 规则解析:`require-revert-in-loop`(循环内 require/revert 检测与修复)

Foundry forge lint 规则解析:require-revert-in-loop(循环内 require/revert 检测与修复) 【免费下载链接】foundry Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust. 项…

阅读更多 →
Rerun 中的 SphericalHarmonics3Rgb:3D 高斯溅射视角相关颜色的球谐系数编码解析 2026/9/17 3:24:54

Rerun 中的 SphericalHarmonics3Rgb:3D 高斯溅射视角相关颜色的球谐系数编码解析

Rerun 中的 SphericalHarmonics3Rgb:3D 高斯溅射视角相关颜色的球谐系数编码解析 【免费下载链接】rerun Visualize, query, and stream to train on multimodal robotics data. 项目地址: https://gitcode.com/GitHub_Trending/re/rerun 导读:本文…

阅读更多 →
Simulink风力发电系统建模:开关磁阻、异步电机与直驱并网逆变器仿真 2026/9/17 3:21:54

Simulink风力发电系统建模:开关磁阻、异步电机与直驱并网逆变器仿真

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞