← 开源
jtsang4

claude-to-chatgpt

This project converts the API of Anthropic's Claude model to the OpenAI Chat API format.

InfrastructureGatewayPython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
1.30k
Star
144
Fork
+2
本周
4
贡献者
创建于 2023-05-10 · 更新于 2026-10-13 · 今日第 10789 名
主要开发者
jtsang4JamesFlare1212teralomaniac
README

English | 简体中文 | 日本語

Claude to ChatGPT

[![release](https://github.com/jtsang4/claude-to-chatgpt/actions/workflows/docker.yaml/badge.svg)](https://github.com/jtsang4/claude-to-chatgpt/releases)
[![GitHub Repo stars](https://img.shields.io/github/stars/jtsang4/claude-to-chatgpt?style=flat)](https://github.com/jtsang4/claude-to-chatgpt/releases)
[![GitHub Repo Badge](https://img.shields.io/badge/anthropic-claude-orange?style=flat)](https://github.com/jtsang4/claude-to-chatgpt/releases)
[![GitHub Repo Language](https://img.shields.io/badge/langurage-js/py-brightgreen?style=flat&color=blue)](https://github.com/jtsang4/claude-to-chatgpt/releases)

This project converts the API of Anthropic's Claude model to the OpenAI Chat API format.

  • ✨ Call Claude API like OpenAI ChatGPT API
  • 💦 Support streaming response
  • 🐻 Support claude-instant-1, claude-2 models
  • 🌩️ Deploy by Cloudflare Workers or Docker

Getting Started

You can run this project using Cloudflare Workers or Docker:

Deployment

Using Cloudflare Workers

By using Cloudflare Workers, you don't need a server to deploy this project.

  1. Create a Cloudflare Worker
  2. Paste the code in cloudflare-worker.js to Cloudflare Worker "Quick Edit" Editor
  3. Save and deploy
  4. (Optional) Set custom domain for your Cloudflare Worker

The Cloudfalre Workers support 100k requests a day, If you need to call more than that, you can use Docker to deploy as below.

Using Docker

docker run -p 8000:8000 wtzeng/claude-to-chatgpt:latest

Using Docker Compose

docker-compose up

The API will then be available at http://localhost:8000. API endpoint: /v1/chat/completions

Usage

When you input the model parameter as gpt-3.5-turbo or gpt-3.5-turbo-0613, it will be substituted with claude-instant-1. otherwise, claude-2 will be utilized.

GUI

Here are some recommended GUI software that supports this project:

CLI

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

Conversion Details

The Claude Completion API has an endpoint /v1/complete which takes the following JSON request:

{
  "prompt": "\n\nHuman: Hello, AI.\n\nAssistant: ",
  "model": "claude-instant-1",
  "max_tokens_to_sample": 100,
  "temperature": 1,
  "stream": true
}

And returns JSON with choices and completions.

The OpenAI Chat API has a similar /v1/chat/completions endpoint which takes:

{
  "model": "gpt-3.5-turbo",
  "messages": [
    {
      "role": "user",
      "content": "Hello, AI."
    }
  ],
  "max_tokens": 100,
  "temperature": 1,
  "stream": true
}

And returns JSON with a response string.

This project converts between these two APIs, get completions from the Claude model and formatting them as OpenAI Chat responses.

License

This project is licensed under the MIT License - see the LICENSE file for details.

排名相邻
同类项目