Neste guia, você vai enviar um comando de texto para o Gemini usando a API e conferir a resposta do modelo.
É possível concluir este guia usando bibliotecas de cliente para Python no seu ambiente local ou enviando solicitações de linha de comando para a API REST.
Saiba quais idiomas são aceitos no Gemini para enviar comandos.
Antes de começar
Antes de começar a enviar comandos de texto para o Gemini gerar texto, é preciso ter um projeto com a API Gemini ativada e as funções e credenciais adequadas. É necessário instalar, inicializar e fazer a autenticação com a CLI gdcloud e instalar bibliotecas de cliente para Python.
Para mais informações, consulte Começar.
Enviar um comando para a API Gemini
Use o código a seguir para enviar um comando de texto à API Gemini. Este exemplo retorna a altura do Empire State Building.
É possível executar o código na linha de comando, usando um ambiente de desenvolvimento integrado ou incluindo o código no aplicativo.
Python
Siga estas etapas para enviar um comando de texto e gerar texto com um script Python:
Salve a solicitação de API em um arquivo JSON chamado
request.json. O arquivo precisa ser parecido com o exemplo a seguir:{ "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "How tall is the Empire State Building?" } ] }Para detalhes sobre o corpo da solicitação, consulte Formatar solicitações de API.
Você pode testar parâmetros na sua solicitação. Para mais informações, consulte Recursos.
Instale as bibliotecas necessárias do Python:
pip install openai pip install absl-py pip install typing pip install protobufDefina as variáveis de ambiente necessárias em um script Python.
Adicione o seguinte código ao script Python que você criou:
import json import os from absl import app from absl import flags from openai import OpenAI, OpenAIError from google.protobuf import json_format from google.protobuf.struct_pb2 import Value from typing import Sequence _INPUT = flags.DEFINE_string("input", None, "input", required=True) _HOST = flags.DEFINE_string("host", None, "Chat Completion endpoint", required=True) _TOKEN = flags.DEFINE_string("token", None, "STS token", required=True) def chat_completion_client(host): return OpenAI( api_key="None", base_url="https://" + host + "/v1/projects/PROJECT_ID/locations/PROJECT_ID" ) def chat_completion(client, messages, token): try: response = client.chat.completions.create( model="MODEL_ID", messages=messages, extra_headers={"Authorization" : "Bearer " + token, "Content-Type": "application/json"} ) print("response:", response) except Exception as e: print("Got exception:", e) def main(argv: Sequence[str]): del argv # Unused. with open(_INPUT.value) as json_file: data = json.load(json_file) print("Request: ", data) client = chat_completion_client(_HOST.value,) chat_completion(client=client, messages=data["messages"], token=_TOKEN.value) if __name__=="__main__": app.run(main)Substitua:
PROJECT_ID: o ID do projeto.MODEL_ID: o ID do endpoint do modelo que você quer usar para gerar a resposta.
Salve o script Python.
Envie uma solicitação ao Gemini com a interface Chat Completions:
python SCRIPT_NAME --input=request.json --host=ENDPOINT --token=TOKENSubstitua:
SCRIPT_NAME: o nome que você deu ao script Python, comoclient.py.ENDPOINT: o endpoint do Gemini que você usa na sua organização. Para mais informações, consulte o status do serviço e os endpoints.TOKEN: o token de autenticação que você recebeu.
Você vai receber uma resposta semelhante a esta:
ChatCompletion(id='', choices=[Choice(finish_reason='', index=0, logprobs=0, message=ChatCompletionMessage(content='The Empire State Building is **1,454 feet** (443 meters) tall.\n', refusal=None, role='assistant', function_call=None, tool_calls=None))], created=0, model='', object='', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=0, prompt_tokens=0, total_tokens=0))
curl
Siga estas etapas para enviar um comando de texto e gerar texto com uma solicitação curl
para a API REST:
Salve a solicitação de API em um arquivo JSON chamado
request.json. O arquivo precisa ser parecido com o exemplo a seguir:{ "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "How tall is the Empire State Building?" } ] }Para detalhes sobre o corpo da solicitação, consulte Formatar solicitações de API.
Você pode testar parâmetros na sua solicitação. Para mais informações, consulte Recursos.
Faça a solicitação:
curl \ -H "Authorization: Bearer TOKEN" \ -H "Content-Type: application/json; charset=utf-8" \ -X POST https://ENDPOINT:443/v1/projects/PROJECT_ID/locations/PROJECT_ID/chat/completions -d @./request.jsonSubstitua:
TOKEN: o token de autenticação que você recebeu.ENDPOINT: o endpoint do Gemini que você usa na sua organização. Para mais informações, consulte o status do serviço e os endpoints.PROJECT_ID: o ID do projeto.MODEL_ID: o ID do endpoint do modelo que você quer usar para gerar a resposta.
Você vai receber uma resposta semelhante a esta:
ChatCompletion(id='', choices=[Choice(finish_reason='', index=0, logprobs=0, message=ChatCompletionMessage(content='The Empire State Building is **1,454 feet** (443 meters) tall.\n', refusal=None, role='assistant', function_call=None, tool_calls=None))], created=0, model='', object='', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=0, prompt_tokens=0, total_tokens=0))