ATP - بررسی سلامت سرویس (GET /health)
Endpoint
GET /health
هدف آزمون
بررسی وضعیت سرویس گردشکار هوش مصنوعی و پیکربندی LLM.
شرایط آزمون
- سرویس ai-workflow در حال اجرا باشد
- نیازی به احراز هویت نیست
فرآیند آزمون
- ارسال درخواست GET به
/health - دریافت پاسخ JSON
- بررسی فیلدهای status، service، llm_provider و api_key_configured
معرفی ویژگی
endpoint سلامت برای probeهای Docker/Kubernetes و مانیتورینگ عملیاتی. وضعیت ارائهدهنده LLM و مدل استخراج را گزارش میکند.
- بدون auth: عمومی و بدون توکن
- پیکربندی LLM: نمایش provider و مدل فعال
- مسیر آینه: همان handler روی
/api/v1/healthنیز ثبت شده است
سناریوی آزمون
سناریو 1: مسیر موفق — سرویس سالم
- ارسال
GET /health - دریافت کد 200
- بررسی
status: "ok"وservice: "patent-genie-ai-workflow" - بررسی
api_key_configured: trueدر محیط پیکربندیشده
سناریو 2: خطا — کلید API تنظیم نشده
- اجرای سرویس بدون AVALAI_API_KEY یا OPENAI_API_KEY
- ارسال
GET /health - دریافت کد 200 با
api_key_configured: false - endpointهای استخراج و prior-art باید 503 برگردانند
سناریو 3: پیکربندی ارائهدهنده OpenAI
- تنظیم
LLM_PROVIDER=openaiوOPENAI_API_KEY - ارسال
GET /health - بررسی
llm_provider: "openai" - بررسی
api_key_configured: true
سناریو 4: متد پشتیبانینشده
- ارسال
POST /health - دریافت کد 405
- بررسی وجود پاسخ استاندارد Method Not Allowed
قالب API
| مولفه | نوع | نوع داده | اجباری | توضیحات |
|---|---|---|---|---|
| — | — | — | — | بدون پارامتر ورودی |
Swagger
get:
summary: Health check with LLM configuration status
responses:
200:
description: Service status returned
نمونه ورودی
curl -X GET "http://127.0.0.1:8000/health" \
-H "Accept: application/json"
نمونه خروجی
{
"status": "ok",
"service": "patent-genie-ai-workflow",
"llm_provider": "avalai",
"sectioned_extraction_model": "gemini-2.5-flash",
"api_key_configured": true
}
Status Codes
- 200: وضعیت سرویس برگردانده شد
نتیجه مورد انتظار
پاسخ JSON با فیلدهای status، service، llm_provider، sectioned_extraction_model و api_key_configured با کد HTTP 200.
روال صحتسنجی
- بررسی کد وضعیت 200
- بررسی فیلد service برابر "patent-genie-ai-workflow"
- بررسی llm_provider مطابق با متغیر محیطی
- بررسی api_key_configured مطابق با وجود کلید فعال
توضیحات
- مسیر
/api/v1/healthهمان رفتار را دارد (ATP جداگانه) - HEALTHCHECK داکر از
/api/v1/healthاستفاده میکند