智能助手
Starfish 智能助手可在因子、策略和分析等方面为用户带来方便。本节将介绍智能助手的部署及相关使用示例。
部署
根据部署所述完成 Starfish 部署后,执行以下命令进入 /server/web/starfish 目录:
cd /home/dolphindb/server/web/starfish/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 助手” ,开启会话窗口,用户在此进行对话交互。通过右上角的窗口缩放按钮,可放大或缩小会话界面。
在对话窗口中,用户可以选择不同的模型和 Agent。Agent 能够基于对话上下文,自动或按用户指令调用知识库和 MCP 工具,从而支持复杂的业务流程执行与知识检索。
系统内置以下三类 Agent 供用户直接使用:
- 因子 Agent:用于因子脚本编写与处理,支持量化因子开发与分析。
- 策略 Agent:用于策略脚本和回测开发,支持多资产、多行情类型。
- 分析 Agent:用于数据分析与业务洞察,辅助结果分析与解读。
设置
点击左下角的“设置”入口,即可进入配置界面,在此可集中管理各类配置选项,包括模型配置、Agent 配置、MCP 配置以及知识库管理等。
模型配置
创建模型
模型配置用于统一管理系统中可用于 AI 对话的模型平台及其具体模型(如 DeepSeek、OpenAI 等)。用户可以在该配置中选择启用的模型,或新增、编辑模型参数,以满足不同业务场景的需求。
点击“模型配置”后,点击左上角“新建设置”按钮,进入配置编辑页面。填写相关参数后,点击右下角的“保存”按钮即可保存。每个用户均可保存自己的配置。
配置参数说明:
| 字段 | 含义 |
|---|---|
| AI Endpoint | AI 服务的接口地址,如
http://api.openai.com/v1/chat/completions |
| AI Backend URL | 部署在本地用于转发 AI 请求的后端地址,默认值为
http://localhost:3789 |
| API Key | 访问 AI 接口所需的鉴权令牌 |
| 温度 | 控制生成内容随机性的参数:
|
| 错误重试次数 | 当模型调用失败时,系统自动重新发起请求的次数上限 |
| 配置类型 | 控制模型配置的可见性可见范围和使用权限,支持私有配置与系统级配置。 |
系统配置与私有配置:
- 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.5、deepseek-chat。 - 模型名称: 用于页面显示的名称,可随时修改,例如:OpenAI GPT-3.5、DeepSeek 中文对话模型。
修改或删除模型
在模型列表中,可对已有模型进行编辑或删除操作。
设为默认
可将某个模型设为当前平台的默认模型。 当新建对话或未指定模型时,系统将自动使用该默认模型。
Agent 配置
Agent 智能体配置用于统一管理系统中所有可用于对话的智能体。用户可以对智能体进行新建、编辑、删除、导入和导出等操作,并灵活配置其角色定位、任务目标、工作流程、可用知识库以及 MCP 工具。
查看智能体
点击配置中的 “Agent 配置”,进入智能体管理页面。页面左侧展示系统中已创建的所有智能体,包括系统智能体和私有智能体。
智能体配置管理
新增 Agent
点击左上角“添加”按钮,填写相关参数并保存,即可创建新的 Agent;点击取消,退出配置页面,返回对话界面。
参数说明
| 字段 | 含义 |
|---|---|
| Agent 名称 | 自定义唯一显示名称。 |
| Agent 描述 | 选填,用于说明职责或适用场景。 |
| 配置类型 | 选择私有或系统(仅管理员可设置系统类型)。 |
| 角色与任务 | 选填,定义智能体的身份和主要任务。 |
| 允许使用的 MCP 配置 | 选填,选择可调用的 MCP 服务器(多选)。 |
| 允许使用的知识库 | 选填,控制模型配置的可见性可见范围和使用权限,支持私有配置与系统级配置。 |
| 工作流程 | 选填,设置智能体的多步执行流程。 |
| 发送库表信息 | 是否允许向智能体提供数据库与表结构信息,默认关闭。 |
| 启用函数调用 | 是否允许调用函数,包括用户自定义函数及内置的 coldefs 和
execute,默认不允许。注:对于用户自定义函数,需先在 DolphinDB 中将其注册为 function view,然后在此处配置为可调用函数。 |
编辑和删除 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/,可根据实际环境修改) |
| 认证类型 | 选择认证方式,支持以下两种类型:
注: 选择认证类型后,请确保填写的信息与服务器端配置一致,否则
Agent 将无法访问 MCP 工具。 |
| 用户名 | 用于访问 MCP Server 的账户名称。 |
| 密码 | 与用户名配套的密码。 |
| Token | 由 MCP Server 生成并分发的访问令牌。 |
| 传输类型 | 指定 Agent 与 MCP Server 之间的数据传输方式。支持 HTTP 和 SSE 两种方式。 |
| 启用 | 控制该服务器或工具是否可用。 |
编辑和删除 MCP 服务器
在服务器列表中,点击“编辑”可修改已有服务器信息;点击“删除”可移除不再使用的服务器(删除操作不可恢复,请谨慎执行);可通过开关控件启用或停用该 MCP 服务器()。
知识库管理
知识库配置用于统一管理可供 AI 助手调用的知识库资源。
所有用户均可在此创建、维护知识库,并上传或管理文档,实现企业知识的集中存储与智能检索。
进入“设置”中的“知识库配置”,可查看当前系统中已创建的所有知识库。
知识库操作
新增知识库
点击 “添加知识库”,输入知识库名称,即可创建新的知识库条目。
配置知识库参数
在知识库列表中点击 “配置”,进入该知识库的详细设置页面。
需填写以下参数:
- DolphinDB 服务器 URL:知识库数据存储服务器地址
- 用户名 / 密码:访问服务器的认证信息
- 数据库名 / 表名:指定知识库存储的数据库与表
- 检索数量:每次问答检索返回的结果条数(1–10,默认 3)
- 向量模型路径:用于文档向量化的模型文件路径
- 词表路径:用于分词或向量化的词表文件路径
| 字段名 | 类型 | 说明 |
|---|---|---|
| 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 个其他的因子。”
AI 将返回 4 个新因子函数,可对其进行多选、筛选与进一步使用。
策略生成
输入策略描述:
点击对话框右上角的下拉菜单,切换为策略模式。然后在对话框中描述你的策略内容。需包含品种类型和行情频率。目前支持的品种包括:股票、期货、期权、通用、数字货币、上交所债券、cfets x_Bond 行情债券、融资融券;行情频率支持:日频、分钟频、快照频。
示例输入:“用 DolphinDB 创建一个策略,基于股票快照行情数据,实现当委托买量大于委托卖量的 2 倍时买入 200 股,当委托卖量大于委托买量的 2 倍时卖出 200 股,不需要考虑复杂的持仓情况,也不需要订阅任何指标”
生成策略代码:
发送描述后,AI 开始生成策略代码。输出内容通常包含:
- 策略类型
- 行情类型
- 回调函数代码
确认策略逻辑:
确认返回的策略代码逻辑无误后,点击“创建策略”,系统会根据品种和行情频率创建对应的策略,并且将自动跳转至策略的编辑页面,并更新代码内容。
策略试运行与回测:
策略创建后,将出现预设选择与“运行”按钮。点击“运行”后,系统将进入回测运行页面,任务完成后可查看回测报告,包含交易详情、绩效表现及可视化结果。
数据分析
点击对话框右上角的下拉菜单,切换为分析模式。然后在对话栏中输入因子的自然语言描述。例如:
“基于 1 分钟行情数据,计算每只股票每分钟成交量的标准差。”
系统将会寻找所有的库表信息,返回对应的数据脚本,并且尝试执行:
- 若执行成功,返回结果;
- 若执行失败,系统会收集错误信息,并提交给大模型修正,直至脚本无误。
