Gemini-Openai-Proxy เป็นพร็อกซีที่ออกแบบมาเพื่อแปลงโปรโตคอล OpenAI API เป็นโปรโตคอล Google Gemini สิ่งนี้ช่วยให้แอปพลิเคชันที่สร้างขึ้นสำหรับ OpenAI API สามารถสื่อสารกับโปรโตคอล Gemini ได้อย่างราบรื่นรวมถึงการสนับสนุนการแชทเสร็จสิ้นการฝังและจุดสิ้นสุดของรุ่น
ในการสร้างราศีเมถุน-openai-proxy ทำตามขั้นตอนเหล่านี้:
go build -o gemini main.go
เราขอแนะนำให้ปรับใช้ Gemini-Openai-Proxy โดยใช้ Docker สำหรับการตั้งค่าที่ตรงไปตรงมา ทำตามขั้นตอนเหล่านี้เพื่อปรับใช้กับ Docker:
คุณสามารถทำได้ในบรรทัดคำสั่ง:
docker run --restart=unless-stopped -it -d -p 8080:8080 --name gemini zhu327/gemini-openai-proxy:latest
หรือด้วย config-compose docker ต่อไปนี้:
version : ' 3 '
services :
gemini :
container_name : gemini
environment : # Set Environment Variables here. Defaults listed below
- GPT_4_VISION_PREVIEW=gemini-1.5-flash-latest
- DISABLE_MODEL_MAPPING=0
ports :
- " 8080:8080 "
image : zhu327/gemini-openai-proxy:latest
restart : unless-stopped
ปรับการแมปพอร์ต (เช่น -p 8080:8080
) ตามต้องการและตรวจสอบให้แน่ใจว่าเวอร์ชันภาพ Docker ( zhu327/gemini-openai-proxy:latest
) สอดคล้องกับความต้องการของคุณ
Gemini-Openai-Proxy นำเสนอวิธีที่ตรงไปตรงมาในการรวมฟังก์ชัน OpenAI เข้ากับแอปพลิเคชันใด ๆ ที่รองรับจุดสิ้นสุด OpenAI API ที่กำหนดเอง ทำตามขั้นตอนเหล่านี้เพื่อใช้ประโยชน์จากความสามารถของพร็อกซีนี้:
ตั้งค่า OpenAI Endpoint: ตรวจสอบให้แน่ใจว่าแอปพลิเคชันของคุณได้รับการกำหนดค่าให้ใช้จุดสิ้นสุด OpenAI API ที่กำหนดเอง Gemini-Openai-Proxy ทำงานได้อย่างราบรื่นกับจุดสิ้นสุดที่เข้ากันได้ของ OpenAI
รับคีย์ Google AI Studio API: ก่อนที่จะใช้พร็อกซีคุณจะต้องได้รับคีย์ API จาก ai.google.dev ปฏิบัติต่อคีย์ API นี้เป็นคีย์ OpenAI API ของคุณเมื่อมีปฏิสัมพันธ์กับ Gemini-Openai-Proxy
รวมพร็อกซีเข้ากับแอปพลิเคชันของคุณ: แก้ไขคำขอ API ของแอปพลิเคชันของคุณเพื่อกำหนดเป้าหมาย Gemini-Openai-Proxy โดยให้คีย์ Google AI Studio Studio API ที่ได้มาราวกับว่ามันเป็นคีย์ OpenAI API ของคุณ
ตัวอย่างการแชทเสร็จสมบูรณ์คำขอ API (สมมติว่าพร็อกซีโฮสต์ที่ http://localhost:8080
):
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
} '
หรือใช้ Gemini Pro Vision:
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gpt-4-vision-preview",
"messages": [{"role": "user", "content": [
{"type": "text", "text": "What’s in this image?"},
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
}
}
]}],
"temperature": 0.7
} '
หากคุณต้องการแมป gpt-4-vision-preview
ไปยัง gemini-1.5-pro-latest
คุณสามารถกำหนดค่าตัวแปรสภาพแวดล้อม GPT_4_VISION_PREVIEW = gemini-1.5-pro-latest
นี่เป็นเพราะ gemini-1.5-pro-latest
ตอนนี้ยังรองรับข้อมูลหลายโหมด มิฉะนั้นค่าเริ่มต้นจะใช้รุ่น gemini-1.5-flash-latest
หากคุณสามารถเข้าถึง Gemini 1.5 Pro API ได้แล้วคุณสามารถใช้:
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gpt-4-turbo-preview",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
} '
ตัวอย่างการร้องขอ Embeddings API:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "text-embedding-ada-002",
"input": "This is a test sentence."
} '
นอกจากนี้คุณยังสามารถส่งผ่านหลายสตริงอินพุตเป็นรายการ:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "text-embedding-ada-002",
"input": ["This is a test sentence.", "This is another test sentence"]
} '
การทำแผนที่แบบจำลอง:
รุ่น GPT | รูปแบบราศีเมถุน |
---|---|
GPT-3.5-turbo | Gemini-1.0-pro-latest |
GPT-4 | Gemini-1.5-flash-latest |
GPT-4-Turbo-Preview | Gemini-1.5-pro-latest |
GPT-4-Vision-Preview | Gemini-1.0-Pro-Vision-Latest |
Text-Embedding-ADA-002 | Text-Embedding-004 |
หากคุณต้องการปิดใช้งานการแมปแบบจำลองกำหนดค่าตัวแปรสภาพแวดล้อม DISABLE_MODEL_MAPPING=1
สิ่งนี้จะช่วยให้คุณอ้างถึงรุ่นราศีเมถุนโดยตรง
นี่คือตัวอย่างคำขอ API ที่มีการปิดการแมปแบบจำลอง:
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gemini-1.0-pro-latest",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
} '
จัดการคำตอบ: ประมวลผลการตอบสนองจากราศีเมถุน-โอเพนัยพร็อกซีในลักษณะเดียวกับที่คุณจะจัดการกับการตอบกลับจาก OpenAI
ตอนนี้แอปพลิเคชันของคุณพร้อมที่จะใช้ประโยชน์จากฟังก์ชันการทำงานของ OpenAI ผ่าน Gemini-Openai-Proxy โดยเชื่อมช่องว่างระหว่าง OpenAI และแอปพลิเคชันโดยใช้โปรโตคอล Google Gemini Pro
Gemini-Openai-Proxy ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT-ดูไฟล์ใบอนุญาตสำหรับรายละเอียด