Nesta página, descrevemos as etapas necessárias para migrar do Microsoft Azure OpenAI para a API Gemini da Vertex AI.
A API Gemini é um serviço baseado na nuvem totalmente gerenciado que permite criar e treinar modelos generativos usando o console do Google Cloud. Ela fornece acesso a modelos de linguagem grandes (LLMs), que podem ser usados para criar diversos aplicativos, incluindo chatbots, geradores de conteúdo e ferramentas de criação.
Pré-requisitos
Para migrar um serviço da OpenAI do Microsoft Azure OpenAI para a API Gemini da Vertex AI, crie primeiro um projeto do Google Cloud e um ambiente de desenvolvimento. Para mais informações, consulte Configurar um projeto e um ambiente de desenvolvimento.
Migrar para a API Gemini
Use os tópicos a seguir para saber como migrar de um projeto da OpenAI no Microsoft Azure para a API Gemini.
Usar parâmetros equivalentes da API Gemini
Veja a seguir alguns parâmetros comuns do Azure OpenAI e os parâmetros equivalentes na API Gemini:
Parâmetros da OpenAI | Parâmetros da API Gemini | Descrição | Valores válidos |
prompt |
prompt |
Uma solicitação é uma solicitação de linguagem natural enviada a um modelo de linguagem para receber uma resposta. Os comandos podem conter perguntas, instruções, informações contextuais, exemplos e texto para que o modelo seja concluído ou continue. | Texto |
temperature |
temperature |
A temperatura é usada para amostragem durante a geração da resposta, que ocorre quando topP e topK são aplicados. A temperatura controla o grau de aleatoriedade na seleção do token.
Temperaturas mais baixas são boas para solicitações que exigem uma resposta menos aberta ou criativa, enquanto temperaturas mais altas podem levar a resultados mais diversos ou criativos. Uma temperatura de 0 significa que os tokens de maior probabilidade são sempre selecionados. Nesse caso, as respostas para uma determinada solicitação são, na maioria das vezes, deterministas, mas uma pequena variação ainda é possível.
Se o modelo retornar uma resposta muito genérica, muito curta ou se o modelo fornecer uma resposta alternativa, tente aumentar a temperatura. |
0.0 –1.0
|
max_tokens |
maxOutputTokens |
Número máximo de tokens que podem ser gerados na resposta. Um token tem cerca de quatro caracteres. 100 tokens correspondem a cerca de 60 a 80 palavras.
Especifique um valor mais baixo para respostas mais curtas e um valor mais alto para respostas potencialmente mais longas. |
1-8192 (OpenAI)
|
Indisponível | topK |
O Top-K muda a forma como o modelo seleciona tokens para saída. Um top-K de
1 significa que o próximo token selecionado é o mais provável entre todos
os tokens no vocabulário do modelo (também chamado de decodificação gananciosa), enquanto um top-K de
3 significa que o próximo token está selecionado entre os três tokens mais
prováveis usando a temperatura.
Para cada etapa da seleção de tokens, são amostrados os tokens top-K com as maiores probabilidades. Em seguida, os tokens são filtrados com base no valor de top-P com o token final selecionado por meio da amostragem de temperatura. Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias. |
1 –40
|
top_p |
topP |
O top-p muda a forma como o modelo seleciona tokens para saída. Os tokens são selecionados
do mais provável (veja o top-K) para o menos provável até que a soma das probabilidades
seja igual ao valor do top-P. Por exemplo, se os tokens A, B e C tiverem uma probabilidade de 0,3, 0,2 e 0,1 e o valor de top-P for 0.5 , o modelo selecionará A ou B como token seguinte usando temperatura e exclui C como
candidato.
Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias. |
0.0 –1.0
|
stop |
stop_sequences |
Uma sequência de parada é uma série de caracteres (incluindo espaços) que interrompe a geração de resposta quando é encontrada pelo modelo. Ela não é incluída como parte da resposta. Você pode adicionar até cinco sequências de paradas. | Sua sequência de parada em uma matriz, por exemplo, ["###"] .
|
Usar o modelo equivalente da API Gemini
A tabela a seguir descreve os modelos básicos disponíveis.
Tipo | Descrição | Endpoints da OpenAI | Endpoints do LLM da API Gemini |
Texto | Ajustado para seguir instruções de linguagem natural e adequado para várias tarefas de linguagem. | gpt-3.5-turbo ou gpt-4
|
gemini-1.0-pro
|
Chat | Sintonizado para casos de uso de conversa com vários turnos. | gpt-3.5-turbo ou gpt-4
|
gemini-1.0-pro
|
Instalar, importar e autenticar a API Gemini da Vertex AI
Use o SDK da Vertex AI para Python para instalar, importar e autenticar a API Gemini da Vertex AI. Confira a seguir os métodos equivalentes do SDK da Vertex AI para Python e do Azure OpenAI.
Instalar a API Gemini da Vertex AI
OpenAI Azure
$ pip install --upgrade openai
API Gemini da Vertex AI
$ pip install google-cloud-aiplatform
Importar a API Gemini da Vertex AI
OpenAI Azure
import openai
API Gemini da Vertex AI
from vertexai.preview.generative_models import GenerativeModel
Autenticar a API Gemini da Vertex AI
OpenAI Azure
openai.api_key = os.getenv("OPENAI_API_KEY")
API Gemini da Vertex AI
from google.colab import auth as google_auth
google_auth.authenticate_user()
Comparações da API Gemini da Vertex AI e do Azure e exemplo de código
Gerar texto com o SDK Vertex AI para Python
OpenAI Azure
from openai import OpenAI
client = OpenAI()
response = client.completions.create(
prompt="Write an article about the potential of AI",
max_tokens=8192,
temperature=0.3,
model="gpt-4")
print(f"Response from Model: {response['choices'][0]['text']}")
API Gemini da Vertex AI
from vertexai.preview.generative_models import GenerativeModel
model = GenerativeModel("gemini-1.0-pro")
generation_config = {
"max_output_tokens": 8192,
"temperature": 0.9,
"top_p": 1}
responses = model.generate_content(
"Write an article about the potential of AI",
generation_config=generation_config,
stream=True)
for response in responses:
print(response.text)
Usar a conclusão de chat com o SDK da Vertex AI para Python
OpenAI Azure
from openai import OpenAI
client = OpenAI()
parameters = {
"model":"gpt-4",
"temperature": 0.2,
"max_tokens": 256,
"top_p": 0.95}
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "name":"example_user", "content": "Hello! Can you write a 300 word article on the history of AI?"}
]
,
**parameters)
response = chat_completion['choices'][0]
print(f"Response from Model: {response.text}")
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "name":"example_user", "content": "Could you give me a catchy title for the paper?"}
]
,
**parameters)
response = chat_completion['choices'][0]
print(f"Response from Model: {response.text}")
API Gemini da Vertex AI
from vertexai.preview.generative_models import GenerativeModel
model = GenerativeModel("gemini-1.0-pro")
chat = model.start_chat()
responses = chat.send_message(
content="Hello! Can you write a 300 word article on the history of AI?",
stream=True)
for response in responses:
print(response.text)
responses = chat.send_message(
content="Could you give me a catchy title for the paper?",
stream=True)
for response in responses:
print(response.text)
Gerar código com o SDK da Vertex AI para Python
OpenAI Azure
from openai import OpenAI
client = OpenAI()
response = client.completions.create(
prompt="Write a Python code to read a CSV file in pandas, calculate the average for a specific column, and then sort the data in descending order for that column",
max_tokens=8192,
temperature=0.3,
model="gpt-4")
print(f"Response from Model: {response['choices'][0]['text']}")
API Gemini da Vertex AI
from vertexai.preview.generative_models import GenerativeModel
model = GenerativeModel("gemini-1.0-pro")
generation_config = {
"max_output_tokens": 8192,
"temperature": 0.9,
"top_p": 1,
}
responses = model.generate_content(
contents="Write a Python code to read a CSV file in pandas, calculate the average for a specific column, and then sort the data in descending order for that column",
generation_config=generation_config,
stream=True)
for response in responses:
print(response.text)
Migrar comandos para modelos do Gemini
Se você tiver conjuntos de comandos usados anteriormente com o Azure OpenAI, poderá otimizá-los para uso com modelos do Google usando o otimizador de comandos da Vertex AI (pré-lançamento).
A seguir
- Saiba como testar comandos no Vertex AI Studio.
- Saiba mais sobre o design de comandos para textos e chats.
- Saiba mais sobre modelos multimodais.