
Konversi berbagai model API menjadi format API OpenAI di luar kotak.
10MB+ widget yang memungkinkan konversi berbagai model API menjadi format API OpenAI di luar kotak.
Model yang didukung saat ini:
Kunjungi halaman rilis GitHub untuk mengunduh file eksekusi yang sesuai dengan sistem operasi Anda.

Atau gunakan Docker Pull untuk mengunduh versi yang ditentukan dari file gambar:
docker pull soulteary/amazing-openai-api:v0.7.0 AOA tidak perlu menulis file konfigurasi apa pun, dan dapat menyesuaikan perilaku aplikasi dengan menentukan variabel lingkungan, termasuk "Memilih model kerja", "pengaturan parameter yang diperlukan untuk operasi model", dan "pengaturan alias kompatibilitas model".
AZURE_ENDPOINT=https://你的部署名称.openai.azure.com/ ./aoa , program ini akan mengatur model kerja ke azure .
AZURE_ENDPOINT=https://你的部署名称.openai.azure.com/ ./aoaJika Anda lebih suka Docker, Anda dapat menggunakan perintah berikut:
docker run --rm -it -e AZURE_ENDPOINT=https://你的部署名称.openai.azure.com/ -p 8080:8080 soulteary/amazing-openai-api:v0.7.0 Setelah layanan dimulai, kami dapat mengakses layanan API yang sama dengan OpenAi dengan mengunjungi http://localhost:8080/v1 .
Anda dapat menggunakan curl untuk melakukan tes cepat:
curl -v http://127.0.0.1:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer 123 "
-d ' {
"model": "gpt-4",
"messages": [
{
"role": "system",
"content": "You are a poetic assistant, skilled in explaining complex programming concepts with creative flair."
},
{
"role": "user",
"content": "Compose a poem that explains the concept of recursion in programming."
}
]
} 'Anda juga dapat menggunakan SDK OpenAI resmi untuk panggilan, atau menggunakan perangkat lunak open source yang kompatibel dengan OpenAi (untuk lebih banyak contoh, lihat contoh):
from openai import OpenAI
client = OpenAI (
api_key = "your-key-or-input-something-as-you-like" ,
base_url = "http://127.0.0.1:8080/v1"
)
chat_completion = client . chat . completions . create (
messages = [
{
"role" : "user" ,
"content" : "Say this is a test" ,
}
],
model = "gpt-3.5-turbo" ,
)
print ( chat_completion ) Jika Anda ingin tidak mengekspos kunci API ke aplikasi, atau khawatir tentang apakah berbagai perangkat lunak open source yang kompleks memiliki risiko kebocoran kunci API, kami dapat mengkonfigurasi AZURE_API_KEY=你的API Key , dan kemudian berbagai perangkat lunak sumber terbuka tidak perlu mengisi tombol API saat meminta (atau hanya mengisinya).
Tentu saja, karena beberapa keterbatasan Azure dan penyesuaian yang sulit dari nama panggilan model dalam beberapa perangkat lunak open source, kami dapat memetakan model dalam permintaan asli ke nama model nyata kami dengan cara berikut. Misalnya, ganti GPT 3.5/4 dengan yi-34b-chat :
gpt-3.5-turbo:yi-34b-chat,gpt-4:yi-34b-chat Jika Anda ingin menggunakan yi-34b-chat , atau gemini-pro , kami perlu mengatur AOA_TYPE=yi atau AOA_TYPE=gemini , kecuali bahwa, tidak ada perbedaan.
Proyek ini berisi file sampel docker compose dari tiga antarmuka model docker-compose.yml example .
Kemudian gunakan docker compose up untuk memulai layanan dan dapat digunakan dengan cepat.
Sesuaikan model kerja AOA_TYPE , parameter opsional, default ke azure :
# 选择一个服务, "azure", "yi", "gemini"
AOA_TYPE: " azure " Alamat Layanan Program, Parameter Opsional, Default ke 8080 dan 0.0.0.0 :
# 服务端口,默认 `8080`
AOA_PORT: 8080
# 服务地址,默认 `0.0.0.0`
AOA_HOST: " 0.0.0.0 " Jika kami ingin mengonversi layanan OpenAI yang digunakan pada Azure ke panggilan OpenAI standar, kami dapat menggunakan perintah berikut:
AZURE_ENDPOINT=https:// <你的 Endpoint 地址> .openai.azure.com/ AZURE_API_KEY= <你的 API KEY > AZURE_MODEL_ALIAS=gpt-3.5-turbo:gpt-35 ./amazing-openai-api Dalam perintah di atas, AZURE_ENDPOINT dan AZURE_API_KEY menyertakan elemen inti dalam layanan AZURE_MODEL_ALIAS openai, karena nama penyebaran untuk penyebaran azure gpt 3.5/gpt 4 tidak mengizinkannya untuk dimasukkan . Teknik ini bahkan dapat digunakan untuk secara otomatis memetakan model yang digunakan oleh berbagai perangkat lunak open-source dan tertutup untuk model yang kami inginkan:
# 比如不论是 3.5 还是 4 都映射为 `gpt-35`
AZURE_MODEL_ALIAS=gpt-3.5-turbo:gpt-35,gpt-4:gpt-35 Karena kami telah mengkonfigurasi AZURE_API_KEY , tidak perlu menambahkan Authorization: Bearer <你的API Key> (juga dapat ditulis dengan santai) apakah itu perangkat lunak sumber terbuka atau panggilan curl .

