본문으로 건너뛰기

Chat Completions

iwinv, Google, OpenAI 모델에서 사용하는 표준 채팅 API입니다.
OpenAI chat/completions 형식과 완전히 호환됩니다.

엔드포인트

POST https://ai-api.iwinv.kr/v1/chat/completions

요청 파라미터

파라미터타입필수설명
modelstring사용할 모델 ID
messagesarray대화 메시지 배열
streamboolean스트리밍 여부. 기본값 false
max_tokensinteger최대 생성 토큰 수
temperaturenumber응답 다양성 (0.0 ~ 2.0). 기본값 1.0
top_pnumbernucleus sampling 임계값
systemstring시스템 프롬프트 (일부 모델)

기본 요청

response = client.chat.completions.create(
model="gemma4-26b",
messages=[
{"role": "system", "content": "당신은 친절한 AI 어시스턴트입니다."},
{"role": "user", "content": "iwinv 클라우드에 대해 알려주세요."}
],
max_tokens=512,
temperature=0.7
)

print(response.choices[0].message.content)

멀티턴 대화

이전 대화 내용을 messages 배열에 함께 전달하면 문맥을 유지한 대화가 가능합니다.

messages = [
{"role": "system", "content": "당신은 친절한 AI 어시스턴트입니다."}
]

# 1번째 대화
messages.append({"role": "user", "content": "제 이름은 김철수입니다."})
response = client.chat.completions.create(model="gemma4-26b", messages=messages)
answer = response.choices[0].message.content
messages.append({"role": "assistant", "content": answer})

# 2번째 대화 — 이전 문맥 유지
messages.append({"role": "user", "content": "제 이름이 뭐라고 했죠?"})
response = client.chat.completions.create(model="gemma4-26b", messages=messages)
print(response.choices[0].message.content)
# → "김철수라고 하셨습니다."

스트리밍 응답

stream=True 설정 시 응답을 토큰 단위로 실시간 수신합니다.

with client.chat.completions.stream(
model="gemma4-26b",
messages=[{"role": "user", "content": "iwinv를 소개해주세요."}]
) as stream:
for chunk in stream:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)

Thinking 모드 (추론 모델)

Thinking 배지가 있는 모델은 답변 전 내부 추론 과정을 거칩니다.
복잡한 수학, 코딩, 논리 문제에서 더 높은 정확도를 보입니다.

response = client.chat.completions.create(
model="gemma4-31b", # Thinking 지원 모델
messages=[
{"role": "user", "content": "피보나치 수열의 10번째 값을 구하고 과정을 설명해주세요."}
]
)
print(response.choices[0].message.content)