
แปลง API รุ่นที่แตกต่างกันเป็นรูปแบบ OpenAI API ออกจากกล่อง
10MB+ วิดเจ็ตที่ช่วยให้การแปลง API รุ่นต่างๆเป็นรูปแบบ OpenAI API นอกกรอบ
รุ่นที่รองรับปัจจุบัน:
เยี่ยมชมหน้า GitHub Release เพื่อดาวน์โหลดไฟล์ Execution ที่เหมาะสมกับระบบปฏิบัติการของคุณ

หรือใช้ Docker Pull เพื่อดาวน์โหลดไฟล์ภาพเวอร์ชันที่ระบุ:
docker pull soulteary/amazing-openai-api:v0.7.0 AOA ไม่จำเป็นต้องเขียนไฟล์การกำหนดค่าใด ๆ และสามารถปรับพฤติกรรมแอปพลิเคชันได้โดยการระบุตัวแปรสภาพแวดล้อมรวมถึง "การเลือกรูปแบบการทำงาน", "การตั้งค่าพารามิเตอร์ที่จำเป็นสำหรับการทำงานแบบจำลอง" และ "การตั้งค่านามแฝงแบบจำลองความเข้ากันได้"
โดย AZURE_ENDPOINT=https://你的部署名称.openai.azure.com/ ./aoa โปรแกรมจะตั้งค่าโมเดลการทำงานเป็น azure
AZURE_ENDPOINT=https://你的部署名称.openai.azure.com/ ./aoaหากคุณต้องการ Docker คุณสามารถใช้คำสั่งต่อไปนี้:
docker run --rm -it -e AZURE_ENDPOINT=https://你的部署名称.openai.azure.com/ -p 8080:8080 soulteary/amazing-openai-api:v0.7.0 หลังจากเริ่มบริการแล้วเราสามารถเข้าถึงบริการ API เดียวกันกับ OpenAI ได้โดยไปที่ http://localhost:8080/v1
คุณสามารถใช้ curl เพื่อทำการทดสอบอย่างรวดเร็ว:
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."
}
]
} 'นอกจากนี้คุณยังสามารถใช้ OpenAI SDK อย่างเป็นทางการสำหรับการโทรหรือใช้ซอฟต์แวร์โอเพ่นซอร์สที่เข้ากันได้กับ OpenAI (สำหรับตัวอย่างเพิ่มเติมดูตัวอย่าง):
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 ) หากคุณต้องการที่จะไม่เปิดเผยคีย์ API ไปยังแอปพลิเคชันหรือกังวลว่าซอฟต์แวร์โอเพนซอร์สที่ซับซ้อนต่าง ๆ มีความเสี่ยงต่อการรั่วไหลของคีย์ API เราสามารถกำหนดค่า AZURE_API_KEY=你的API Key เพิ่มเติมแล้วซอฟต์แวร์โอเพ่นซอร์สต่างๆไม่จำเป็นต้องกรอกคีย์ API เมื่อร้องขอ
แน่นอนเนื่องจากข้อ จำกัด บางประการของ Azure และการปรับชื่อการโทรแบบจำลองที่ยากลำบากในซอฟต์แวร์โอเพนซอร์สบางแห่งเราสามารถแมปโมเดลในคำขอดั้งเดิมไปยังชื่อโมเดลจริงของเราด้วยวิธีต่อไปนี้ ตัวอย่างเช่นแทนที่ GPT 3.5/4 ด้วย yi-34b-chat :
gpt-3.5-turbo:yi-34b-chat,gpt-4:yi-34b-chat หากคุณต้องการใช้ yi-34b-chat หรือ gemini-pro เราต้องตั้งค่า AOA_TYPE=yi หรือ AOA_TYPE=gemini ยกเว้นว่าไม่มีความแตกต่าง
โครงการมีไฟล์ตัวอย่าง docker-compose.yml docker compose example อินเทอร์เฟซโมเดลที่รองรับทั้งสามในปัจจุบัน
จากนั้นใช้ docker compose up เพื่อเริ่มบริการและสามารถใช้งานได้อย่างรวดเร็ว
ปรับรูปแบบการทำงาน AOA_TYPE , พารามิเตอร์เสริม, ค่าเริ่มต้นเป็น azure :
# 选择一个服务, "azure", "yi", "gemini"
AOA_TYPE: " azure " ที่อยู่บริการโปรแกรมพารามิเตอร์ทางเลือกค่าเริ่มต้นเป็น 8080 และ 0.0.0.0 :
# 服务端口,默认 `8080`
AOA_PORT: 8080
# 服务地址,默认 `0.0.0.0`
AOA_HOST: " 0.0.0.0 " หากเราต้องการแปลงบริการ OpenAI ที่ปรับใช้กับ Azure เป็นการโทร OpenAI มาตรฐานเราสามารถใช้คำสั่งต่อไปนี้:
AZURE_ENDPOINT=https:// <你的 Endpoint 地址> .openai.azure.com/ AZURE_API_KEY= <你的 API KEY > AZURE_MODEL_ALIAS=gpt-3.5-turbo:gpt-35 ./amazing-openai-api ในคำสั่งข้างต้น AZURE_ENDPOINT และ AZURE_API_KEY รวมองค์ประกอบหลักในบริการ Azure Openai เนื่องจากชื่อการปรับใช้สำหรับการปรับใช้ Azure GPT 3.5/GPT 4 ไม่ AZURE_MODEL_ALIAS . รวม อยู่ ด้วย เทคนิคนี้ยังสามารถใช้ในการแมปโมเดลที่ใช้โดยซอฟต์แวร์โอเพนซอร์ซและซอฟต์แวร์ปิดแหล่งที่มาโดยอัตโนมัติไปยังรุ่นที่เราต้องการ:
# 比如不论是 3.5 还是 4 都映射为 `gpt-35`
AZURE_MODEL_ALIAS=gpt-3.5-turbo:gpt-35,gpt-4:gpt-35 เนื่องจากเราได้กำหนดค่า AZURE_API_KEY จึงไม่จำเป็นต้องเพิ่ม Authorization: Bearer <你的API Key> (สามารถเขียนได้อย่างไม่เป็นทางการ) ไม่ว่าจะเป็นซอฟต์แวร์โอเพ่นซอร์สหรือการโทร curl