Jika Anda masih terbiasa menambahkan konten otentikasi ke parameter header permintaan, Anda dapat menggunakan perintah berikut yang tidak mengandung AZURE_API_KEY , dan program akan melewati verifikasi ke layanan Azure:
AZURE_ENDPOINT=https:// <你的 Endpoint 地址> .openai.azure.com/ AZURE_MODEL_ALIAS=gpt-3.5-turbo:gpt-35 ./amazing-openai-api Jika Anda ingin menentukan versi API khusus sendiri, Anda dapat menentukan AZURE_IGNORE_API_VERSION_CHECK=true untuk memaksa verifikasi validitas versi API dari program itu sendiri.
Jika Anda sudah memiliki Azure GPT Vision, selain menggunakan panggilan SDK, Anda juga dapat merujuk ke dokumen ini dan menggunakan curl untuk memanggil: Visi GPT.
# (必选) Azure Deployment Endpoint URL
AZURE_ENDPOINT
# (必选) Azure API Key
AZURE_API_KEY
# (可选) 模型名称,默认 GPT-4
AZURE_MODEL
# (可选) API Version
AZURE_API_VER
# (可选) 是否是 Vision 实例
ENV_AZURE_VISION
# (可选) 模型映射别名
AZURE_MODEL_ALIAS
# (可选) Azure 网络代理
AZURE_HTTP_PROXY
AZURE_SOCKS_PROXY
# (可选) 忽略 Azure API Version 检查,默认 false,始终检查
AZURE_IGNORE_API_VERSION_CHECKJika kami ingin mengonversi API YI resmi ke panggilan OpenAI standar, kami dapat menggunakan perintah berikut:
AOA_TYPE=yi YI_API_KEY= <你的 API KEY > ./amazing-openai-api Mirip dengan menggunakan Layanan Azure, kami dapat menggunakan trik untuk secara otomatis memetakan model yang digunakan oleh berbagai perangkat lunak sumber terbuka dan tertutup untuk model yang kami inginkan:
# 比如不论是 3.5 还是 4 都映射为 `gpt-35`
YI_MODEL_ALIAS=gpt-3.5-turbo:yi-34b-chat,gpt-4:yi-34b-chat Jika kami mengkonfigurasi YI_API_KEY saat memulai layanan, kami tidak perlu menambahkan Authorization: Bearer <你的API Key> (juga dapat menulisnya curl ), yang akan memberikan isolasi kunci API yang ketat dan meningkatkan keamanan kunci API.
Jika Anda masih terbiasa menambahkan konten otentikasi ke parameter header permintaan, Anda dapat menggunakan perintah berikut yang tidak berisi YI_API_KEY , dan program akan melewati verifikasi ke layanan API YI:
./amazing-openai-api # (必选) YI API Key
YI_API_KEY
# (可选) 模型名称,默认 yi-34b-chat
YI_MODEL
# (可选) YI Deployment Endpoint URL
YI_ENDPOINT
# (可选) API Version,默认 v1beta,可选 v1
YI_API_VER
# (可选) 模型映射别名
YI_MODEL_ALIAS
# (可选) Azure 网络代理
YI_HTTP_PROXY
YI_SOCKS_PROXYJika kami ingin mengonversi API Gemini Resmi Google menjadi panggilan OpenAI standar, kami dapat menggunakan perintah berikut:
AOA_TYPE=gemini GEMINI_API_KEY= <你的 API KEY > ./amazing-openai-api Mirip dengan menggunakan Layanan Azure, kami dapat menggunakan trik untuk secara otomatis memetakan model yang digunakan oleh berbagai perangkat lunak sumber terbuka dan tertutup untuk model yang kami inginkan:
# 比如不论是 3.5 还是 4 都映射为 `gpt-35`
GEMINI_MODEL_ALIAS=gpt-3.5-turbo:gemini-pro,gpt-4:gemini-pro Jika kami mengkonfigurasi GEMINI_API_KEY saat memulai layanan, kami tidak perlu menambahkan Authorization: Bearer <你的API Key> (juga dapat menulisnya curl ), yang akan memberikan isolasi kunci API yang ketat dan meningkatkan keamanan kunci API.
Jika Anda masih terbiasa menambahkan konten otentikasi ke parameter header permintaan, Anda dapat menggunakan perintah berikut yang tidak mengandung GEMINI_API_KEY , dan program akan melewati verifikasi ke layanan Google AI:
./amazing-openai-api # (必选) Gemini API Key
GEMINI_API_KEY
# (可选) Gemini 安全设置,可选 `BLOCK_NONE` / `BLOCK_ONLY_HIGH` / `BLOCK_MEDIUM_AND_ABOVE` / `BLOCK_LOW_AND_ABOVE` / `HARM_BLOCK_THRESHOLD_UNSPECIFIED`
GEMINI_SAFETY
# (可选) Gemini 模型 版本,默认 `gemini-pro`
GEMINI_MODEL
# (可选) Gemini API 版本,默认 `v1beta`
GEMINI_API_VER
# (可选) Gemini API 接口地址
GEMINI_ENDPOINT
# (可选) 模型映射别名
GEMINI_MODEL_ALIAS
# (可选) Gemini 网络代理
GEMINI_HTTP_PROXY
GEMINI_SOCKS_PROXY