Gemini-Openai-Proxy는 OpenAI API 프로토콜을 Google Gemini 프로토콜로 변환하도록 설계된 대리입니다. 이를 통해 OpenAI API를 위해 구축 된 응용 프로그램은 채팅 완료, 임베딩 및 모델 엔드 포인트에 대한 지원을 포함하여 Gemini 프로토콜과 원활하게 통신 할 수 있습니다.
Gemini-Openai-Proxy를 구축하려면 다음을 수행하십시오.
go build -o gemini main.go
간단한 설정을 위해 Docker를 사용하여 Gemini-Openai-Proxy를 배포하는 것이 좋습니다. 다음 단계에 따라 Docker와 함께 배포하십시오.
명령 줄 에서이 작업을 수행 할 수 있습니다.
docker run --restart=unless-stopped -it -d -p 8080:8080 --name gemini zhu327/gemini-openai-proxy:latest
또는 다음 Docker-Compose 구성으로 :
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 Image 버전 ( zhu327/gemini-openai-proxy:latest
)이 요구 사항과 일치하는지 확인하십시오.
Gemini-Openai-Proxy는 OpenAI 기능을 사용자 정의 OpenAI API 엔드 포인트를 지원하는 모든 응용 프로그램에 통합하는 간단한 방법을 제공합니다. 다음 단계에 따라이 대리의 기능을 활용하십시오.
OpenAi 엔드 포인트 설정 : 사용자 정의 OpenAI API 엔드 포인트를 사용하도록 애플리케이션이 구성되어 있는지 확인하십시오. Gemini-Openai-Proxy는 모든 개방형 호환 엔드 포인트와 완벽하게 작동합니다.
Google AI Studio API 키 얻기 : 프록시를 사용하기 전에 ai.google.dev에서 API 키를 얻어야합니다. 이 API 키를 Gemini-Openai-Proxy와 상호 작용할 때 OpenAI API 키로 취급하십시오.
프록시를 응용 프로그램에 통합하십시오. 응용 프로그램의 API 요청을 수정하여 Gemini-Openai-Proxy를 타겟팅하여 획득 한 Google AI 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
} '
예제 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 터보 | Gemini-1.0-Pro-Latest |
GPT-4 | Gemini-1.5- 플래시 라이트 |
gpt-4- 터보-프레뷰 | Gemini-1.5-Pro-Latest |
GPT-4- 비전 예약 | Gemini-1.0-Pro-Vision-Latest |
텍스트-엠 베딩-아다 -002 | 텍스트 엠 베딩 -004 |
모델 매핑을 비활성화하려면 환경 변수 DISABLE_MODEL_MAPPING=1
구성하십시오. 이를 통해 Gemini 모델을 직접 참조 할 수 있습니다.
다음은 모델 매핑이 비활성화 된 예제 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의 응답을 처리하는 것과 같은 방식으로 Gemini-Openai-Proxy의 응답을 처리하십시오.
이제 응용 프로그램은 Gemini-Openai-Proxy를 통해 OpenAI 기능을 활용할 수 있도록 장비되어 있으며 OpenAI와 Google Gemini Pro 프로토콜을 사용한 응용 프로그램 간의 간격을 연결합니다.
Gemini-Openai-Proxy는 MIT 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.