پایش هزینه
پایش هزینه در گدارAI یعنی هر درخواست فقط از نظر موفق یا ناموفق بودن دیده نمیشود؛ مصرف توکن، هزینه ریالی و دلاری، اثر کش، مدل استفادهشده و هویت مصرفکننده هم قابل بررسی است. این دادهها به شما کمک میکنند هزینه هوش مصنوعی را در محصول خودتان قابل توضیح و قابل کنترل نگه دارید.
این صفحه تصویر کلی پایش هزینه را توضیح میدهد و نشان میدهد آن را در کنار کش پاسخ، قوانین محدودسازی نرخ، قوانین محدودیت بودجه و کیف پول چطور بخوانید.
پایش هزینه ابزار مشاهده و تحلیل است. قوانین محدودیت بودجه ابزار کنترل و مسدودسازیاند. هر دو به هم وابستهاند، اما نقش یکسانی ندارند.
پایش هزینه چه مسئلهای را حل میکند؟
اگر فقط تعداد درخواستها را ببینید، هنوز معلوم نیست:
- کدام مدل بیشترین هزینه را ایجاد کرده است.
- کدام تیم، کاربر یا پروژه به سقف بودجه نزدیک شده است.
- کش پاسخ چقدر از هزینه احتمالی کم کرده است.
- کدام مسیر محصول هزینه غیرمنتظره دارد.
- خطا، تأخیر و هزینه در یک درخواست خاص چه نسبتی با هم داشتهاند.
پایش هزینه این فاصله را پر میکند و مصرف مدل را به یک سیگنال مالی و عملیاتی قابل فهم تبدیل میکند.
دادههایی که باید بشناسید
در گزارش رخدادها و سنجهها ممکن است این فیلدها یا معادل آنها را ببینید:
| فیلد | معنی |
|---|---|
model | مدل یا مدل مجازی استفادهشده در درخواست. |
input_tokens | تعداد توکن ورودی. |
output_tokens | تعداد توکن خروجی. |
total_tokens | جمع توکنهای ورودی و خروجی. |
cost_usd | هزینه دلاری ثبتشده یا برآوردشده. |
cost_irr | هزینه ریالی ثبتشده یا برآوردشده. |
request_id | شناسه درخواست برای عیبیابی. |
team_id، user_id، virtual_account_id | هویت مصرفکننده، اگر در مسیر درخواست در دسترس باشد. |
metadata.project_id، metadata.cost_center | فرادادهای که خود محصول شما برای نسبتدادن هزینه میفرستد. |
از همان ابتدای اتصال محصول، کلیدهای فراداده پایدار مثل project_id، cost_center و environment را ارسال کنید. این کار بعداً گزارش هزینه و بودجهبندی را بسیار سادهتر میکند.
پایش هزینه را کجا ببینیم؟
در گدارAI معمولاً سه مسیر اصلی برای بررسی هزینه دارید:
| مسیر | چه چیزی نشان میدهد؟ |
|---|---|
| متریکهای مدل | روند درخواست، مصرف توکن، هزینه کل، هزینه بدون کش و صرفهجویی برآوردی. |
| گزارش رخدادها | جزئیات هر درخواست، وضعیت کش، هزینه، شناسهها، خطاها و تصمیمهای مسیر اجرا. |
| سرآیندهای پاسخ | هزینه همان پاسخ برای عیبیابی سریع در سمت کلاینت. |
برای گزارشگیری جدی، گزارش رخدادها و سنجهها منبع کاملتری هستند. سرآیندهای پاسخ برای بررسی سریع و نمایش سبک در کلاینت مناسباند.
سرآیندهای هزینه
در پاسخ بعضی مسیرها، گدارAI هزینه را بهصورت سرآیند هم برمیگرداند:
| سرآیند | کاربرد |
|---|---|
x-godarai-cost-usd | نمایش هزینه دلاری همان پاسخ، اگر در دسترس باشد. |
x-godarai-cost-irr | نمایش هزینه ریالی همان پاسخ، اگر در دسترس باشد. |
نمونه بررسی سریع:
- Python
- NodeJS
- REST API
- OpenAI Python SDK
- OpenAI NodeJS SDK
import requests
response = requests.post(
"https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions",
headers={
"Authorization": "Bearer YOUR_GODARAI_TOKEN",
"Content-Type": "application/json",
},
json={
"model": "openai:default:gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "این متن را در یک جمله خلاصه کن."
}
],
"metadata": {
"project_id": "support-center",
"cost_center": "customer-success"
}
},
timeout=60,
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_GODARAI_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "openai:default:gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "این متن را در یک جمله خلاصه کن."
}
],
"metadata": {
"project_id": "support-center",
"cost_center": "customer-success"
}
}),
});
if (!response.ok) {
throw new Error(`Request failed with status ${response.status}`);
}
const data = await response.json();
console.log(data);
curl --request POST "https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions" \
--header "Authorization: Bearer YOUR_GODARAI_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "openai:default:gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "این متن را در یک جمله خلاصه کن."
}
],
"metadata": {
"project_id": "support-center",
"cost_center": "customer-success"
}
}'
from openai import OpenAI
client = OpenAI(
api_key="YOUR_GODARAI_TOKEN",
base_url="https://YOUR_WORKSPACE.godarai.ir/v1",
)
response = client.chat.completions.create(
"model": "openai:default:gpt-4o-mini",
messages=[
{
"role": "user",
"content": "این متن را در یک جمله خلاصه کن."
}
],
metadata={
"project_id": "support-center",
"cost_center": "customer-success"
}
)
print(response)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_GODARAI_TOKEN",
baseURL: "https://YOUR_WORKSPACE.godarai.ir/v1",
});
const response = await client.chat.completions.create({
"model": "openai:default:gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "این متن را در یک جمله خلاصه کن."
}
],
"metadata": {
"project_id": "support-center",
"cost_center": "customer-success"
}
});
console.log(response);
سرآیندهای هزینه را منبع نهایی گزارش مالی در نظر نگیرید. برای گزارش رسمی، تصمیمهای بودجه و بررسی اختلافها، سنجهها و سوابق مالی فضای کاری را مبنا قرار دهید.
کش و صرفهجویی هزینه
کش پاسخ فقط تأخیر را کم نمیکند؛ هزینه را هم کاهش میدهد. وقتی وضعیت کش hit باشد، درخواست به ارائهدهنده مدل ارسال نمیشود و هزینه تازهای برای همان فراخوانی ایجاد نمیشود.
در سنجهها ممکن است این مقدارها را ببینید:
| سنجه | معنی |
|---|---|
| پاسخهای کششده | تعداد درخواستهایی که از کش پاسخ گرفتهاند. |
| نرخ موفقیت کش | نسبت پاسخهای کششده به کل درخواستهای واجد شرایط. |
| هزینه بدون کش | هزینهای که در صورت نبود کش احتمالاً ایجاد میشد. |
| هزینه برآوردی صرفهجوییشده | تخمین صرفهجویی حاصل از پاسخهای کششده. |
این عددها کمک میکنند ارزش عملیاتی کش را فقط با حس سرعت نسنجید؛ اثر مالی آن را هم ببینید.
رابطه با بودجه و کیف پول
پایش هزینه، محدودیت بودجه و کیف پول سه لایه مرتبط هستند:
| لایه | نقش |
|---|---|
| پایش هزینه | اندازهگیری و نسبتدادن مصرف به مدل، کاربر، تیم، پروژه یا اکانت مجازی. |
| قوانین محدودیت بودجه | کنترل سقف مالی و امکان مسدودسازی بعد از عبور از بودجه. |
| کیف پول | پشتوانه مالی فضای کاری و آخرین لایه بررسی اعتبار. |
اگر هزینه دقیق و قابل نسبتدادن نباشد، بودجهبندی هم قابل اعتماد نخواهد بود. به همین دلیل، ارسال فراداده درست و بررسی گزارش رخدادها برای کنترل هزینه ضروری است.
هزینه واقعی و هزینه برآوردی
در بسیاری از درخواستهای متنی، هزینه نهایی بعد از دریافت پاسخ و مصرف واقعی توکنها روشنتر میشود. در بعضی مسیرها، بهخصوص مسیرهای رسانهای یا مدلهایی با قیمتگذاری ویژه، ممکن است بخشی از هزینه ابتدا برآورد شود و بعد با داده نهایی کاملتر شود.
برای تصمیمگیری عملی:
- روندهای چندروزه را ببینید، نه فقط یک درخواست.
- هزینه را به تفکیک مدل و فراداده بررسی کنید.
- مسیرهای تصویری، صوتی یا چندرسانهای را جداگانه پایش کنید.
- قوانین بودجه را بعد از چند روز مشاهده واقعی تنظیم کنید.
الگوهای پیشنهادی
هزینه را به محصول وصل کنید
فقط هزینه کل فضای کاری کافی نیست. هزینه را به پروژه، مشتری، تیم یا مسیر محصول وصل کنید تا بتوانید تصمیم بگیرید کدام بخش باید بهینه شود.
مدلهای گران را جدا ببینید
در متریکهای مدل، هزینه مدلهای گرانتر را جدا بررسی کنید. گاهی کاهش چند درصدی مصرف یک مدل خاص، از بهینهسازی عمومی همه درخواستها اثر بیشتری دارد.
خطا و هزینه را کنار هم بخوانید
اگر خطاها زیاد شدهاند و هزینه هم رشد کرده است، ممکن است کلاینت در حال تلاش دوباره بیرویه باشد. در این حالت، قوانین محدودسازی نرخ و سرآیند Retry-After کمک میکنند رفتار کلاینت کنترل شود.
کش را در تحلیل هزینه لحاظ کنید
اگر فقط هزینه پرداختشده را ببینید، ارزش کش پنهان میماند. هزینه بدون کش و صرفهجویی برآوردی نشان میدهند گدارAI چه مقدار مصرف را حذف کرده است.
ادامه مسیر
- برای کنترل سقف مالی، قوانین محدودیت بودجه را ببینید.
- برای نسبتدادن مصرف به هویت درست، توکنهای دسترسی در گدارAI را بخوانید.
- برای کاهش هزینه درخواستهای تکراری، کش پاسخ را بررسی کنید.
جمعبندی
پایش هزینه در گدارAI به شما کمک میکند مصرف هوش مصنوعی را از یک عدد کلی به دادهای قابل توضیح تبدیل کنید. وقتی هزینه را کنار مدل، هویت مصرفکننده، کش، بودجه و گزارش رخدادها میبینید، کنترل هزینه از واکنش دیرهنگام به تصمیم روزمره تبدیل میشود.