智能助手

Starfish 智能助手可在因子、策略和分析等方面为用户带来方便。本节将介绍智能助手的部署及相关使用示例。

部署

根据部署所述完成 Starfish 部署后,执行以下命令进入 /server/web/starfish 目录:

cd /home/dolphindb/server/web/starfish/starfish_ai_backend
为 starfish_ai_backend 赋予可执行权限
chmod +x starfish_ai_backend

启动智能助手,其中 IP 和端口请根据实际进行调整:

nohup ./starfish_ai_backend --host 192.168.100.77 --port 8669 > server.log 2>&1 &

开启对话

点击因子平台上方工具栏中的 “AI 助手” ,开启会话窗口,用户在此进行对话交互。通过右上角的窗口缩放按钮,可放大或缩小会话界面。

1. 图 10-1 工具栏 AI 助手

在对话窗口中,用户可以选择不同的模型和 Agent。Agent 能够基于对话上下文,自动或按用户指令调用知识库和 MCP 工具,从而支持复杂的业务流程执行与知识检索。

系统内置以下三类 Agent 供用户直接使用:

  • 因子 Agent:用于因子脚本编写与处理,支持量化因子开发与分析。
  • 策略 Agent:用于策略脚本和回测开发,支持多资产、多行情类型。
  • 分析 Agent:用于数据分析与业务洞察,辅助结果分析与解读。
2. 图 10-2 助手对话窗口

设置

点击左下角的“设置”入口,即可进入配置界面,在此可集中管理各类配置选项,包括模型配置、Agent 配置、MCP 配置以及知识库管理等。

模型配置

创建模型

模型配置用于统一管理系统中可用于 AI 对话的模型平台及其具体模型(如 DeepSeek、OpenAI 等)。用户可以在该配置中选择启用的模型,或新增、编辑模型参数,以满足不同业务场景的需求。

点击“模型配置”后,点击左上角“新建设置”按钮,进入配置编辑页面。填写相关参数后,点击右下角的“保存”按钮即可保存。每个用户均可保存自己的配置。

3. 图 10-3 助手配置页

配置参数说明:

字段 含义
AI Endpoint AI 服务的接口地址,如 http://api.openai.com/v1/chat/completions
AI Backend URL 部署在本地用于转发 AI 请求的后端地址,默认值为 http://localhost:3789
API Key 访问 AI 接口所需的鉴权令牌
温度 控制生成内容随机性的参数:
  • 温度较低(如 0.1 或 0.2):生成内容更确定、连贯
  • 温度较高(如 0.8 或 1.0 以上):内容更具创造性,但连贯性可能较弱
错误重试次数 当模型调用失败时,系统自动重新发起请求的次数上限
配置类型 控制模型配置的可见性可见范围和使用权限,支持私有配置与系统级配置。

系统配置与私有配置:

  • Admin 用户权限:

    Admin 用户可选择将配置类型设为“系统配置”,供所有用户使用。系统配置只能由 Admin 用户创建,且可创建多个。

  • 私有配置:

    普通用户可创建属于自己的“私有配置”,并可将任意配置设为默认。默认配置将在聊天启动时自动激活。

注意,因子平台 Agent 支持以流式传输的,且 chunk 符合以下格式的 API:

interface ChatCompletionChunk {
  id: string;
  choices: Array<{
    delta: {
      content?: string | null;
      // 推理时,推理内容必须在该字段内
      reasoning_content?: string | null;
      // 部分平台会在 reasoning 字段内,比如 OpenRouter
      reasoning?: string | null
      function_call?: {
        arguments?: string;
        name?: string;
      };
      refusal?: string | null;
      role?: 'system' | 'user' | 'assistant';

    };
    finish_reason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | 'function_call' | null;
    index: number;
  }>;
  model: string;
  usage?: {
    completion_tokens: number;
    prompt_tokens: number;
    total_tokens: number;
  } | null;
}

模型列表操作说明

对于已有模型,可在模型配置页面对模型实例进行新增、修改和删除操作。通过该配置,用户可以管理系统可用的模型列表,并指定默认模型用于新建对话或自动调用。

新增模型

在模型列表下点击 “新增模型”,填写以下信息:

  • 模型 ID: 模型的唯一标识符,创建后不可修改,例如:gpt-3.5deepseek-chat
  • 模型名称: 用于页面显示的名称,可随时修改,例如:OpenAI GPT-3.5DeepSeek 中文对话模型

修改或删除模型

在模型列表中,可对已有模型进行编辑或删除操作。

设为默认

可将某个模型设为当前平台的默认模型。 当新建对话或未指定模型时,系统将自动使用该默认模型。

Agent 配置

Agent 智能体配置用于统一管理系统中所有可用于对话的智能体。用户可以对智能体进行新建、编辑、删除、导入和导出等操作,并灵活配置其角色定位、任务目标、工作流程、可用知识库以及 MCP 工具。

查看智能体

