Nesta página, explicamos como migrar o código projetado para o SDK da OpenAI para o SDK de IA Generativa do Google para usar modelos Gemini na Vertex AI.
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 da IA generativa.
| Recurso | SDK da OpenAI (openai) |
SDK da IA generativa (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 da IA generativa.
pip install google-genai
2. Autenticação e inicialização
Enquanto a OpenAI usa uma chave de API, a Vertex AI usa credenciais do Identity and Access Management (IAM) (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_VERTEXAI, GOOGLE_CLOUD_PROJECT e GOOGLE_CLOUD_LOCATION, conforme mostrado:
export GOOGLE_GENAI_USE_VERTEXAI=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 de 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
- Aprenda a usar as bibliotecas da OpenAI com a Vertex AI.
- Confira exemplos de código para compatibilidade com a OpenAI.
- Comece com o guia de início rápido do SDK de IA Generativa do Google.