目录

一、启动 Ollama 服务

二、Ollama API 端点

1. 生成文本(Generate Text)

2. 多轮对话(Chat)

3. 多模态输入(上传文件)

三、调用示例

1. 生成文本

2. 多轮对话

3. 多模态输入(上传图片)

四、总结


Ollama 是一个轻量级的框架,用于在本地运行和管理语言模型。它提供了丰富的 REST API 接口,支持文本生成、多模态输入(如图片)等功能。本文将详细介绍如何通过 Ollama API 上传文件并进行交互。


一、启动 Ollama 服务

在调用 Ollama API 之前,需要确保 Ollama 服务正在运行。可以通过以下命令启动服务:

bash复制

ollama serve

默认情况下,服务会运行在 http://localhost:11434


二、Ollama API 端点

Ollama 提供了多个 API 端点,用于实现不同的功能。以下是主要的 API 端点及其使用方法。

1. 生成文本(Generate Text)
  • 端点POST /api/generate

  • 功能:向模型发送提示词(prompt),并获取生成的文本。

  • 请求格式

    JSON复制

    {
      "model": "llama3.2",
      "prompt": "Why is the sky blue?",
      "stream": false,
      "options": {
        "temperature": 0.7,
        "max_tokens": 100
      }
    }
  • 响应格式

    JSON复制

    {
      "response": "The sky is blue because...",
      "done": true
    }
2. 多轮对话(Chat)
  • 端点POST /api/chat

  • 功能:支持多轮对话,模型会记住上下文。

  • 请求格式

    JSON复制

    {
      "model": "llama3.2",
      "messages": [
        { "role": "user", "content": "Why is the sky blue?" }
      ],
      "stream": false
    }
  • 响应格式

    JSON复制

    {
      "message": {
        "role": "assistant",
        "content": "The sky is blue because..."
      },
      "done": true
    }
3. 多模态输入(上传文件)

Ollama 支持处理多模态输入,例如上传图片并生成描述。

  • 端点POST /api/run

  • 功能:运行模型并处理多模态输入(如图片)。

  • 请求格式

    bash复制

    ollama run llava "What's in this image? /path/to/image.png"
  • 响应格式

    JSON复制

    {
      "response": "The image features a yellow smiley face..."
    }

三、调用示例

1. 生成文本

使用 curl 发送请求:

bash复制

curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Why is the sky blue?",
  "stream": false
}'
2. 多轮对话

使用 curl 发送请求:

bash复制

curl http://localhost:11434/api/chat -d '{
  "model": "llama3.2",
  "messages": [
    { "role": "user", "content": "Why is the sky blue?" }
  ],
  "stream": false
}'
3. 多模态输入(上传图片)

通过命令行调用:

bash复制

ollama run llava "What's in this image? /path/to/image.png"

四、总结

Ollama 提供了强大的 API 接口,支持文本生成、多轮对话和多模态输入等功能。通过简单的 HTTP 请求,开发者可以轻松地与 Ollama 模型进行交互,实现丰富的应用场景。希望本文能帮助你更好地使用 Ollama API。

Logo

在这里,我们一起交流AI,学习AI,用AI改变世界。如有AI产品需求,可访问讯飞开放平台,www.xfyun.cn。

更多推荐