Ollama原生Api接口

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)在这里先感谢大家的到来。
虽然不是太详细,小编已经很努力,给小编来个一键三连(点赞,关注,收藏),小编会越来越努力。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码农吗

感谢您的大力支持,感谢感谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值