Neste guia, envia um comando de texto para o Gemini através da API e vê a resposta do modelo.
Pode concluir este guia usando bibliotecas cliente para Python no seu ambiente local ou enviando pedidos da linha de comandos para a API REST.
Saiba mais sobre os idiomas suportados pelo Gemini nos quais pode enviar os seus comandos.
Antes de começar
Antes de poder começar a enviar comandos de texto para o Gemini gerar texto, tem de ter um projeto com a API Gemini ativada e ter funções e credenciais adequadas. Tem de instalar, inicializar e autenticar com a CLI gcloud, bem como instalar bibliotecas de cliente para Python.
Para mais informações, consulte o artigo Comece a usar o Google Workspace.
Envie um comando para a API Gemini
Use o seguinte código para enviar um comando de texto para a API Gemini. Este exemplo devolve a altura do Empire State Building.
Pode executar o código a partir da linha de comandos, através de um IDE ou incluindo o código na sua aplicação.
Python
Siga estes passos para enviar um comando de texto e gerar texto a partir de um script Python:
Guarde o seu pedido de API num ficheiro JSON denominado
request.json. O ficheiro tem de ter o seguinte aspeto:{ "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "How tall is the Empire State Building?" } ] }Para ver detalhes do corpo do pedido, consulte o artigo Formate os seus pedidos à API.
Pode experimentar parâmetros no seu pedido. Para mais informações, consulte Capacidades.
Instale as bibliotecas Python necessárias:
pip install openai pip install absl-py pip install typing pip install protobufDefina as variáveis de ambiente necessárias num script Python.
Adicione o seguinte código ao script Python que 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 o seguinte:
PROJECT_ID: o ID do seu projeto.MODEL_ID: o ID do ponto final do modelo para o qual quer gerar a resposta.
Guarde o script Python.
Enviar uma solicitação ao Gemini com a interface Chat Completions:
python SCRIPT_NAME --input=request.json --host=ENDPOINT --token=TOKENSubstitua o seguinte:
SCRIPT_NAME: o nome que deu ao seu script Python, comoclient.py.ENDPOINT: o ponto final do Gemini que usa para a sua organização. Para mais informações, consulte o estado do serviço e os pontos finais.TOKEN: o token de autenticação que obteve.
Tem de obter uma resposta semelhante à seguinte:
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 estes passos para enviar um comando de texto e gerar texto através de um curlpedido à API REST:
Guarde o seu pedido de API num ficheiro JSON denominado
request.json. O ficheiro tem de ter o seguinte aspeto:{ "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "How tall is the Empire State Building?" } ] }Para ver detalhes do corpo do pedido, consulte o artigo Formate os seus pedidos à API.
Pode experimentar parâmetros no seu pedido. Para mais informações, consulte Capacidades.
Faça o pedido:
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 o seguinte:
TOKEN: o token de autenticação que obteve.ENDPOINT: o ponto final do Gemini que usa para a sua organização. Para mais informações, consulte o estado do serviço e os pontos finais.PROJECT_ID: o ID do seu projeto.MODEL_ID: o ID do ponto final do modelo para o qual quer gerar a resposta.
Tem de obter uma resposta semelhante à seguinte:
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))