Ollama原生Api接口

这里写目录标题

      • 1. **生成文本(Generate Text)**
      • 2. **流式生成文本(Streaming Generate Text)**
      • 3. **列出可用模型(List Models)**
      • 4. **拉取模型(Pull Model)**
      • 5. **删除模型(Delete Model)**
      • 6. **模型信息(Model Info)**
      • 7. **聊天模式(Chat Mode)**
      • 8. **健康检查(Health Check)**
      • 9. **自定义配置(Custom Configuration)**
      • 10. **停止生成(Stop Generation)**
      • 总结

Ollama 提供了一套原生 API,用于与本地部署的模型进行交互。以下是 Ollama 原生 API 的主要接口及其功能说明

地址:http://localhost:11434


1. 生成文本(Generate Text)

  • API 路径: /api/generate
  • 请求方法: POST
  • 功能: 向模型发送提示(prompt),生成文本回复。
  • 请求参数:
    {
      "model": "deepseek-r1:7b",  // 模型名称
      "prompt": "你好,介绍一下你自己",  // 输入提示
      "stream": false,  // 是否流式输出(默认false)
      "options": {  // 可选参数
        "temperature": 0.7,  // 温度参数,控制生成多样性
        "max_tokens": 100,  // 最大生成token数
        "top_p": 0.9  // Top-p采样参数
      }
    }
    
  • 响应示例:
    {
      "response": "你好,我是一个基于DeepSeek模型的人工智能助手,可以回答你的问题。",
      "done": true  // 是否完成
    }
    

2. 流式生成文本(Streaming Generate Text)

  • API 路径: /api/generate
  • 请求方法: POST
  • 功能: 以流式方式逐步返回生成的文本,适合实时交互场景。
  • 请求参数:
    {
      "model": "deepseek-r1:7b",
      "prompt": "写一篇关于AI的文章",
      "stream": true  // 开启流式输出
    }
    
  • 响应示例:
    {"response": "AI", "done": false}
    {"response": "是", "done": false}
    {"response": "未来", "done": false}
    {"response": "的", "done": false}
    {"response": "趋势。", "done": true}
    

3. 列出可用模型(List Models)

  • API 路径: /api/tags
  • 请求方法: GET
  • 功能: 获取本地已下载的模型列表。
  • 响应示例:
    {
      "models": [
        {
          "name": "deepseek-r1:7b",
          "modified_at": "2024-01-01T12:00:00Z"
        },
        {
          "name": "llama2:13b",
          "modified_at": "2024-01-02T12:00:00Z"
        }
      ]
    }
    

4. 拉取模型(Pull Model)

  • API 路径: /api/pull
  • 请求方法: POST
  • 功能: 从远程仓库下载模型到本地。
  • 请求参数:
    {
      "name": "deepseek-r1:7b"  // 模型名称
    }
    
  • 响应示例:
    {
      "status": "downloading",
      "progress": 0.5  // 下载进度
    }
    

5. 删除模型(Delete Model)

  • API 路径: /api/delete
  • 请求方法: DELETE
  • 功能: 删除本地已下载的模型。
  • 请求参数:
    {
      "name": "deepseek-r1:7b"  // 模型名称
    }
    
  • 响应示例:
    {
      "status": "success"
    }
    

6. 模型信息(Model Info)

  • API 路径: /api/show
  • 请求方法: POST
  • 功能: 获取指定模型的详细信息。
  • 请求参数:
    {
      "name": "deepseek-r1:7b"  // 模型名称
    }
    
  • 响应示例:
    {
      "name": "deepseek-r1:7b",
      "size": "7B",
      "modified_at": "2024-01-01T12:00:00Z",
      "details": {
        "architecture": "Transformer",
        "quantization": "4-bit"
      }
    }
    

7. 聊天模式(Chat Mode)

  • API 路径: /api/chat
  • 请求方法: POST
  • 功能: 以对话形式与模型交互,支持上下文记忆。
  • 请求参数:
    {
      "model": "deepseek-r1:7b",
      "messages": [
        {"role": "user", "content": "你好"},
        {"role": "assistant", "content": "你好,有什么可以帮你的?"},
        {"role": "user", "content": "介绍一下AI"}
      ],
      "stream": false  // 是否流式输出
    }
    
  • 响应示例:
    {
      "message": {
        "role": "assistant",
        "content": "AI是人工智能的缩写,旨在模拟人类智能..."
      },
      "done": true
    }
    

8. 健康检查(Health Check)

  • API 路径: /api/health
  • 请求方法: GET
  • 功能: 检查Ollama服务是否正常运行。
  • 响应示例:
    {
      "status": "healthy"
    }
    

9. 自定义配置(Custom Configuration)

  • API 路径: /api/config
  • 请求方法: POST
  • 功能: 修改Ollama的配置参数(如模型路径、端口号等)。
  • 请求参数:
    {
      "model_path": "/custom/path/to/models",
      "port": 11435
    }
    

10. 停止生成(Stop Generation)

  • API 路径: /api/stop
  • 请求方法: POST
  • 功能: 停止当前正在进行的生成任务。
  • 请求参数:
    {
      "task_id": "12345"  // 任务ID
    }
    

总结

Ollama 的原生 API 提供了丰富的功能,包括模型管理、文本生成、对话交互等。你可以通过这些 API 实现以下功能:

  • 与本地模型交互(如DeepSeek)。
  • 构建知识库检索和问答系统。
  • 集成到其他应用或服务中(如企业微信、飞书等)。

如果需要更高级的功能(如知识库检索),可以结合 AnythingLLMDify 等工具,利用它们的 API 接口实现更复杂的业务逻辑。

作者:Teddy (公众号:码尚云软件)
ok!到这里就大功告成,小编(Teddy)在这里先感谢大家的到来。
虽然不是太详细,小编已经很努力,给小编来个一键三连(点赞,关注,收藏),小编会越来越努力。。。

你可能感兴趣的:(AI,人工智能,deepseek)