Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

ხარჯების თვალყურის დევნება

PRX მოიცავს ჩაშენებულ ხარჯების თვალყურის დევნების სისტემას, რომელიც აკვირდება ტოკენების მოხმარებასა და API ხარჯვას ყველა LLM პროვაიდერში. CostTracker აგროვებს მოხმარებას მოთხოვნაზე, სესიაზე და პროვაიდერზე -- გაძლევთ სრულ ხილვადობას, თუ როგორ მოიხმარს თქვენი აგენტი API რესურსებს.

მიმოხილვა

PRX-ში ყველა LLM მოთხოვნა გენერირებს TokenUsage ჩანაწერს, რომელიც შეიცავს შეყვანის ტოკენებს, გამოტანის ტოკენებსა და ასოცირებულ ხარჯს. ეს ჩანაწერები აგრეგირდება CostTracker-ის მიერ და შეიძლება შეიკითხოს ანგარიშგების, ბიუჯეტის აღსრულებისა და ანომალიების გამოვლენისთვის.

LLM მოთხოვნა

    ├── პროვაიდერი აბრუნებს მოხმარების მეტამონაცემებს
    │   (input_tokens, output_tokens, ქეშის ჰიტები)


TokenUsage ჩანაწერის შექმნა

    ├── CostTracker-ში აგრეგირება
    │   ├── მოთხოვნაზე დაშლა
    │   ├── სესიაზე ჯამები
    │   ├── პროვაიდერზე ჯამები
    │   └── მოდელზე ჯამები

    ├── ბიუჯეტის შემოწმება (ლიმიტების კონფიგურაციისას)
    │   ├── ბიუჯეტის ფარგლებში → გაგრძელება
    │   └── ბიუჯეტის გადამეტება → გაფრთხილება / მკაცრი შეჩერება

    └── დაკვირვებადობის პაიპლაინში ჩაწერა
        (მეტრიკები, ლოგები, კვალის span-ები)

კონფიგურაცია

ხარჯების თვალყურის დევნების ჩართვა და კონფიგურაცია config.toml-ში:

toml
[cost]
enabled = true

# ვალუტა ჩვენების მიზნებისთვის (გამოთვლებზე არ მოქმედებს).
currency = "USD"

# რამდენად ხშირად ჩაიწეროს აკუმულირებული ხარჯები მუდმივ საცავში.
flush_interval_secs = 60

# ხარჯების მონაცემების შენახვა გადატვირთვებს შორის.
persist = true
persist_path = "~/.local/share/openprx/cost.db"

ბიუჯეტის ლიმიტები

ხარჯვის ლიმიტების დაყენება გაუკონტროლებელი ხარჯების თავიდან ასაცილებლად:

toml
[cost.budget]
# ყოველდღიური ხარჯვის ლიმიტი ყველა პროვაიდერში.
daily_limit = 10.00

# ყოველთვიური ხარჯვის ლიმიტი.
monthly_limit = 200.00

# სესიაზე ლიმიტი (გადაიტვირთება ახალი სესიის დაწყებისას).
session_limit = 2.00

# მოქმედება ლიმიტის მიღწევისას: "warn" ან "stop".
# "warn" ლოგავს გაფრთხილებას, მაგრამ მოთხოვნებს აგრძელებინებს.
# "stop" ბლოკავს შემდგომ LLM მოთხოვნებს პერიოდის გადატვირთვამდე.
on_limit = "warn"

პროვაიდერისთვის სპეციფიკური ლიმიტები

ბიუჯეტის ლიმიტების გადაფარვა კონკრეტული პროვაიდერებისთვის:

toml
[cost.budget.providers.openai]
daily_limit = 5.00
monthly_limit = 100.00

[cost.budget.providers.anthropic]
daily_limit = 8.00
monthly_limit = 150.00

TokenUsage სტრუქტურა

თითოეული LLM მოთხოვნა წარმოქმნის TokenUsage ჩანაწერს:

ველიტიპიაღწერა
input_tokensu64ტოკენების რაოდენობა პრომპტში (სისტემა + მომხმარებელი + კონტექსტი)
output_tokensu64ტოკენების რაოდენობა მოდელის პასუხში
cache_read_tokensu64პროვაიდერის ქეშიდან მიწოდებული ტოკენები (Anthropic-ის პრომპტის ქეშირება)
cache_write_tokensu64პროვაიდერის ქეშში ჩაწერილი ტოკენები
total_tokensu64input_tokens + output_tokens
costf64სავარაუდო ხარჯი კონფიგურირებულ ვალუტაში
providerstringპროვაიდერის სახელი (მაგ., "openai", "anthropic")
modelstringმოდელის იდენტიფიკატორი (მაგ., "gpt-4o", "claude-sonnet-4-20250514")
timestampdatetimeმოთხოვნის განხორციელების დრო
session_idstringაგენტის სესია, რომელმაც მოთხოვნა გენერირა

CostTracker

CostTracker არის ცენტრალური აგრეგაციის წერტილი ყველა ტოკენის მოხმარებისთვის. იგი ინარჩუნებს მიმდინარე ჯამებს პროვაიდერის მიხედვით, მოდელის მიხედვით, სესიაზე, ყოველდღიურად (გადაიტვირთება შუაღამეს UTC) და ყოველთვიურად (გადაიტვირთება პირველ რიცხვში). ტრეკერი არის ნაკადისთვის უსაფრთხო და განახლდება ყოველი LLM პასუხის შემდეგ.

ფასების მონაცემები

