307 行
10 KiB
Markdown
307 行
10 KiB
Markdown
---
|
||
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. **效果反馈** - 执行后评估效果,用于优化后续任务分配
|