cli-anything-ollama 是做什么的?
通过 Ollama REST API 进行本地 LLM 推理和模型管理。专为 AI 代理和高级用户设计,无需图形界面即可管理模型、生成文本、进行对话和创建嵌入。
安装
此 CLI 作为 cli-anything-ollama 包的一部分安装:
pip install cli-anything-ollama
先决条件:
- Python 3.10+
- 必须安装并运行 Ollama(
ollama serve)
使用方法
基本命令
# 显示帮助
cli-anything-ollama --help
# 启动交互式 REPL 模式
cli-anything-ollama
# 列出可用模型
cli-anything-ollama model list
# 以 JSON 格式运行(供代理使用)
cli-anything-ollama --json model list
REPL 模式
调用时不带子命令将进入交互式 REPL 会话:
cli-anything-ollama
# 交互式输入命令,具有 Tab 补全和历史记录功能
命令组
模型(Model)
模型管理命令。
| 命令 | 描述 |
|---|---|
list | 列出本地可用的模型 |
show | 显示模型详情(参数、模板、许可证) |
pull | 从 Ollama 库下载模型 |
rm | 从本地存储中删除模型 |
copy | 复制模型为新名称 |
ps | 列出当前加载到内存中的模型 |
生成(Generate)
文本生成和对话命令。
| 命令 | 描述 |
|---|---|
text | 根据提示生成文本 |
chat | 发送对话补全请求 |
嵌入(Embed)
嵌入生成命令。
| 命令 | 描述 |
|---|---|
text | 为文本生成嵌入 |
服务器(Server)
服务器状态和信息命令。
| 命令 | 描述 |
|---|---|
status | 检查 Ollama 服务器是否正在运行 |
version | 显示 Ollama 服务器版本 |
会话(Session)
会话状态命令。
| 命令 | 描述 |
|---|---|
status | 显示当前会话状态 |
history | 显示当前会话的对话历史 |
示例
列出和拉取模型
# 列出可用模型
cli-anything-ollama model list
# 拉取模型
cli-anything-ollama model pull llama3.2
# 显示模型详情
cli-anything-ollama model show llama3.2
生成文本
# 流式输出(默认)
cli-anything-ollama generate text --model llama3.2 --prompt "用一句话解释量子计算"
# 非流式输出,JSON 格式(供代理使用)
cli-anything-ollama --json generate text --model llama3.2 --prompt "你好" --no-stream
对话
# 单轮对话
cli-anything-ollama generate chat --model llama3.2 --message "user:什么是Python?"
# 多轮对话
cli-anything-ollama generate chat --model llama3.2 \
--message "user:什么是Python?" \
--message "user:它和JavaScript相比如何?"
# 从JSON文件进行对话
cli-anything-ollama generate chat --model llama3.2 --file messages.json
嵌入
cli-anything-ollama embed text --model nomic-embed-text --input "Hello world"
cli-anything-ollama embed text --model nomic-embed-text --input "你好" --input "世界"
交互式 REPL 会话
启动交互式会话以进行探索性使用。
cli-anything-ollama
# 交互式输入命令
# 使用 'help' 查看可用命令
连接到远程主机
cli-anything-ollama --host http://192.168.1.100:11434 model list
状态管理
CLI 维护轻量级的会话状态:
- 当前主机 URL:可通过
--host配置 - 对话历史:在 REPL 中跟踪多轮对话
- 上次使用的模型:在 REPL 提示符中显示
输出格式
所有命令都支持双输出模式:
- 人类可读(默认):表格、颜色、格式化文本
- 机器可读(
--json标志):结构化 JSON,供代理使用
# 人类可读输出
cli-anything-ollama model list
# JSON 输出供代理使用
cli-anything-ollama --json model list
针对 AI 代理
以编程方式使用此 CLI 时:
- 始终使用
--json标志 以获得可解析的输出 - 检查返回码 - 0 表示成功,非零表示错误
- 解析 stderr 以在失败时获取错误信息
- 使用
--no-stream进行生成/对话以获取完整响应 - 通过
server status验证 Ollama 是否正在运行,然后再执行其他命令
更多信息
- 完整文档:请参阅包中的 README.md
- 测试覆盖:请参阅包中的 TEST.md
- 方法:请参阅 cli-anything-plugin 中的 HARNESS.md
版本
1.0.1