Dalam panduan ini, Anda akan mengirimkan perintah teks ke Gemini menggunakan API dan melihat respons model.
Anda dapat menyelesaikan panduan ini dengan menggunakan library klien untuk Python di lingkungan lokal atau mengirim permintaan command line ke REST API.
Pelajari bahasa yang didukung Gemini yang dapat Anda gunakan untuk mengirim perintah.
Sebelum memulai
Sebelum dapat mulai mengirim perintah teks agar Gemini menghasilkan teks, Anda harus memiliki project dengan Gemini API yang diaktifkan, dan Anda harus memiliki peran dan kredensial yang sesuai. Anda harus menginstal, melakukan inisialisasi, dan melakukan autentikasi dengan gdcloud CLI serta menginstal library klien untuk Python.
Untuk mengetahui informasi selengkapnya, lihat Mulai.
Mengirim perintah ke Gemini API
Gunakan kode berikut untuk mengirim perintah teks ke Gemini API. Contoh ini menampilkan tinggi gedung Empire State.
Anda dapat menjalankan kode dari command line, dengan menggunakan IDE, atau dengan menyertakan kode dalam aplikasi Anda.
Python
Ikuti langkah-langkah berikut untuk mengirim perintah teks dan membuat teks dari skrip Python:
Simpan permintaan API Anda dalam file JSON bernama
request.json. File harus terlihat seperti contoh berikut:{ "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "How tall is the Empire State Building?" } ] }Untuk mengetahui detail isi permintaan, lihat Memformat permintaan API.
Anda dapat bereksperimen dengan parameter dalam permintaan Anda. Untuk mengetahui informasi selengkapnya, lihat Kemampuan.
Instal library Python yang diperlukan:
pip install openai pip install absl-py pip install typing pip install protobufTetapkan variabel lingkungan yang diperlukan pada skrip Python.
Tambahkan kode berikut ke skrip Python yang Anda buat:
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)Ganti kode berikut:
PROJECT_ID: project ID Anda.MODEL_ID: ID endpoint model yang ingin Anda gunakan untuk membuat respons.
Simpan skrip Python.
Mengirim permintaan ke Gemini dengan antarmuka Chat Completions:
python SCRIPT_NAME --input=request.json --host=ENDPOINT --token=TOKENGanti kode berikut:
SCRIPT_NAME: nama yang Anda berikan ke skrip Python, seperticlient.py.ENDPOINT: endpoint Gemini yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.TOKEN: token autentikasi yang Anda peroleh.
Anda harus mendapatkan respons yang mirip dengan berikut ini:
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
Ikuti langkah-langkah berikut untuk mengirim perintah teks dan membuat teks melalui permintaan curl
ke REST API:
Simpan permintaan API Anda dalam file JSON bernama
request.json. File harus terlihat seperti contoh berikut:{ "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "How tall is the Empire State Building?" } ] }Untuk mengetahui detail isi permintaan, lihat Memformat permintaan API.
Anda dapat bereksperimen dengan parameter dalam permintaan Anda. Untuk mengetahui informasi selengkapnya, lihat Kemampuan.
Buat permintaan:
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.jsonGanti kode berikut:
TOKEN: token autentikasi yang Anda peroleh.ENDPOINT: endpoint Gemini yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.PROJECT_ID: project ID Anda.MODEL_ID: ID endpoint model yang ingin Anda gunakan untuk membuat respons.
Anda harus mendapatkan respons yang mirip dengan berikut ini:
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))