Add simple-llm skill for basic LLM requests
这个提交包含在:
306
simple-llm/SKILL.md
普通文件
306
simple-llm/SKILL.md
普通文件
@@ -0,0 +1,306 @@
|
||||
---
|
||||
name: simple-llm
|
||||
description: 简单的 LLM 请求 - 明确上下文、明确需求结果,不支持推理/工具调用/复杂过程,支持 1M 上下文和图片识别
|
||||
domain: utilities
|
||||
version: 1.2.0
|
||||
tags: [llm, api, simple, context, qwen, vision]
|
||||
triggers:
|
||||
keywords:
|
||||
primary: [llm, simple llm, 简单llm, qwen, 大模型]
|
||||
secondary: [文本生成, 总结, 翻译, 改写, 分析, 图片识别, 图片分析, ocr]
|
||||
context_boost: [文本, context, context window, 上下文, 图片]
|
||||
priority: low
|
||||
---
|
||||
|
||||
# Simple LLM
|
||||
|
||||
简单的 LLM 请求工具,适用于明确上下文和明确需求结果的场景。
|
||||
|
||||
## 特点
|
||||
|
||||
| 特性 | 说明 |
|
||||
|------|------|
|
||||
| 上下文 | 支持 1M tokens |
|
||||
| 成本 | 本地部署,无 token 成本 |
|
||||
| 功能 | 文本生成 + 图片识别/分析 |
|
||||
| 限制 | 不支持推理、工具调用、复杂过程 |
|
||||
|
||||
## API 配置
|
||||
|
||||
```
|
||||
Endpoint: https://one.hao.work/v1/chat/completions
|
||||
Model: qwen3.5-plus
|
||||
Auth: Bearer sk-2e51c350efdeb41e27fcea4c3116567e514435db291b291e
|
||||
```
|
||||
|
||||
## 图片上传服务
|
||||
|
||||
本地图片需要先上传获取 URL,再传给 LLM 识别。
|
||||
|
||||
### 上传 API
|
||||
|
||||
```bash
|
||||
curl -u admin:whoami139 \
|
||||
-F "file=@/path/to/image.png" \
|
||||
https://img.hao.work/upload
|
||||
```
|
||||
|
||||
| 参数 | 说明 |
|
||||
|------|------|
|
||||
| file | 图片或 JSON 文件 |
|
||||
| ttl_days | 可选,默认 90 天,小于 90 天按 90 天保存 |
|
||||
|
||||
### 返回示例
|
||||
|
||||
```json
|
||||
{"filename":"abc123.png","size":12345,"url":"https://img.hao.work/images/abc123.png"}
|
||||
```
|
||||
|
||||
### 本地图片处理流程
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 本地图片识别流程 │
|
||||
│ │
|
||||
│ ┌─────────────┐ │
|
||||
│ │ 本地图片路径 │ │
|
||||
│ └──────┬──────┘ │
|
||||
│ ▼ │
|
||||
│ ┌─────────────┐ │
|
||||
│ │ 上传到图床 │ curl -u admin:whoami139 -F "file=@..." │
|
||||
│ │ img.hao.work│ │
|
||||
│ └──────┬──────┘ │
|
||||
│ ▼ │
|
||||
│ ┌─────────────┐ │
|
||||
│ │ 获取图片URL │ https://img.hao.work/images/xxx.png │
|
||||
│ └──────┬──────┘ │
|
||||
│ ▼ │
|
||||
│ ┌─────────────┐ │
|
||||
│ │ 调用LLM识别 │ image_url + prompt │
|
||||
│ └──────┬──────┘ │
|
||||
│ ▼ │
|
||||
│ ┌─────────────┐ │
|
||||
│ │ 返回结果 │ │
|
||||
│ └─────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 使用方式
|
||||
|
||||
### 文本请求
|
||||
|
||||
```bash
|
||||
curl -X POST https://one.hao.work/v1/chat/completions \
|
||||
-H "Authorization: Bearer sk-2e51c350efdeb41e27fcea4c3116567e514435db291b291e" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "qwen3.5-plus",
|
||||
"messages": [{"role": "user", "content": "<你的提示词>"}],
|
||||
"stream": true
|
||||
}'
|
||||
```
|
||||
|
||||
### 图片识别请求
|
||||
|
||||
```bash
|
||||
curl -X POST https://one.hao.work/v1/chat/completions \
|
||||
-H "Authorization: Bearer sk-2e51c350efdeb41e27fcea4c3116567e514435db291b291e" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "qwen3.5-plus",
|
||||
"messages": [{
|
||||
"role": "user",
|
||||
"content": [
|
||||
{"type": "text", "text": "<你的问题或指令>"},
|
||||
{"type": "image_url", "image_url": {"url": "https://example.com/image.png"}}
|
||||
]
|
||||
}],
|
||||
"stream": true
|
||||
}'
|
||||
```
|
||||
|
||||
### 多图片请求
|
||||
|
||||
```bash
|
||||
curl -X POST https://one.hao.work/v1/chat/completions \
|
||||
-H "Authorization: Bearer sk-2e51c350efdeb41e27fcea4c3116567e514435db291b291e" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "qwen3.5-plus",
|
||||
"messages": [{
|
||||
"role": "user",
|
||||
"content": [
|
||||
{"type": "text", "text": "对比这两张图片的区别"},
|
||||
{"type": "image_url", "image_url": {"url": "https://example.com/image1.png"}},
|
||||
{"type": "image_url", "image_url": {"url": "https://example.com/image2.png"}}
|
||||
]
|
||||
}],
|
||||
"stream": true
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 自动任务分配机制
|
||||
|
||||
当主模型接收到任务时,自动评估是否适合委托给 Simple LLM:
|
||||
|
||||
### 任务适配规则
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 任务分发决策 │
|
||||
│ │
|
||||
│ 收到任务 │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ ┌─────────────┐ 否 ┌─────────────┐ │
|
||||
│ │ 是否需要推理? │ ──────→ │ 主模型处理 │ │
|
||||
│ └─────────────┘ └─────────────┘ │
|
||||
│ │是 │
|
||||
│ ▼ │
|
||||
│ ┌─────────────┐ 是 ┌─────────────┐ │
|
||||
│ │ 是否需要工具? │ ──────→ │ 主模型处理 │ │
|
||||
│ └─────────────┘ └─────────────┘ │
|
||||
│ │否 │
|
||||
│ ▼ │
|
||||
│ ┌─────────────┐ 是 ┌─────────────┐ │
|
||||
│ │ 是否多步骤? │ ──────→ │ 主模型处理 │ │
|
||||
│ └─────────────┘ └─────────────┘ │
|
||||
│ │否 │
|
||||
│ ▼ │
|
||||
│ ┌─────────────┐ │
|
||||
│ │ Simple LLM │ ──→ 执行 → 评估 → 记录结果 │
|
||||
│ └─────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 适合自动分配的任务类型
|
||||
|
||||
| 类型 | 示例 | 优先级 |
|
||||
|------|------|--------|
|
||||
| 文本总结 | 总结这篇文章的核心观点 | 高 |
|
||||
| 翻译 | 将这段文字翻译成英文 | 高 |
|
||||
| 格式转换 | 将 JSON 转成 YAML | 高 |
|
||||
| 代码解释 | 这段代码做了什么 | 中 |
|
||||
| 图片描述 | 描述这张图片的内容 | 高 |
|
||||
| OCR | 识别图片中的文字 | 高 |
|
||||
| 简单分析 | 分析这段文字的情感倾向 | 中 |
|
||||
| 改写润色 | 改写这段文字使其更专业 | 中 |
|
||||
|
||||
### 不适合分配的任务
|
||||
|
||||
- 需要多轮对话推理
|
||||
- 需要调用外部工具/API
|
||||
- 需要文件系统操作
|
||||
- 需要代码执行验证
|
||||
- 复杂的规划和决策
|
||||
|
||||
---
|
||||
|
||||
## 效果评估与记录
|
||||
|
||||
### 评估标准
|
||||
|
||||
执行完成后,按以下标准评估效果:
|
||||
|
||||
```yaml
|
||||
评估维度:
|
||||
准确性: 输出是否正确回答了问题 (1-5)
|
||||
完整性: 输出是否覆盖了所有要求 (1-5)
|
||||
格式: 输出格式是否符合预期 (1-5)
|
||||
速度: 响应是否及时 (1-5)
|
||||
|
||||
综合评分: (准确性 + 完整性 + 格式) / 3
|
||||
```
|
||||
|
||||
### 记录机制
|
||||
|
||||
在 `~/.agents/skills/simple-llm/records.json` 中记录:
|
||||
|
||||
```json
|
||||
{
|
||||
"task_records": [
|
||||
{
|
||||
"id": "task_001",
|
||||
"timestamp": "2026-02-26T10:00:00Z",
|
||||
"task_type": "summarize",
|
||||
"prompt": "总结以下文章...",
|
||||
"result_quality": 4.5,
|
||||
"success": true,
|
||||
"notes": "总结准确,要点清晰"
|
||||
}
|
||||
],
|
||||
"type_stats": {
|
||||
"summarize": {"count": 10, "avg_quality": 4.3},
|
||||
"translate": {"count": 15, "avg_quality": 4.5},
|
||||
"ocr": {"count": 5, "avg_quality": 4.0}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 优先级调整
|
||||
|
||||
根据历史记录动态调整任务分配优先级:
|
||||
|
||||
```
|
||||
if (任务类型 in type_stats && avg_quality >= 4.0) {
|
||||
优先分配给 Simple LLM
|
||||
} else if (任务类型 in type_stats && avg_quality < 3.0) {
|
||||
优先使用主模型
|
||||
} else {
|
||||
首次尝试 Simple LLM,记录结果
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 示例模板
|
||||
|
||||
### 文本总结
|
||||
|
||||
```
|
||||
请总结以下文章的核心内容,用 3-5 个要点表示:
|
||||
|
||||
[文章内容]
|
||||
|
||||
要求:
|
||||
- 每个要点不超过 50 字
|
||||
- 保留关键数据和结论
|
||||
```
|
||||
|
||||
### 图片识别
|
||||
|
||||
```
|
||||
识别这张图片中的所有文字,按原文排版输出:
|
||||
|
||||
[图片URL]
|
||||
|
||||
要求:
|
||||
- 保持原始排版
|
||||
- 标注不确定的文字
|
||||
```
|
||||
|
||||
### 翻译
|
||||
|
||||
```
|
||||
将以下内容翻译成英文:
|
||||
|
||||
[内容]
|
||||
|
||||
要求:
|
||||
- 保持原文语气
|
||||
- 专业术语保持准确
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **充分利用 1M 上下文** - 可以传入大段文本,无需担心 token 限制
|
||||
2. **图片支持** - 通过 image_url 传入图片链接进行识别
|
||||
3. **避免复杂指令** - 单步任务效果最佳
|
||||
4. **明确输出格式** - 让模型清楚知道期望的输出形式
|
||||
5. **效果反馈** - 执行后评估效果,用于优化后续任务分配
|
||||
在新工单中引用
屏蔽一个用户