مدل omni-moderation-latest دیگر روی درگاه فعال نیست و مدل جایگزینی هم برای این خانواده وصل نشده است. هر درخواستی به /moderations خطای ۴۰۴ با کد model_discontinued میگیرد. اگر پایش محتوا را لازم دارید، با تیکت بگویید تا در اولویت اتصال قرار بگیرد.
مسیر /moderations سر جایش است و همان قالب OpenAI Moderations را دارد، پس وقتی مدلی برای این خانواده وصل شود کد شما بدون تغییر کار میکند. تا آن وقت، برای بررسی محتوای کاربران (نظرات، پیامهای چت، تصاویر آپلودی) از یک مدل گفتوگو با خروجی JSON استفاده کنید.
راه جایگزین امروز
# تا وقتی مدل پایش محتوا برنگشته، یک مدل ارزانِ گفتوگو همین کار را میکند
res = client.chat.completions.create(
model="gpt-4o-mini",
response_format={"type": "json_object"},
max_tokens=120,
messages=[
{"role": "system", "content": (
"متن کاربر را بررسی و فقط یک JSON برگردان با کلیدهای "
"flagged (bool) و categories (فهرستی از: harassment, hate, sexual, violence, self_harm)."
)},
{"role": "user", "content": "متن ارسالی کاربر برای بررسی"},
],
)
verdict = json.loads(res.choices[0].message.content)
این روش نه رایگان است و نه به دقت یک مدل اختصاصی پایش محتوا؛ ولی روی یک مدل کوچک، هزینهٔ هر بررسی در حد چند ده توکن میماند. برای تصویر، مدلهای دارای قابلیت vision را با همان پرامپت صدا بزنید و لینک یا base64 تصویر را در پیام بگذارید. جزئیات در Chat Completions.
قالب درخواست (برای وقتی مدل برگشت)
inputالزامی — یک رشته، آرایهای از رشتهها، یا آرایهای از بخشهایtext/image_urlبرای بررسی چندرسانهای.model— شناسهٔ یک مدل از خانوادهٔ پایش محتوا. فهرست فعلی این خانواده خالی است؛GET /models?type=moderationآن را نشان میدهد.
پاسخ همان شکل OpenAI را دارد: آرایهٔ results با flagged، categories و category_scores.
الگوی پیشنهادی
- ورودی کاربر را پیش از فرستادن به مدل اصلی بررسی کنید تا هزینهٔ درخواستهای نامناسب را ندهید.
- بهجای تصمیم صرفاً بر اساس
flagged، برای هر دسته آستانهٔ خودتان را بگذارید. - پاسخ مدل را هم میتوانید پیش از نمایش به کاربر بررسی کنید.