本页面介绍了 AFFiNE 的 AI 功能,包括后端架构、前端组件和支持的 AI 功能。它概述了 AFFiNE 如何与 OpenAI、Google Gemini 和 FAL AI 等 AI 提供商集成以提供各种 AI 驱动的功能。有关编辑器中特定 AI 实现的信息,请参阅编辑器系统。
AFFiNE 的 AI 系统(“Copilot”)构建于一个全面的客户端-服务器架构之上,该架构处理各种 AI 功能。后端与外部 AI 提供商集成,管理会话并处理请求,而前端则提供了与这些 AI 服务交互的用户界面。
来源
来源
CopilotController 是 AI API 端点的主入口点。它处理 HTTP 请求、管理流式响应并协调不同服务。
来源
关键方法
chat: 处理非流式文本生成请求chatStream: 处理流式文本生成请求chatWorkflow: 处理复杂工作流执行chatImagesStream: 处理图像生成或修改请求ChatSessionService 管理聊天会话及其消息,提供创建、检索和操作会话的方法。
来源
该服务管理两个主要类
ChatSessionService:高层管理会话,处理创建、检索、分叉和清理ChatSession:表示单个聊天会话,并具有用于操作消息和准备提示的方法CopilotProviderFactory 集成了各种 AI 提供商,并根据能力和模型要求选择合适的提供商。
每个提供商都实现了特定功能的接口
| 提供商 | 功能 |
|---|---|
| OpenAI 提供商 | 文本到文本、文本到嵌入、文本到图像、图像到文本 |
| Gemini 提供商 | 文本到文本 |
| Fal 提供商 | 文本到图像、图像到图像、图像到文本 |
| Perplexity 提供商 | 文本到文本、文本到嵌入 |
来源
PromptService 管理 AI 提示词,即 AI 交互的模板。提示词包括系统指令、示例消息和配置参数,用于指导 AI 的响应。
来源
提示词按用途分类
CopilotWorkflowService 管理复杂 AI 工作流,这些工作流涉及多个步骤和不同的 AI 提供商。工作流表示为带有不同处理步骤节点的图形。
来源
工作流系统支持复杂的多步 AI 流程,其中每一步都可以使用不同的模型或提供商。示例包括:
CopilotResolver 提供用于前端通信的 GraphQL 端点,处理会话管理、消息创建和上下文操作等操作。
来源
ChatPanel 是与 AFFiNE AI 交互的主要 UI 组件。它显示聊天历史记录,管理用户输入,并显示 AI 响应。
来源
ChatPanel 通过以下方式与编辑器集成
AIProvider 是一个客户端服务,用于与后端 AI API 进行交互。它提供聊天会话、历史记录检索和特殊操作的方法。
来源
AIProvider 实现为单例,在应用程序启动期间初始化。它将前端请求映射到后端 API 端点,处理身份验证并处理响应。
AFFiNE 为 AI 聊天体验提供了专门的 UI 组件。
ChatPanelMessages 组件显示聊天历史记录并管理消息渲染。
来源
AIChatInput 组件提供用户输入功能,支持文件上传和输入。
来源
ChatPanelChips 组件管理为 AI 提供额外信息的上下文项。
来源
AFFiNE AI 通过集成各种 AI 模型和提供商,支持广泛的功能。
| 提供商 | 模型 | 功能 |
|---|---|---|
| OpenAI | GPT-4o、GPT-4.1、GPT-4.1-mini、DALL-E 3、文本嵌入 | 文本生成、图像生成、嵌入 |
| Gemini 2.5 Pro、Gemini 2.0 Flash | 文本生成、音频转录 | |
| FAL AI | SDXL、LCM SD15、各种专业模型 | 图像生成、图像编辑、风格迁移 |
| Perplexity | Perplexity 模型 | 文本生成、嵌入 |
来源
AFFiNE 支持各种文本生成功能
| 功能 | 描述 |
|---|---|
| 对话 | 与 AI 助手进行交互式对话 |
| 总结 | 生成文本内容的简洁摘要 |
| 解释 | 解释概念、代码或图像 |
| 翻译 | 在语言之间翻译内容 |
| 代码分析 | 解释和分析代码片段 |
| 网页内容分析 | 总结和提取网页中的见解 |
来源
AFFiNE 提供多种图像功能
| 功能 | 描述 |
|---|---|
| 文本到图像 | 根据文本描述生成图像 |
| 图像到图像 | 根据文本提示转换图像 |
| 风格滤镜 | 应用艺术风格(黏土、素描、动漫、像素) |
| 图像处理 | 放大、移除背景、转换为贴纸 |
| 图像字幕生成 | 为图像生成字幕 |
| 图像解释 | 分析和解释图像内容 |
来源
AFFiNE提供音频转录功能
来源
AFFiNE实现了上下文系统,用于语义理解内容
来源
AFFiNE为专门任务实现了复杂AI工作流,结合了多个AI模型和处理步骤。
演示文稿工作流生成带有标题、章节和图像建议的幻灯片内容
来源
头脑风暴工作流生成层级式思维导图
来源
AFFiNE实现了多个图像风格滤镜工作流
来源
AFFiNE AI通过几个组件与编辑器集成
EditorChatPanel组件将聊天面板集成到编辑器侧边栏中
来源
AIChatBlockPeekView组件为编辑器中的AI聊天块提供预览视图
来源
effects.ts文件将所有AI组件注册到编辑器中
来源
setupAIProvider函数在应用程序启动时初始化AIProvider
来源
AFFiNE的AI功能为内容创作、分析和增强提供了一整套全面的能力。该系统集成了多个AI提供商和模型,提供广泛的功能,所有这些功能都集成在编辑器的界面中,以提供无缝的用户体验。
该架构设计为可扩展的,允许根据需要添加新的AI功能和提供商。前端和后端组件之间的分离使得AI功能能够高效地处理和交付,并妥善处理流式响应和复杂工作流。