字节笔记本

2026年2月22日

Sparrow:兼容 ChatGPT 接口的开源后端实现

Sparrow 是一个兼容 ChatGPT 接口风格的开源后端实现,旨在让 ChatGPT 生态中的内容可以被连接或"任何其他服务"调用,同时让"开源生态中的任意产品和服务"功能能够自由接入 ChatGPT 或类似交互模式的服务。该项目使用 Go 语言开发,支持 Docker 容器化部署,适合需要自建 ChatGPT 兼容后端的开发者使用。

项目简介

Sparrow(麻雀)是由 @soulteary 开发的开源项目,提供了一个兼容 OpenAI/ChatGPT API 格式的后端服务实现。该项目允许开发者在自己的基础设施上部署一个与 ChatGPT 接口兼容的服务,从而可以连接各种 ChatGPT 生态的工具和客户端。

项目的主要目标是打破 ChatGPT 生态与开源服务之间的壁垒,让两者能够自由互通。

核心特性

  • 兼容 ChatGPT 接口:完全兼容 OpenAI API 接口风格,可直接对接现有 ChatGPT 客户端
  • 灵活部署:支持独立运行或配合客户端使用,适应不同场景需求
  • Docker 支持:提供官方 Docker 镜像,一键容器化部署
  • 生态连接:可连接 ChatGPT 生态与外部服务,实现数据互通
  • 长内容渲染:支持长文本内容的渲染和展示,避免截断
  • Chat Ops 支持:支持通过 Chat Ops 交互方式访问和操作信息

技术栈

类别技术
编程语言Go
容器化Docker / Docker Compose
部署方式独立服务 / 容器运行
默认端口8091

安装指南

Docker 方式(推荐)

从 Docker Hub 下载并运行官方镜像:

bash
# 拉取镜像
docker pull soulteary/sparrow

# 运行容器(需配置环境变量)
docker run -p 8091:8091 soulteary/sparrow

Docker Compose 方式

  1. 下载项目中的 docker-compose.yml 配置文件
  2. 在配置目录执行:
bash
docker compose up -d

注意:运行前请参考 docker-compose.yml 配置所需的环境变量。

快速开始

Sparrow 服务可以独立运行,但如果你想快速体验完整效果,建议使用 OpenAI 客户端的请求方式。一个简单的方式是使用 soulteary/docker-chatgpt 中的客户端。

使用步骤:

  1. 启动 Sparrow 后端服务(默认端口 8091)
  2. 配置 OpenAI 客户端或 docker-chatgpt 客户端指向 Sparrow 服务地址
  3. 开始调用 API 进行对话

API 参考

Sparrow 采用与 OpenAI/ChatGPT 兼容的 API 格式:

  • 接口风格:OpenAI API 兼容
  • 默认端口8091
  • 请求格式:与 ChatGPT API 一致

示例请求:

bash
curl http://localhost:8091/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

使用场景

场景 1:自建 ChatGPT 兼容服务

如果你有自己的 AI 模型或对话服务,可以通过 Sparrow 将其包装为 ChatGPT 兼容接口,从而使用各种 ChatGPT 客户端进行访问。

场景 2:连接外部服务

通过 Sparrow 的扩展能力,可以将 ChatGPT 对话流程与外部系统(如数据库、业务 API 等)连接起来,实现 Chat Ops 工作流。

场景 3:开发测试环境

在开发基于 ChatGPT API 的应用时,可以使用 Sparrow 作为本地测试后端,避免直接调用 OpenAI 接口产生费用。

注意事项

项目说明
环境变量需参考 docker-compose.yml 配置必要参数
客户端依赖建议配合 soulteary/docker-chatgpt 使用以获得完整体验
长内容支持可选功能,支持长文本输出而非截断
插件支持无论是否使用插件,都应能自由使用其他在线服务

项目链接

分享: