Esta página explica como migrar o código projetado para o SDK da OpenAI para o SDK da IA generativa do Google para usar os modelos Gemini na plataforma de agentes do Gemini Enterprise.
Visão geral da migração
O notebook a seguir demonstra uma migração prática da biblioteca openai para a biblioteca google-genai:
Mapeamento de API e sintaxe
A tabela a seguir compara os principais componentes, métodos e parâmetros do SDK da OpenAI com o SDK de IA Generativa do Google.
| Recurso | SDK da OpenAI (openai) |
SDK de IA Generativa do Google (google-genai) |
|---|---|---|
| Inicialização do cliente | client = OpenAI(api_key=...) |
client = genai.Client(vertexai=True, ...) |
| Método de geração | client.chat.completions.create |
client.models.generate_content |
| Método de streaming | stream=True (parâmetro) |
client.models.generate_content_stream (método) |
| Entrada do usuário | messages=[{"role": "user", "content": "..."}] |
contents="..." (str) ou contents=[...] (lista) |
| Instruções do sistema | messages=[{"role": "system", "content": "..."}] |
config=types.GenerateContentConfig(system_instruction=...) |
| Acesso à resposta | response.choices[0].message.content |
response.text |
| Histórico de chat | Gerenciamento manual de listas (messages.append) |
client.chats.create() (objeto com estado) |
| Tokens máximos | max_tokens |
max_output_tokens (dentro de config) |
| Temperatura | temperature |
temperature (dentro de config) |
| Modo JSON | response_format={"type": "json_object"} |
response_mime_type="application/json" (dentro de config) |
Instalação e configuração
Desinstale a biblioteca da OpenAI e instale o SDK de IA Generativa do Google.
pip install google-genai
2. Autenticação e inicialização
Enquanto a OpenAI usa uma chave de API, a Agent Platform usa Identity and Access Management (IAM) credentials (Application Default Credentials). É necessário definir explicitamente o ID e o local do projeto.
| SDK da OpenAI | SDK de IA Generativa do Google |
|---|---|
|
|
Defina GOOGLE_GENAI_USE_ENTERPRISE, GOOGLE_CLOUD_PROJECT e GOOGLE_CLOUD_LOCATION, conforme mostrado:
export GOOGLE_GENAI_USE_ENTERPRISE=true
export GOOGLE_CLOUD_PROJECT='your-project-id'
export GOOGLE_CLOUD_LOCATION='global'
Depois de configurado, é possível inicializar o cliente sem transmitir parâmetros:
from google import genai
client = genai.Client()
Exemplos de código
Os exemplos de código a seguir mostram as diferenças entre o SDK da OpenAI e o SDK de IA Generativa do Google para tarefas comuns.
Geração de texto de turno único
Os exemplos de código a seguir mostram como gerar texto. No SDK da IA generativa do Google, as instruções do sistema são processadas como um parâmetro de configuração, em vez de uma função de mensagem na lista de entrada.
| SDK da OpenAI | SDK de IA Generativa do Google |
|---|---|
|
|
Geração de texto com parâmetros
Os exemplos de código a seguir mostram as diferenças na definição de parâmetros de configuração. No SDK de IA Generativa do Google, parâmetros como temperature, max_output_tokens (anteriormente max_tokens) e formatação JSON são agrupados em um objeto GenerateContentConfig.
| SDK da OpenAI | SDK de IA Generativa do Google |
|---|---|
|
|
Chat (multiturno)
Os exemplos de código a seguir mostram as diferenças no gerenciamento do histórico de chat. O SDK de IA Generativa do Google simplifica isso fornecendo um objeto chat com estado, enquanto a OpenAI exige que as mensagens sejam anexadas manualmente a uma lista.
| SDK da OpenAI | SDK de IA Generativa do Google |
|---|---|
|
|
Streaming
Os exemplos de código a seguir mostram as diferenças nas respostas de streaming. O SDK de IA Generativa do Google usa um método específico (generate_content_stream), em vez de uma flag booleana.
| SDK da OpenAI | SDK de IA Generativa do Google |
|---|---|
|
|
A seguir
- Saiba como usar as bibliotecas da OpenAI com a Gemini Enterprise Agent Platform.
- Confira exemplos de código para compatibilidade com a OpenAI.
- Comece a usar o guia de início rápido do SDK de IA Generativa do Google.