deerflow-code/offline-backend-20260512/backend/skill-packages/sentiment-analysis/docs/调用与安装说明.md
2026-09-07 18:24:55 +08:00

3.7 KiB
Raw Permalink Blame History

舆情分析技能:安装与调用说明

1. 包内容

安装包 sentiment-analysis.skill 是 ZIP 格式,解压后包含以下文件:

sentiment-analysis/
├── SKILL.md
├── config/
│   └── sentiment-agent.json    # 接口地址与鉴权配置(独立文件)
└── scripts/
    └── sentiment_stream.py     # AG-UI SSE 调用与流式转换脚本

脚本只使用 Python 标准库,不需要额外执行 pip install。

2. 安装到技能管理

  1. 打开系统的「技能管理」。
  2. 选择「导入/安装技能」,上传 sentiment-analysis.skill。
  3. 在安装预览中确认技能名称为 sentiment-analysis,安装到「我的技能」。
  4. 在技能列表启用该技能;如需让某个智能体使用,再在该智能体的技能配置中勾选「舆情分析」。

安装后,技能目录通常是 /mnt/skills/custom/sentiment-analysis/。实际容器挂载目录以部署配置为准。

3. 配置接口与鉴权

接口地址单独保存在:

config/sentiment-agent.json

默认已填入当前舆情网关地址。鉴权不写入安装包,推荐在运行技能的环境中设置:

export SENTIMENT_AGENT_AUTH_USERNAME='你的用户名'
export SENTIMENT_AGENT_AUTH_PASSWORD='你的密码'

脚本优先读取这两个环境变量。仅在受控的内网测试环境,也可以将 auth.username 和 auth.password 填入 config/sentiment-agent.json;不要将带有真实密码的配置提交到代码仓库或上传到公共技能广场。

如需切换环境,只改 config/sentiment-agent.json 中的 api_url,不需要修改脚本或重新打包。timeout_seconds 为一次请求的连接与读取超时上限,verify_tls 生产环境应保持 true。

4. 调用方法

进入技能目录后运行:

python scripts/sentiment_stream.py \
  --question "请分析某主题近一周的舆情态势、风险点和建议" \
  --format markdown

markdown 适用于普通智能体对话:脚本在上游完成后输出可直接回复给用户的 Markdown。

若调用端能够持续读取标准输出,改用 ndjson 可获得实时标准化事件:

python scripts/sentiment_stream.py \
  --question "请实时分析某主题的舆情" \
  --format ndjson

每行是一个完整 JSON,不需要再解析上游 AG-UI 的字段差异:

type 含义 关键字段
run_started 上游开始运行 threadId, runId
thinking_delta 思考文本增量 messageId, delta
answer_delta 正文文本增量 messageId, delta
run_finished 上游运行结束 threadId, runId
done 本次完整结果汇总 reasoning, answer
error 安全的错误说明 message

5. 传入多轮历史

先准备一个 JSON 数组,例如 history.json:

[
  {"role": "user", "id": "u-1", "content": "请先分析某主题的总体舆情"},
  {"role": "assistant", "id": "a-1", "content": "此前分析结论……"}
]

再调用:

python scripts/sentiment_stream.py \
  --messages-file history.json \
  --question "请补充近三天的风险变化" \
  --format markdown

脚本会把历史与本轮问题转换为上游所需的 messages,并自动生成缺省的 threadId、runId 和本轮消息 id。也可通过 --thread-id、--run-id 显式传入,方便调用方关联日志。

6. 与当前前端的关系

该包是独立的技能调用方式,不修改现有舆情分析前端页面。脚本本身已经实时输出规范化 NDJSON;若未来有新的调用端需要逐字展示,只需消费这些 NDJSON 行,而不用再次对接或解析外部 AG-UI SSE。