资讯动态

第二期:API 调用与 OpenAI 兼容对接(把模型接入代码)

发布时间:2026/10/30 5:00:06 来源:尧图企业网站定制
第二期API 调用与 OpenAI 兼容对接把模型接入代码目标用两种方式从 Python 调用本地模型——Ollama 原生 API 和 OpenAI 兼容接口理解何时用哪种并掌握流式输出的基本写法。Ollama 启动后监听localhost:11434。原生 API 走/api/generate或/api/chatOpenAI 兼容接口走/v1/chat/completions。原生接口能用到 Ollama 特有的参数如num_ctx控制上下文窗口兼容接口则让现有 OpenAI 项目几乎零改动切换。1. 用 requests 调用原生 API最轻量的方式不依赖任何 SDKpythonimport requests import json resp requests.post( http://localhost:11434/api/generate, json{ model: qwen2.5:7b, prompt: 用一句话解释什么是 RAG, stream: False } ) print(resp.json()[response])streamFalse一次性返回完整结果。如果要逐字输出设为True并逐行解析返回的 JSON 流。2. 用 OpenAI SDK 调用兼容接口如果已有基于 OpenAI 的项目只需改两个地方base_url和api_keyOllama 不校验 key随便填一个即可pythonfrom openai import OpenAI client OpenAI( base_urlhttp://localhost:11434/v1/, api_keyollama # 必填但被忽略 ) response client.chat.completions.create( modelqwen2.5:7b, messages[ {role: system, content: 你是一个简洁的技术助手。}, {role: user, content: Ollama 和 vLLM 有什么区别} ] ) print(response.choices[0].message.content)这种方式的好处是已有 OpenAI 调用代码中的模型名、消息结构、参数名temperature、max_tokens等基本不用改只换 base_url 就能跑本地模型。3. 流式输出实际产品中通常需要流式返回避免用户等待过久python# 原生 API 流式 resp requests.post( http://localhost:11434/api/generate, json{model: qwen2.5:7b, prompt: 写一段 100 字的产品介绍, stream: True}, streamTrue ) for line in resp.iter_lines(): if line: chunk json.loads(line) print(chunk.get(response, ), end, flushTrue)OpenAI 兼容接口的流式写法与官方 SDK 完全一致streamTrue后遍历chunk.choices[0].delta.content即可.github.0voice

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