Gemini Enterprise Agent Platform의 OpenAI 파트너 모델은 텍스트 및 이미지 입력, 도구 호출, 추론 노력 제어, 대화 압축에서 텍스트 생성을 위한 OpenAI Responses API(publishers/openai/v1/responses)를 지원합니다.
시작하기 전에
Gemini Enterprise Agent Platform에서 OpenAI 파트너 모델을 사용하려면 다음 단계를 완료해야 합니다. Google Cloud 프로젝트에서 Gemini Enterprise Agent Platform API(aiplatform.googleapis.com)를 사용 설정해야 합니다.
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Gemini Enterprise Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Gemini Enterprise Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Google Cloud Marketplace를 통해 제품을 구매하고 Model Garden에서 모델을 사용 설정하는 등 OpenAI GPT 모델의 온보딩 단계를 완료합니다.
-
조직의 정책에서 모델 액세스를 제한하는 경우 해당 정책에서 모델을 허용합니다.
필요한 역할
OpenAI 파트너 모델을 호출하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Agent Platform 사용자(roles/aiplatform.user) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
엔드포인트
OpenAI 파트너 모델은 다음 Agent Platform 기준 URL에서 제공됩니다.
- 전역 엔드포인트(
global):https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/openai/v1 - 미국 멀티 리전 엔드포인트(
us):https://aiplatform.us.rep.googleapis.com/v1/projects/PROJECT_ID/locations/us/publishers/openai/v1
<var>PROJECT_ID</var>를 Google Cloud 프로젝트 ID로 바꿉니다.
OpenAI Python SDK를 사용하여 Responses API 호출
base_url를 에이전트 플랫폼 엔드포인트로 설정하고 새로고침된 Google Cloud OAuth 2.0 액세스 토큰을 api_key로 전달하여 공식 openai Python 라이브러리를 사용할 수 있습니다. 스테이트리스(Stateless) 요청 및 ZDR 워크로드에 store=False를 설정합니다.
import google.auth from google.auth.transport.requests import Request from openai import OpenAI credentials, _ = google.auth.default( scopes=["https://www.googleapis.com/auth/cloud-platform"] ) credentials.refresh(Request()) project_id = "PROJECT_ID" base_url = ( f"https://aiplatform.googleapis.com/v1/projects/{project_id}" "/locations/global/publishers/openai/v1" ) client = OpenAI( base_url=base_url, api_key=credentials.token, ) response = client.responses.create( model="gpt-6.1-sol", input="Explain how Zero Data Retention works on Agent Platform.", reasoning={"effort": "medium"}, store=False, ) print(response.output_text)
대답 스트리밍
서버 전송 이벤트(SSE)를 통해 증분 텍스트 델타를 스트리밍하려면 stream=True를 설정합니다.
import google.auth from google.auth.transport.requests import Request from openai import OpenAI credentials, _ = google.auth.default( scopes=["https://www.googleapis.com/auth/cloud-platform"] ) credentials.refresh(Request()) project_id = "PROJECT_ID" base_url = ( f"https://aiplatform.googleapis.com/v1/projects/{project_id}" "/locations/global/publishers/openai/v1" ) client = OpenAI( base_url=base_url, api_key=credentials.token, ) stream = client.responses.create( model="gpt-6-luna", input="Write a short Python function to validate a JSON schema.", stream=True, store=False, ) for event in stream: if event.type == "response.output_text.delta": print(event.delta, end="")
간결한 대화 기록
장기 에이전트 세션의 경우 독립형 압축 엔드포인트(POST .../responses/compact)를 호출하여 이전 메시지를 후속 스테이트리스(Stateless) /responses 호출에 전달할 수 있는 암호화된 압축 항목으로 압축합니다.
import google.auth from google.auth.transport.requests import Request from openai import OpenAI credentials, _ = google.auth.default( scopes=["https://www.googleapis.com/auth/cloud-platform"] ) credentials.refresh(Request()) project_id = "PROJECT_ID" base_url = ( f"https://aiplatform.googleapis.com/v1/projects/{project_id}" "/locations/global/publishers/openai/v1" ) client = OpenAI( base_url=base_url, api_key=credentials.token, ) compacted = client.responses.compact( model="gpt-6-astra", input=[ {"role": "user", "content": "Audit our multi-region VPC firewall rules."}, {"role": "assistant", "content": "I checked the ingress rules for us-east1 and us-central1."}, ], ) print(compacted.output)
OpenAI Node.js SDK를 사용하여 Responses API 호출
openai OAuth 사용자 인증 정보와 함께 공식 Google Cloud Node.js 라이브러리를 사용할 수 있습니다.
import OpenAI from "openai"; const projectId = "PROJECT_ID"; const client = new OpenAI({ apiKey: process.env.GOOGLE_CLOUD_ACCESS_TOKEN, baseURL: `https://aiplatform.googleapis.com/v1/projects/${projectId}/locations/global/publishers/openai/v1`, }); const response = await client.responses.create({ model: "gpt-6-luna", input: "Write a short summary of how authentication works on Agent Platform.", store: false, }); console.log(response.output_text);
OpenAI Go SDK를 사용하여 Responses API 호출
Google Cloud OAuth 사용자 인증 정보와 함께 공식 openai-go 라이브러리를 사용할 수 있습니다.
package main import ( "context" "fmt" "os" "github.com/openai/openai-go/v3" "github.com/openai/openai-go/v3/option" "github.com/openai/openai-go/v3/responses" ) func main() { ctx := context.Background() projectID := "PROJECT_ID" client := openai.NewClient( option.WithAPIKey(os.Getenv("GOOGLE_CLOUD_ACCESS_TOKEN")), option.WithBaseURL("https://aiplatform.googleapis.com/v1/projects/"+projectID+"/locations/global/publishers/openai/v1"), ) response, err := client.Responses.New(ctx, responses.ResponseNewParams{ Model: "gpt-6-luna", Input: responses.ResponseNewParamsInputUnion{ OfString: openai.String("Write a one-sentence bedtime story about a unicorn."), }, Store: openai.Bool(false), }) if err != nil { panic(err) } fmt.Println(response.OutputText()) }
curl을 사용하여 Responses API 호출
curl을 사용하여 Responses API에 직접 REST 요청을 보낼 수 있습니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID: Google Cloud 프로젝트 ID입니다.
HTTP 메서드 및 URL:
POST https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/openai/v1/responses
JSON 요청 본문:
{
"model": "gpt-6.1-sol",
"input": "Summarize the key differences between Google Cloud and OpenAI terms.",
"reasoning": {"effort": "medium"},
"store": false
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.
오류 처리
429 및 5xx 응답에 지터를 사용하는 지수 백오프를 프로덕션 워크로드에 빌드합니다.
| 상태 코드 | 가능한 원인 | 권장 조치 |
|---|---|---|
401 |
액세스 토큰이 만료되었거나 잘못되었습니다. | Google Cloud 액세스 토큰을 새로고침하고 요청을 다시 시도합니다. |
403 |
호출자 ID에 필요한 권한이 없거나 API, 프로젝트 또는 모델이 사용 설정되지 않았습니다. | IAM 역할, API 사용 설정, 프로젝트 허용 목록 추가, Model Garden 사용 설정을 확인합니다. |
404 |
엔드포인트 경로, 위치 또는 모델 식별자가 잘못되었습니다. | 기준 URL, 위치 세그먼트, 모델 이름을 확인합니다. |
429 |
비율, 할당량 또는 사용 가능한 용량 한도에 도달했습니다. | 지수 백오프를 적용하고 다시 시도합니다. 문제가 지속되면 계정팀에 문의하세요. |
5xx |
일시적인 서버 상태입니다. | 지수 백오프로 다시 시도합니다. |
Google Cloud에 Codex 연결
Google Cloud 인증을 사용하여 Google Cloud 프로젝트를 통해 모델 요청을 라우팅하도록 OpenAI Codex(CLI 또는 데스크톱 앱)를 구성할 수 있습니다.
전체 설정 안내, 대화형 로그인 단계, 수동 config.toml 옵션은 OpenAI Codex를Google Cloud에 연결을 참조하세요.
다음 단계
- OpenAI Codex를Google Cloud에 연결에서 개발자 도구를 구성합니다.
- OpenAI GPT 모델에서 모델 사양, ZDR 절차, 관련 약관을 검토합니다.
- 악용 모니터링 및 데이터 보관 없음에 대해 알아보세요.