本地部署 · 完全私有

用OpenAI接口
访问本地模型

让Ollama部署的本地LLM通过标准OpenAI API对外服务,无需修改应用代码,支持LLaMA、Mistral、Qwen等主流开源模型,数据完全私密可控。

三步启动代理服务

简单配置,快速部署本地AI服务

01

安装Ollama

下载并安装Ollama,拉取所需的开源模型。

# macOS/Linux
curl -fsSL https://ollama.com/install.sh | sh

# 拉取模型
ollama pull llama2
ollama pull mistral
02

启动代理服务

使用Docker一键启动OpenAI兼容代理。

docker run -d \
  -p 8080:8080 \
  -e OLLAMA_HOST=http://host.docker.internal:11434 \
  ollama-proxy:latest
03

开始调用

修改baseURL即可使用OpenAI SDK调用本地模型。

const client = new OpenAI({
  baseURL: 'http://localhost:8080/v1'
})

// 调用本地LLaMA 2
client.chat.completions.create({
  model: 'llama2'
})

企业级特性

🔌

OpenAI兼容

完全兼容OpenAI API格式,无需修改现有应用代码即可接入。

🔒

数据私密

所有请求在本地处理,数据不离开你的服务器,完全私有。

低延迟

本地部署无网络传输延迟,响应速度更快,用户体验更好。

🎯

模型管理

支持同时运行多个模型,按需切换,灵活配置。

📊

监控日志

详细的请求日志和性能监控,便于排查问题和优化性能。

🔄

流式响应

完整支持SSE流式输出,实时返回生成内容。

🐳

Docker部署

提供官方Docker镜像,一键部署,环境隔离,易于维护。

⚙️

灵活配置

支持环境变量和配置文件,轻松适配不同部署环境。

请求流程

📱

应用层

使用OpenAI SDK的应用程序,无需修改代码

🔄

代理层

OpenAI API格式转换为Ollama API格式

🤖

Ollama服务

本地运行的开源大语言模型

支持的开源模型

模型名称 参数规模 上下文长度 推荐用途
llama2 7B / 13B / 70B 4K 通用对话、文本生成
mistral 7B 8K 高效推理、代码生成
qwen 7B / 14B 8K 中文对话、多语言
codellama 7B / 13B / 34B 16K 代码生成、补全
vicuna 7B / 13B 4K 高质量对话
gemma 2B / 7B 8K 轻量级应用

调用示例

Python
JavaScript
cURL
from openai import OpenAI client = OpenAI( base_url="http://localhost:8080/v1", api_key="ollama" # 本地部署无需真实密钥 ) # 调用本地LLaMA 2模型 response = client.chat.completions.create( model="llama2", messages=[ {"role": "user", "content": "解释什么是机器学习"} ], stream=True ) for chunk in response: print(chunk.choices[0].delta.content, end="")

为什么选择本地代理

✓ 本地代理方案

  • 数据完全私密,不离开服务器
  • 无API调用费用
  • 无网络延迟,响应更快
  • 可自定义模型参数
  • 无速率限制
  • 支持离线使用

✗ 云API方案

  • 数据传输到第三方服务器
  • 按使用量付费,成本不可控
  • 网络延迟影响体验
  • 模型参数固定
  • 速率限制影响使用
  • 必须联网使用

常见问题

需要什么样的硬件配置?

运行7B参数模型建议至少8GB内存,推荐16GB以上。如有GPU(NVIDIA显卡,6GB+显存),可以显著提升推理速度。70B模型需要更多资源,建议使用多GPU或量化版本。

如何支持更多模型?

Ollama支持从HuggingFace等平台拉取模型,只需运行ollama pull命令即可。代理服务会自动发现Ollama中已安装的模型,无需额外配置。

支持函数调用(Function Calling)吗?

目前开源模型的函数调用支持有限。部分模型(如LLaMA 2)通过微调可以支持类似功能,但与OpenAI的原生实现存在差异。建议用于简单场景,复杂场景推荐使用云API。

如何处理并发请求?

代理服务支持并发处理多个请求,但受限于本地硬件资源。建议使用队列机制控制并发数,或在多个实例间进行负载均衡。也可以考虑使用vLLM等优化框架提升吞吐量。

相关资源