หากคุณยังคงคุ้นเคยกับการเพิ่มเนื้อหาการรับรองความถูกต้องลงในพารามิเตอร์ส่วนหัวคำขอคุณสามารถใช้คำสั่งต่อไปนี้ที่ไม่มี AZURE_API_KEY และโปรแกรมจะผ่านการตรวจสอบไปยังบริการ Azure:
AZURE_ENDPOINT=https:// <你的 Endpoint 地址> .openai.azure.com/ AZURE_MODEL_ALIAS=gpt-3.5-turbo:gpt-35 ./amazing-openai-api หากคุณต้องการระบุรุ่น API พิเศษด้วยตัวคุณเองคุณสามารถระบุ AZURE_IGNORE_API_VERSION_CHECK=true เพื่อบังคับให้การตรวจสอบความถูกต้องของเวอร์ชัน API ของโปรแกรมเอง
หากคุณมี Azure GPT Vision อยู่แล้วนอกเหนือจากการใช้การโทร SDK คุณยังสามารถอ้างอิงเอกสารนี้และใช้ curl เพื่อโทร: GPT Vision
# (必选) 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_CHECKหากเราต้องการแปลง Yi API อย่างเป็นทางการให้เป็นสาย OpenAI มาตรฐานเราสามารถใช้คำสั่งต่อไปนี้:
AOA_TYPE=yi YI_API_KEY= <你的 API KEY > ./amazing-openai-api เช่นเดียวกับการใช้ Azure Services เราสามารถใช้เคล็ดลับในการทำแผนที่โมเดลที่ใช้โดยซอฟต์แวร์โอเพนซอร์ซที่มีแหล่งปิดแหล่งที่มาโดยอัตโนมัติไปยังรุ่นที่เราต้องการ:
# 比如不论是 3.5 还是 4 都映射为 `gpt-35`
YI_MODEL_ALIAS=gpt-3.5-turbo:yi-34b-chat,gpt-4:yi-34b-chat หากเรากำหนดค่า YI_API_KEY เมื่อเริ่มต้นบริการเราไม่จำเป็นต้องเพิ่ม Authorization: Bearer <你的API Key> (ยังสามารถเขียนได้ curl ) ซึ่งจะให้การแยกคีย์ API ที่เข้มงวดและปรับปรุงความปลอดภัยของคีย์ API
หากคุณยังคงคุ้นเคยกับการเพิ่มเนื้อหาการรับรองความถูกต้องลงในพารามิเตอร์ส่วนหัวคำขอคุณสามารถใช้คำสั่งต่อไปนี้ที่ไม่มี YI_API_KEY และโปรแกรมจะผ่านการตรวจสอบไปยังบริการ Yi API:
./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_PROXYหากเราต้องการแปลง Gemini API อย่างเป็นทางการของ Google เป็นการโทร OpenAI มาตรฐานเราสามารถใช้คำสั่งต่อไปนี้:
AOA_TYPE=gemini GEMINI_API_KEY= <你的 API KEY > ./amazing-openai-api เช่นเดียวกับการใช้ Azure Services เราสามารถใช้เคล็ดลับในการทำแผนที่โมเดลที่ใช้โดยซอฟต์แวร์โอเพนซอร์ซที่มีแหล่งปิดแหล่งที่มาโดยอัตโนมัติไปยังรุ่นที่เราต้องการ:
# 比如不论是 3.5 还是 4 都映射为 `gpt-35`
GEMINI_MODEL_ALIAS=gpt-3.5-turbo:gemini-pro,gpt-4:gemini-pro หากเรากำหนดค่า GEMINI_API_KEY เมื่อเริ่มต้นบริการเราไม่จำเป็นต้องเพิ่ม Authorization: Bearer <你的API Key> (ยังสามารถเขียนได้ curl ) ซึ่งจะให้การแยกคีย์ API ที่เข้มงวดและปรับปรุงความปลอดภัยของคีย์ API
หากคุณยังคงคุ้นเคยกับการเพิ่มเนื้อหาการรับรองความถูกต้องลงในพารามิเตอร์ส่วนหัวคำขอคุณสามารถใช้คำสั่งต่อไปนี้ที่ไม่มี GEMINI_API_KEY และโปรแกรมจะผ่านการตรวจสอบไปยัง Google AI Services:
./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