오류 용어 사전
오류 용어 사전 (Error Glossary)
Mistral API가 돌려주는 HTTP 상태 코드와 그 의미, 그리고 해결 방법을 정리한 페이지예요. 개발하다가 에러를 만나면 여기서 어떤 코드가 왜 나오는지, 어떻게 대처하면 되는지 바로 확인할 수 있어요.
출처: 문서
본문
- 클라이언트 에러(4xx): 요청 쪽에 문제가 있을 때 나와요.
- 서버 에러(5xx): 서버 쪽에 문제가 있을 때 나와요.
400: Bad request
401: Unauthorized
403: Forbidden
404: Not found
422: Validation error
429: Too many requests
500: Internal server error
502: Bad gateway
503: Service unavailable
504: Gateway timeout
오류 응답 형식 (Error response format)
모든 오류는 다음과 같은 구조의 JSON 본문을 돌려줘요.
{
"object": "error",
"message": "A human-readable description of the error.",
"type": "invalid_request_error",
"param": "model",
"code": "unknown_model"
}
| Field | Description |
|---|---|
| message | 사람이 읽을 수 있는 오류 설명 |
| type | 오류 카테고리 ( invalid_request_error , authentication_error , rate_limit_error , server_error ) |
| param | 오류를 일으킨 파라미터 (해당하는 경우) |
| code | 기계가 읽을 수 있는 오류 코드 (해당하는 경우) |
권장 재시도 전략 (Recommended retry strategy)
일시적인 오류(429, 500, 502, 503, 504)에는 지수 백오프(exponential backoff)를 적용해 보세요.
import time
import random
from mistralai.client import Mistral
client = Mistral(api_key="YOUR_API_KEY")
def call_with_retry(func, max_retries=5):
for attempt in range(max_retries):
try:
return func()
except Exception as e:
if attempt == max_retries - 1:
raise
wait = (2 ** attempt) + random.uniform(0, 1)
time.sleep(wait)
팁: 공식 Python/TypeScript SDK에는 지수 백오프 재시도 로직이 이미 내장돼 있어요. 직접 구현하지 말고 SDK를 쓰는 걸 추천해요.