问题

Error: embedding models require input text.
Usage: ollama run qwen3-embedding:4b "your text here"

✅ 原因

qwen3-embedding:4b 是一个 嵌入(embedding)模型,它的作用是将文本转换为向量(vector),不能像聊天模型那样直接“运行”进入交互模式。
Ollama 的 ollama run 命令对 embedding 模型有特殊要求:必须在命令行中直接提供要编码的文本。

✅ 正确用法

方法 1:直接传入文本(推荐用于测试)

ollama run qwen3-embedding:4b "今天天气真好"

输出会是一个浮点数向量(通常很长,比如 1024 或 4096 维):

[0.123, -0.456, 0.789, ...]

⚠️ 注意:这个输出是 纯文本格式的 JSON 数组,不是对话!

方法 2:在程序中调用(实际应用场景)
你不应该用 ollama run 在生产环境生成 embedding。正确做法是通过 Ollama API 调用:

curl http://localhost:11434/api/embeddings \
  -d '{
    "model": "qwen3-embedding:4b",
    "prompt": "今天天气真好"
  }'

返回示例:

{
  "embedding": [0.123, -0.456, ...]
}

在 Java / Python 等代码中,你应该调用这个 HTTP API,而不是执行 shell 命令。

❌ 错误用法(不要这样做)

# 错误!没有输入文本
ollama run qwen3-embedding:4b

# 错误!试图进入交互模式(embedding 模型不支持)
ollama run qwen3-embedding:4b
> 输入文本...

Embedding 模型是 无状态、单次推理 的工具,不像 qwen3:8b 那样支持多轮对话。

🔧 补充建议

  1. 确认模型是否拉取成功
ollama list
  1. 查看模型信息
ollama show qwen3-embedding:4b --modelfile
  1. 如果你需要聊天功能,请使用主模型
ollama run qwen3:8b    # 或 qwen3:4b

📌 总结

目的 命令
生成一段文本的 embedding ollama run qwen3-embedding:4b "你的文本"
在代码中使用 embedding 调用 POST /api/embeddings API
进行对话/生成文本 使用 qwen3:8b 等生成式模型,而非 embedding 模型
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