আমি আমার AI API খরচ ৭০% কমিয়েছি

আমার OpenAI বিল ৩০ ডলার থেকে বেড়ে ১৫০ ডলার হয়ে গিয়েছিল। একটি ছোট Slack bot-এর কারণে এটি ঘটেছিল। বারবার প্রম্পট এবং রিট্রাই (retry) করার কারণে খরচ অনেক বেড়ে গিয়েছিল।

আমি সাধারণ কিছু সমাধানের চেষ্টা করেছিলাম। আমি বেসিক ক্যাশিং (caching) ব্যবহার করেছিলাম। আমি মডেল পরিবর্তন করেছিলাম। কোনোটিই কাজে আসেনি। ব্যবহারকারীরা প্রশ্নগুলো ঘুরিয়ে ফিরিয়ে করেন। শব্দ পরিবর্তন হয়ে গেলে বেসিক ক্যাশিং কাজ করে না।

আমি একটি AI proxy তৈরি করেছি। এটি আমার অ্যাপ এবং API-এর মাঝে কাজ করে। এটি তিনটি কাজ করে:

  • Semantic caching। আমি একই ধরণের প্রশ্ন খুঁজে পেতে embeddings ব্যবহার করি। যদি মিল অনেক বেশি হয়, তবে আমি ক্যাশ করা উত্তরটি দিয়ে দিই।
  • Rate limiting। রিকোয়েস্টের হঠাৎ চাপ (bursts) কমাতে আমি Redis ব্যবহার করি।
  • Retry buffers। প্রক্সিটি স্বয়ংক্রিয়ভাবে ব্যর্থ কলগুলো পুনরায় চেষ্টা (retry) করে।

এটি আমার খরচ ৭০% কমিয়ে দিয়েছে।

এর কিছু ট্রেড-অফ (trade-offs) রয়েছে:

  • Latency। এটি প্রতি রিকোয়েস্টে ২০০ms সময় বাড়িয়ে দেয়।
  • Memory। ভেক্টরগুলোর জন্য Redis-এ জায়গা প্রয়োজন হয়।
  • Accuracy। কিছু কাছাকাছি প্রম্পটের জন্য ভিন্ন ভিন্ন উত্তরের প্রয়োজন হয়।

আপনার জন্য কিছু শিক্ষা:

  • LiteLLM-এর মতো ওপেন সোর্স টুল দিয়ে শুরু করুন।
  • প্রথম দিন থেকেই আপনার ডেটা ট্র্যাক করুন।
  • বেশি ট্রাফিকের জন্য message queues ব্যবহার করুন।

AI API-কে ব্ল্যাক বক্স (black box) হিসেবে দেখা বন্ধ করুন। এগুলো মূলত HTTP endpoints। এগুলো নিয়ন্ত্রণ করতে middleware ব্যবহার করুন।

আপনার সেটআপ কেমন? আপনি কি কোনো সার্ভিস ব্যবহার করেন নাকি নিজের মতো তৈরি করেন?

Source: https://dev.to/__c1b9e06dc90a7e0a676b/i-built-a-simple-ai-proxy-to-cut-api-costs-heres-what-i-learned-3hcf