2.8 KiB
2.8 KiB
dev-corp OpenAI-Compatible Call Guide
dev-corp gemma4:26b 모델을 OpenAI-compatible 방식으로 직접 호출할 때 필요한 최소 설정이다.
기본값
| 항목 | 값 |
|---|---|
| Base URL | http://digitalplatform-iop.cloud:18086/v1 |
| Chat endpoint | POST /v1/chat/completions |
| Models endpoint | GET /v1/models |
| Model | gemma4:26b |
| Auth header | Authorization: Bearer <token> |
/v1/responses가 아니라 /v1/chat/completions를 사용한다.
권장 요청
기본 권장 호출은 stream:true다. think, reasoning_effort, thinking_token_budget은 보내지 않는다.
반복 출력 loop를 피하려면 최소 sampling parameter로 temperature: 0.2, top_p: 0.95를 함께 보낸다.
curl -N http://digitalplatform-iop.cloud:18086/v1/chat/completions \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <token>' \
-d '{
"model": "gemma4:26b",
"messages": [
{
"role": "user",
"content": "간단히 응답해줘."
}
],
"temperature": 0.2,
"top_p": 0.95,
"stream": true
}'
Streaming을 처리하지 않는 client에서는 선택적으로 stream:false를 사용할 수 있다.
curl -fsS http://digitalplatform-iop.cloud:18086/v1/chat/completions \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <token>' \
-d '{"model":"gemma4:26b","messages":[{"role":"user","content":"ok만 응답해줘."}],"temperature":0.2,"top_p":0.95,"stream":false}'
파라미터
| 파라미터 | 권장 |
|---|---|
model |
gemma4:26b |
stream |
기본 true, 필요하면 false |
temperature |
최소 기준 0.2 |
top_p |
최소 기준 0.95 |
think |
생략 |
reasoning_effort |
생략 |
thinking_token_budget |
생략 |
include_reasoning |
숨김 보장용으로 쓰지 않음 |
Repetition loop 조정
dev-corp gemma4:26b OpenAI-compatible 호출에서는 반복 출력 loop를 피하기 위한 최소 기준으로 temperature: 0.2, top_p: 0.95를 설정한다. 두 값을 생략해 provider 기본값에 맡기지 않는다.
그래도 repetition loop가 발생하면 한 번에 여러 값을 크게 바꾸지 말고, temperature는 조금씩 올리고 top_p는 조금씩 낮추는 방향으로 조정한다.
Reasoning 표시 옵션
응답에 reasoning field가 포함될 수 있다. 표시하지 않는 UX가 필요하면 호출하는 client에서 아래 field를 렌더링 대상에서 제외하는 방식으로 처리할 수 있다.
- non-stream:
choices[].message.reasoning_content,choices[].message.reasoning,choices[].message.reasoning_text - stream:
choices[].delta.reasoning_content,choices[].delta.reasoning,choices[].delta.reasoning_text
include_reasoning=false만으로 reasoning 표시 여부가 항상 제어된다고 가정하지 않는다.