点击配置中的 “Agent 配置”,进入智能体管理页面。页面左侧展示系统中已创建的所有智能体,包括系统智能体和私有智能体。

智能体配置管理

新增 Agent

点击左上角“添加”按钮,填写相关参数并保存,即可创建新的 Agent;点击取消,退出配置页面,返回对话界面。

参数说明

字段 含义
Agent 名称 自定义唯一显示名称。
Agent 描述 选填,用于说明职责或适用场景。
配置类型 选择私有或系统(仅管理员可设置系统类型)。
Agent 类型 选填,选择 agent 类型后,将根据类型自动加载对应的提示词模板及函数调用规范。
角色与任务 选填,定义智能体的身份和主要任务。
允许使用的 MCP 配置 选填,选择可调用的 MCP 服务器(多选)。
允许使用的知识库 选填,控制模型配置的可见性可见范围和使用权限,支持私有配置与系统级配置。
工作流程 选填,设置智能体的多步执行流程。
发送库表信息 是否允许向智能体提供数据库与表结构信息,默认关闭。
启用函数调用 是否允许调用函数,包括用户自定义函数及内置的 coldefsexecute,默认不允许。

注:对于用户自定义函数,需先在 DolphinDB 中将其注册为 function view,然后在此处配置为可调用函数。

预览 System Prompt

完成 Agent 配置后,可通过“预览”功能查看最终生成的 System Prompt,并确认其内容是否符合预期。确认无误后,点击“保存”完成 Agent 配置;如需调整,可返回配置页面修改相关设置后重新预览。

编辑和删除 Agent

在 Agent 列表中,点击任意智能体进入配置界面进行修改,保存后立即生效。

在 Agent 列表中,将鼠标悬停在要删除的 Agent 上,点击“删除”按钮即可移除该智能体。注意: 删除操作不可恢复,请谨慎执行。

MCP 管理

MCP(Model Context Protocol)是一种标准协议,用于解耦 会话端(AI 助手) 与 工具端(MCP Server 等后端工具库)。

通过 MCP,Agent 可在对话中灵活调用外部工具,实现数据分析、脚本执行和业务处理能力的扩展。

该模块对所有用户公开,可统一管理 MCP 服务器及其工具,为 Agent 提供统一的外部能力支撑。

查看 MCP 服务器列表

在 “设置”中点击 “MCP 管理” ,进入 MCP 服务器管理页面,可在此查看 MCP 服务器管理列表,包括:

  • 服务器:列出当前所有 MCP 服务器及其状态
  • 资源:与 MCP 服务器相关的资源信息
  • 工具:显示 MCP 服务器中的所有可用工具(含描述和参数配置)

MCP 服务器操作

可对 MCP 服务器进行 新增、修改、删除、启用、禁用及刷新 操作,支持与 AI 助手协同使用。

新增 MCP 服务器

点击“添加 MCP 服务器”按钮,填写相关参数并保存,即可创建新的 MCP;点击取消,退出添加页面,返回 MCP 服务器管理界面。

参数说明

