跳转到内容

AI对话模块

STK 应用集成了强大的 AI 对话功能,允许用户与 AI 模型进行交互,获取信息和解决问题。本指南将介绍如何设置和使用这一功能。

功能概述

STK 的 AI 对话功能提供以下特性:

  • 支持公有和私有 AI 模型
  • 集成 Ollama 本地模型
  • 支持基于文档的 RAG (检索增强生成) 技术
  • 可自定义系统提示词和模型参数
  • 可保存多个模型配置
  • 提供性能分析和日志记录

使用步骤

1. 选择或配置 AI 模型

在对话界面上方,您可以从下拉菜单中选择预配置的 AI 模型,或使用 ”+” 按钮添加新模型。

添加新模型配置

点击 ”+” 按钮打开模型配置对话框,您可以配置:

基本设置

  • 配置名称:为您的配置命名
  • 模型类型:选择公有模型(本地 Ollama)或私有模型(需要 API 密钥)
  • 主机/端点:模型服务器地址
  • 端口:服务器端口 (Ollama 默认为 11434)
  • API 密钥:私有模型的访问密钥
  • 模型名称:使用的具体模型,如 deepseek-coder, gpt-4 等

高级设置

  • 温度:控制输出的随机性 (0-1.0)
  • 最大输出长度:限制 AI 回答的长度
  • 系统提示词:定义 AI 行为和角色的指令
  • RAG 功能:启用基于文档的问答

2. 连接到模型

选择配置后,点击 “连接” 按钮建立与 AI 模型的连接。连接成功后,状态标签会从 “未连接” 变为 “已连接”。

您也可以点击 “连接情况” 验证模型服务的详细状态,查看可用模型列表。

3. 提问和对话

在底部输入框中输入您的问题,然后按回车键或点击 “发送” 按钮。

AI 会处理您的问题并在聊天历史区域生成回答。回答生成过程中,您可以看到实时流式输出。

中断 AI 回答

如果您需要停止当前正在生成的回答,可以:

  1. 在 AI 正在生成回答时,点击 “发送” 按钮旁边的 “取消” 按钮
  2. 或按 Esc 键来中断响应生成过程

系统会立即停止当前回答的生成,并在聊天历史中显示 “[用户取消了响应生成]” 的提示。这对于处理过长的回答或回答方向不符合预期时特别有用。

复制消息内容

您可以轻松复制对话中的消息内容:

  1. 在聊天历史区域中,使用鼠标选择要复制的文本
  2. 右键点击并选择 “复制”,或使用键盘快捷键 Ctrl+C (Windows/Linux) 或 Cmd+C (Mac)
  3. 此外,每条 AI 回答的末尾都有一个复制按钮,点击可一键复制整个回答内容

复制功能支持富文本格式,包括代码块的语法高亮,便于将内容粘贴到其他编辑器中保持格式。

4. 使用 RAG 功能

RAG (检索增强生成) 功能允许 AI 基于特定文档回答问题,特别适合解答与软件使用相关的问题。

要使用 RAG 功能:

  1. 在模型配置的高级设置中启用 “导入使用手册(使用 RAG 技术)”
  2. 点击 “浏览…” 选择一个 PDF 格式的文档
  3. 保存配置并连接模型
  4. 提问与文档内容相关的问题

提问后,系统会先处理文档内容,提取相关信息,然后 AI 会基于这些信息生成更准确的回答。

注意:RAG 功能依赖 sentence-transformers 库,需要适当的 Python 环境支持。

5. 模型配置管理

您可以使用界面上的按钮管理您的模型配置:

  • ⚙️ (设置):编辑当前选中的模型配置
  • × (删除):删除当前选中的模型配置

所有配置会自动保存,下次启动应用时仍然可用。

高级选项

系统提示词

系统提示词可以定义 AI 助手的角色、知识范围和回答风格。有效的系统提示词示例:

你是一个专业的工程技术顾问,专攻STK软件的使用。请以简洁、准确的方式回答问题,并在适当时提供实用的代码示例。

性能分析

在分析与日志选项卡中,您可以启用:

  • 性能分析:在回答后显示响应时间和输出长度
  • 查询日志:将所有对话保存到日志文件,便于后续查看

对话历史管理

STK 的 AI 对话功能提供了多种管理对话历史的方式:

  • 清空对话:点击聊天历史区域上方的 “清空” 按钮可以清除当前所有对话内容,开始新的会话
  • 保存对话:点击 “保存” 按钮可以将当前对话历史保存为 HTML 或纯文本文件,方便存档或分享
  • 载入对话:您可以通过 “载入” 按钮恢复之前保存的对话历史

故障排除

连接问题

如果无法连接到模型服务:

  1. 检查主机地址和端口是否正确
  2. 验证 Ollama 服务是否正在运行 (公有模型)
  3. 确认 API 密钥是否有效 (私有模型)
  4. 使用 “连接情况” 按钮获取更详细的诊断信息

内存问题

大型模型需要足够的系统内存。如果遇到内存相关错误:

  1. 关闭其他内存密集型应用程序
  2. 尝试使用较小的模型 (如从 13B 降至 7B)
  3. 增加系统虚拟内存/交换空间