Gemini Chat Completions API를 사용하여 텍스트를 생성하는 가장 간단한 방법은 모델에 텍스트 전용 입력을 하나 제공하는 것입니다. REST API에서 채팅 완성 엔드포인트를 사용하고 HTTP 클라이언트 또는 OpenAI의 공식 Python SDK를 사용할 수 있습니다.
Gemini를 사용한 텍스트 생성 및 API 요청 전송에 관한 단계별 안내는 텍스트 프롬프트 보내기를 참고하세요.
OpenAI 및 Gemini가 Google Distributed Cloud (GDC) 에어갭에서 구현하는 Chat Completions 엔드포인트에 대해 자세히 알아보려면 https://platform.openai.com/docs/api-reference/chat을 참고하세요.
프롬프트에서 텍스트 생성
다음 예시에서는 Python 또는 curl용 OpenAI 공식 SDK를 사용하여 텍스트 전용 입력이 하나인 Gemini Chat Completions API 요청을 보여줍니다.
Python
import openai
client = openai.OpenAI(
base_url = "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT",
)
model_response = client.chat.completions.create(
model = "MODEL_ID",
messages = [{"role": "user", "content": "Write a story about a magic backpack." }]
)
print(model_response)
MODEL_ID를 응답을 생성할 모델의 엔드포인트 ID로 바꿉니다.
curl
curl \
-X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
-d '{
"model_id": "MODEL_ID",
"messages": [
{
"role": "user",
"content": "Write a story about a magic backpack."
}
]
}'
다음을 바꿉니다.
ENDPOINT: 조직에서 사용하는 API 엔드포인트입니다.PROJECT: 프로젝트 ID입니다.MODEL_ID: 대답을 생성하려는 모델의 엔드포인트 ID입니다.
파라미터 실험
모델에 보내는 모든 프롬프트에는 모델의 대답 생성 방식을 제어하는 파라미터가 포함됩니다. 매개변수 값이 다르면 결과가 달라질 수 있습니다. 다양한 매개변수 값으로 실험하여 작업에 가장 적합한 값을 얻습니다. 모델별로 사용 가능한 파라미터가 다를 수 있습니다. 매개변수를 구성하지 않으면 모델에서 기본 옵션을 사용합니다.
가장 일반적인 파라미터는 다음과 같습니다.
| 매개변수 | 설명 | 필드 이름 |
|---|---|---|
| 최대 토큰 수 | 응답에서 생성될 수 있는 토큰의 최대 개수입니다. 토큰은 약 4자(영문 기준)입니다. 토큰 100개는 단어 60~80개에 해당합니다. 짧은 대답에는 더 작은 값을 지정하고 긴 대답에는 더 큰 값을 지정하세요. |
max_completion_tokens |
| 온도 | 토큰 선택의 무작위성 수준입니다. 온도는 top_p가 적용될 때 발생하는 응답 생성 중 샘플링에 사용됩니다.창의적이거나 개방적인 대답이 덜 필요한 프롬프트에는 낮은 값을 사용하고, 높은 값은 더 다양하거나 창의적인 결과로 이어질 수 있습니다. 온도가 0이면 항상 가장 높은 확률의 토큰이 선택됩니다. 이 경우 특정 프롬프트에 대한 응답은 대부분 확정적이지만 여전히 약간의 변형이 가능합니다.대답이 너무 일반적이거나, 너무 짧거나, 모델이 대체 대답을 제공하는 경우 온도를 높이세요. 다음은 GDC의 Gemini 모델에 대한 온도 범위와 기본값입니다.
|
temperature |
| Top-P | 모델이 출력을 위해 토큰을 선택하는 방식을 변경하는 기준점 확률 값입니다. 토큰은 확률의 합이 Top-P 값과 같아질 때까지 확률이 가장 높은 순에서 낮은 순으로 선택됩니다. 예를 들어 토큰 A, B, C의 확률이 0.3, 0.2, 0.1이고 Top-P 값이 0.5이면 모델이 강도를 사용해서 다음 토큰으로 A 또는 B를 선택하고 C는 후보에서 제외합니다.무작위성이 낮은 대답을 원하면 낮은 값을 지정하고 무작위성이 높은 대답을 원하면 높은 값을 지정하세요. |
top_p |
다음 curl 예시에서는 temperature을 1.5 값으로, max_completion_tokens을 800로 구성하는 방법을 보여줍니다.
curl \
-X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
-d '{
"model_id": "MODEL_ID",
"messages": [
{
"role": "user",
"content": "Write a story about a magic backpack."
}
],
"temperature": 1.5,
"max_completion_tokens": 800
}'
OpenAI의 채팅 완성 엔드포인트를 사용하여 매개변수를 실험하는 방법에 대한 자세한 내용은 https://platform.openai.com/docs/api-reference/chat/create를 참고하세요.
다음 단계
멀티모달 프롬프트 요청 보내기 방법 알아보기