ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Ollama REST API - OpenAI Compatibility

2026/8/4 5:16:39 拓冰建站 浏览量
Ollama REST API - OpenAI Compatibility

本节内容我们来看一下OpenAI CompatibilityOpenAIAPI接口是大模型应用开发中最常用、且集成度最高的API接口规范,其兼容接口主要包括:

  • chat/completions
  • completions
  • models
  • embeddings

我们上两节课程内容中介绍的/api/generate/api/chat接口,其实就是Ollama兼容OpenAIREST API接口的底层实现。其中:

  • /api/generate接口对应OpenAIcompletions接口;
  • /api/chat接口对应OpenAIchat/completions接口;

因此我们现在再来看ollama中的OpenAI compatibilityAPI接口调用,就非常容易理解了。

  • 非流式调用
from openai import OpenAI # type: ignore client = OpenAI( base_url='http://127.0.0.1:11434/v1/', # 这里修改成可访问的 IP api_key='ollama', # 这里随便写,但是api_key字段一定要有 ) chat_completion = client.chat.completions.create( model='deepseek-r1:1.5b', messages=[ { 'role': 'user', 'content': '你好,请你介绍一下什么是人工智能?', } ], ) print(chat_completion.choices[0].message.content)

  • 流式调用
from openai import OpenAI client = OpenAI( base_url='http://127.0.0.1:11434/v1/', api_key='ollama', ) messages = [ { 'role': 'user', 'content': '你好,请你介绍一下什么是人工智能?', } ] try: # 调用聊天接口 stream = client.chat.completions.create( model='deepseek-r1:1.5b', messages=messages, stream=True ) # 处理流式响应 for chunk in stream: if chunk.choices[0].delta.content is not None: print(chunk.choices[0].delta.content, end='', flush=True) except Exception as e: print(f"发生错误: {str(e)}")

支持的功能

功能

描述

聊天完成

Chat completions

流媒体

Streaming

JSON模式

JSON mode

可再现的输出

Reproducible outputs

视觉

Vision

工具

Tools

支持的请求字段

请求字段

描述

model

模型

messages

消息

frequency_penalty

频率惩罚

presence_penalty

存在惩罚

response_format

响应格式

seed

种子

stop

停止

stream

流式输出

stream_options

流式选项

include_usage

包含使用情况

temperature

温度

top_p

Top-p 采样

max_tokens

最大令牌数

tools

工具