字段 含义
服务器名称 自定义唯一显示名称。
服务器地址 MCP Server 的访问 URL(默认 http://localhost:8848/,可根据实际环境修改)
认证类型 选择认证方式,支持以下两种类型:
  • 用户名 + 密码:通过账户名和密码进行身份验证
  • Token:通过访问令牌(Token)进行身份验证,无需用户名和密码
注:
选择认证类型后,请确保填写的信息与服务器端配置一致,否则 Agent 将无法访问 MCP 工具。
用户名 用于访问 MCP Server 的账户名称。
密码 与用户名配套的密码。
Token 由 MCP Server 生成并分发的访问令牌。
传输类型 指定 Agent 与 MCP Server 之间的数据传输方式。支持 HTTP 和 SSE 两种方式。
启用 控制该服务器或工具是否可用。

编辑和删除 MCP 服务器

在服务器列表中,点击“编辑”可修改已有服务器信息;点击“删除”可移除不再使用的服务器(删除操作不可恢复,请谨慎执行);可通过开关控件启用或停用该 MCP 服务器()。

知识库管理

知识库配置用于统一管理可供 AI 助手调用的知识库资源。

所有用户均可在此创建、维护知识库,并上传或管理文档,实现企业知识的集中存储与智能检索。

进入“设置”中的“知识库配置”,可查看当前系统中已创建的所有知识库。

知识库操作

新增知识库

点击 “添加知识库”,输入知识库名称,即可创建新的知识库条目。

配置知识库参数

在知识库列表中点击 “配置”,进入该知识库的详细设置页面。

需填写以下参数:

  • DolphinDB 服务器 URL:知识库数据存储服务器地址
  • 用户名 / 密码:访问服务器的认证信息
  • 数据库名 / 表名:指定知识库存储的数据库与表
  • 检索数量:每次问答检索返回的结果条数(1–10,默认 3)
  • 向量模型路径:用于文档向量化的模型文件路径
  • 词表路径:用于分词或向量化的词表文件路径
配置的 DolphinDB 数据库和表需遵循以下字段规范(字段名和类型都要保持一致):
字段名 类型 说明
id STRING 文档唯一标识
updateTime TIMESTAMP 更新时间
content STRING 文档内容
embedding FLOAT[] 文档向量
metadata STRING 文档元信息

如需创建标准表结构,可参考下方示例脚本(管理员使用):

db1 = database(, HASH, [STRING, 10])
db2 = database(, VALUE, 2017.08M..2017.09M)
db = database(directory = 'dfs://DocsVecDB2', partitionType = COMPO, partitionScheme = [db1,db2], engine= `PKEY, atomic = `TRANS)
db.createPartitionedTable(table = table(1:0, ["id","updateTime","content","embedding","metadata"],["STRING","TIMESTAMP","BLOB","FLOAT[]","BLOB"]),tableName = 'data',partitionColumns =`id`updateTime,primaryKey = `id`updateTime,indexes = {"embedding": "vectorindex(type=hnsw, dim=1024)"})

填写完成后,点击 “保存”,系统将保存该知识库配置。

配置知识库文档

知识库参数保存成功后,即可通过文档管理页面上传和管理文档。

点击 “添加文档”,上传 PDF 文件(最大 10MB)。系统会自动解析内容并生成向量,用户可手动修改文档标题和内容。

在文档管理页面下可查看该知识库已上传的所有文档及其基本信息。当前版本仅支持查看文档,不支持删除或修改列表中的文档。

删除或刷新知识库

在知识库配置页面,点击“刷新”按钮即可刷新知识库列表。若需删除某个知识库,点击其右侧的 “删除” 按钮即可将其移除(删除后不可恢复,请谨慎操作)。

因子生成

因子开发

输入因子描述:

点击对话框右上角的下拉菜单,切换为因子模式。然后在对话栏中输入因子的自然语言描述。例如:

“我要用DolphinDB计算world quant因子中的alpha41,怎么算?公式按照这个:(((high * low)^0.5) - vwap)。”

生成因子函数代码:

发送后,等待 AI 思考完成,将返回包含因子函数代码的完整回答。该代码即为因子脚本。

4. 图 10-4 生成因子代码

首次筛选与试运行:

浏览返回的因子函数,选取符合要求的因子,点击下一步。

5. 图 10-5 选择因子代码

执行试运行,即执行函数定义。

6. 图 10-6 试运行

创建因子模块:

试运行成功后,点击“基于该脚本创建因子”,即可创建新的因子模块,模块将包含已选的因子函数。

7. 图 10-7 创建因子模块

模块编辑与计算评价设置:

系统自动跳转至因子模块编辑页,同时在对话框中展示可选的计算与评价模板。

8. 图 10-8 因子模块配置

运行与结果查看:

设置完成后点击“执行”,系统将启动因子的计算与评价任务。右上角弹窗可查看任务状态,点击“查看”即可查看运行详情与因子评价,内容包括因子表现、计算数据和可视化结果。

进阶用法

你可以:

  • 一次性生成多个因子;
  • 或者在已有因子基础上提出新指令,例如:“请基于这个因子,衍生出 4 个其他的因子。”

AI 将返回 4 个新因子函数,可对其进行多选、筛选与进一步使用。

策略生成

输入策略描述:

点击对话框右上角的下拉菜单,切换为策略模式。然后在对话框中描述你的策略内容。需包含品种类型和行情频率。目前支持的品种包括:股票、期货、期权、通用、数字货币、上交所债券、cfets x_Bond 行情债券、融资融券;行情频率支持:日频、分钟频、快照频。

示例输入:“用 DolphinDB 创建一个策略,基于股票快照行情数据,实现当委托买量大于委托卖量的 2 倍时买入 200 股,当委托卖量大于委托买量的 2 倍时卖出 200 股,不需要考虑复杂的持仓情况,也不需要订阅任何指标”

生成策略代码:

发送描述后,AI 开始生成策略代码。输出内容通常包含:

  • 策略类型
  • 行情类型
  • 回调函数代码
9. 图 10-9 生成策略代码

确认策略逻辑:

确认返回的策略代码逻辑无误后,点击“创建策略”,系统会根据品种和行情频率创建对应的策略,并且将自动跳转至策略的编辑页面,并更新代码内容。

策略试运行与回测:

策略创建后,将出现预设选择与“运行”按钮。点击“运行”后,系统将进入回测运行页面,任务完成后可查看回测报告,包含交易详情、绩效表现及可视化结果。

10. 图 10-10 运行策略

数据分析

点击对话框右上角的下拉菜单,切换为分析模式。然后在对话栏中输入因子的自然语言描述。例如:

“基于 1 分钟行情数据,计算每只股票每分钟成交量的标准差。”

系统将会寻找所有的库表信息,返回对应的数据脚本,并且尝试执行:

  • 若执行成功,返回结果;
  • 若执行失败,系统会收集错误信息,并提交给大模型修正,直至脚本无误。