PRX ინარჩუნებს ჩაშენებულ ფასების ცხრილს გავრცელებული პროვაიდერებისა და მოდელებისთვის. ფასები განსაზღვრულია მილიონ ტოკენზე:

პროვაიდერიმოდელიშეყვანა (1M-ზე)გამოტანა (1M-ზე)
OpenAIgpt-4o$2.50$10.00
OpenAIgpt-4o-mini$0.15$0.60
OpenAIo3$10.00$40.00
Anthropicclaude-sonnet-4-20250514$3.00$15.00
Anthropicclaude-haiku-35-20241022$0.80$4.00
Anthropicclaude-opus-4-20250514$15.00$75.00
Googlegemini-2.0-flash$0.075$0.30
DeepSeekdeepseek-chat$0.14$0.28

მორგებული ფასები

ჩაშენებულ ცხრილში არ შემავალი მოდელების ფასების გადაფარვა ან დამატება:

toml
[cost.pricing."openai/gpt-4o"]
input_per_million = 2.50
output_per_million = 10.00

[cost.pricing."custom/my-model"]
input_per_million = 1.00
output_per_million = 3.00

თვით-ჰოსტირებული მოდელებისთვის (Ollama, vLLM), სადაც API გამოძახებები უფასოა, ფასები ნულზე დააყენეთ:

toml
[cost.pricing."ollama/llama3"]
input_per_million = 0.0
output_per_million = 0.0

მოხმარების ანგარიშები

CLI ბრძანებები

bash
# მიმდინარე სესიის ხარჯების შეჯამების ნახვა
prx cost

# ყოველდღიური დაშლის ნახვა
prx cost --period daily

# ყოველთვიური დაშლის ნახვა პროვაიდერის მიხედვით
prx cost --period monthly --group-by provider

# კონკრეტული თარიღის დიაპაზონის ხარჯების ნახვა
prx cost --from 2026-03-01 --to 2026-03-15

# CSV-ში ექსპორტი
prx cost --period monthly --format csv > costs.csv

# JSON-ში ექსპორტი (პროგრამული მოხმარებისთვის)
prx cost --period daily --format json

გამოტანის მაგალითი

PRX ხარჯების ანგარიში (2026-03-21)
════════════════════════════════════════════════════
პროვაიდერი   მოდელი                      ტოკენები (in/out)   ხარჯი
─────────────────────────────────────────────────────────────
anthropic    claude-sonnet-4-20250514      45.2K / 12.8K    $0.33
openai       gpt-4o                  22.1K / 8.4K     $0.14
openai       gpt-4o-mini              8.3K / 3.1K     $0.00
─────────────────────────────────────────────────────────────
ჯამი                                 75.6K / 24.3K    $0.47

ბიუჯეტის სტატუსი:
  სესია:     $0.47 / $2.00 (23.5%)
  ყოველდღ.:  $3.82 / $10.00 (38.2%)
  ყოველთვ.: $42.15 / $200.00 (21.1%)

ბიუჯეტის გაფრთხილებები

ხარჯების ბიუჯეტის ლიმიტთან მიახლოებისას, PRX მოქმედებს on_limit პარამეტრის მიხედვით:

ზღურბლიon_limit = "warn"on_limit = "stop"
ლიმიტის 80%გაფრთხილების ლოგირებაგაფრთხილების ლოგირება
ლიმიტის 100%შეცდომის ლოგირება, გაგრძელებაLLM მოთხოვნების ბლოკირება, მომხმარებლის შეტყობინება
ლიმიტის გადატვირთვა (ახალი დღე/თვე)მთვლელების გადატვირთვამთვლელების გადატვირთვა, მოთხოვნების განბლოკვა

ბიუჯეტის გაფრთხილებები ასევე გამოიცემა დაკვირვებადობის მოვლენების სახით. Prometheus მეტრიკების ჩართვისას, შემდეგი მაჩვენებლები ექსპორტირდება:

prx_cost_daily_total{currency="USD"} 3.82
prx_cost_monthly_total{currency="USD"} 42.15
prx_cost_session_total{currency="USD"} 0.47
prx_cost_budget_daily_remaining{currency="USD"} 6.18
prx_cost_budget_monthly_remaining{currency="USD"} 157.85

ინტეგრაცია დაკვირვებადობასთან

ხარჯების მონაცემები ინტეგრირდება PRX-ის დაკვირვებადობის სტეკთან:

  • Prometheus -- ტოკენების რაოდენობა და ხარჯების მაჩვენებლები პროვაიდერის/მოდელის მიხედვით
  • OpenTelemetry -- prx.tokens.input, prx.tokens.output, prx.cost span ატრიბუტები
  • ლოგები -- მოთხოვნაზე ხარჯი ლოგირდება DEBUG დონეზე, ბიუჯეტის გაფრთხილებები WARN დონეზე

უსაფრთხოების შენიშვნები

  • ხარჯების მონაცემებმა შეიძლება მოხმარების შაბლონები გამოავლინოს. შეზღუდეთ ხარჯების ანგარიშებზე წვდომა მრავალ-მომხმარებლიან განთავსებებში.
  • მუდმივი ხარჯების მონაცემთა ბაზა (cost.db) შეიცავს მოხმარების ისტორიას. ჩართეთ თქვენი სარეზერვო კოპირების სტრატეგიაში.
  • ბიუჯეტის ლიმიტები ლოკალურად აღისრულება. ისინი არ ურთიერთქმედებენ პროვაიდერის მხრიდან ხარჯვის ლიმიტებთან. კონფიგურირეთ ორივე სიღრმისეული თავდაცვისთვის.

დაკავშირებული გვერდები

Released under the Apache-2.0 License.