Laravel-এ AI ইন্টিগ্রেট করা

বেশিরভাগ AI টিউটোরিয়াল ধরে নেয় যে আপনি Python ব্যবহার করছেন।

১২ বছর ধরে PHP অ্যাপ তৈরির পর, আমি সম্প্রতি একটি প্রোডাকশন Laravel ড্যাশবোর্ডে AI ফিচার যুক্ত করেছি। আমি এটি ব্যবহার করেছি raw data-কে মানুষের পাঠযোগ্য রিপোর্টে রূপান্তর করার জন্য।

কঠিন অংশটি কোড ছিল না। কঠিন অংশটি ছিল এই বিষয়ে ভালো PHP কন্টেন্ট খুঁজে পাওয়া।

এখানে দেখানো হলো কীভাবে আপনি Laravel-এ একটি পরিচ্ছন্ন এবং প্রোডাকশন-রেডি AI ইন্টিগ্রেশন তৈরি করবেন।

The Architecture

আপনার কন্ট্রোলারের ভেতরে API কলগুলো ছড়িয়ে ছিটিয়ে রাখবেন না। পরিবর্তে, একটি ড্রাইভার প্যাটার্ন ব্যবহার করুন। এটি আপনাকে আপনার .env ফাইলের একটি পরিবর্তনের মাধ্যমে Claude এবং OpenAI-এর মধ্যে সুইচ করতে সাহায্য করবে।

১. একটি কন্ট্রাক্ট সংজ্ঞায়িত করুন একটি AiClientInterface তৈরি করুন। এটি নিশ্চিত করে যে Claude এবং OpenAI উভয়ই একই নিয়ম অনুসরণ করছে।

২. আপনার ড্রাইভারগুলো তৈরি করুন একটি ClaudeClient এবং একটি OpenAiClient তৈরি করুন। রিকোয়েস্ট হ্যান্ডেল করার জন্য Laravel-এর HTTP ক্লায়েন্ট ব্যবহার করুন। এটি টাইমআউট এবং রিট্রাই হ্যান্ডেল করা সহজ করে তোলে।

৩. সার্ভিস কন্টেইনার ব্যবহার করুন আপনার AppServiceProvider-এ ইন্টারফেসটিকে একটি নির্দিষ্ট ক্লায়েন্টের সাথে বাইন্ড করুন। আপনার কনফিগারেশনের ওপর ভিত্তি করে প্রোভাইডার বেছে নিতে একটি match স্টেটমেন্ট ব্যবহার করুন।

The Differences

ভুল এড়াতে আপনাকে এই পাঁচটি বিষয় অবশ্যই জানতে হবে:

• Claude হেডার-এ x-api-key ব্যবহার করে। OpenAI Authorization: Bearer ব্যবহার করে। • Claude-এর জন্য একটি anthropic-version হেডার প্রয়োজন। • Claude-এর জন্য max_tokens প্রয়োজন। OpenAI এটিকে ঐচ্ছিক রাখে। • Claude একটি টপ-লেভেল system ফিল্ড ব্যবহার করে। OpenAI role: system সহ একটি মেসেজ ব্যবহার করে। • JSON রেসপন্স পাথগুলো আলাদা। Claude ব্যবহার করে content[0].text। OpenAI ব্যবহার করে choices[0].message.content।

Production Tips

• ক্যাশিং (Caching) ব্যবহার করুন: AI কলগুলো ধীরগতির এবং এতে খরচ হয়। যদি ডেটা একই থাকে, তবে আপনার ক্যাশ থেকে ফলাফলটি প্রদান করুন। এটি খরচ ৭০% পর্যন্ত কমাতে পারে। • কিউ (Queues) ব্যবহার করুন: API রেসপন্সের জন্য ব্যবহারকারীকে কখনোই ১০ সেকেন্ড অপেক্ষা করাবেন না। একটি ব্যাকগ্রাউন্ড জব ডিসপ্যাচ করুন এবং এটি প্রস্তুত হলে তাদের জানান। • ব্যর্থতা হ্যান্ডেল করুন: API ব্যর্থ হতে পারে। আপনার কলগুলোকে try-catch ব্লকের মধ্যে রাখুন। যদি AI ব্যর্থ হয়, তবে একটি ত্রুটিপূর্ণ পেজের পরিবর্তে raw data দেখান। • লিমিট সেট করুন: আপনার খরচ নিয়ন্ত্রণ করতে সর্বদা max_tokens সেট করুন। সামারি করার মতো সাধারণ কাজের জন্য ছোট এবং সস্তা মডেল ব্যবহার করুন।

AI ফিচার তৈরি করতে আপনাকে Python শিখতে হবে না। আপনার PHP দক্ষতা এখানে চমৎকারভাবে কাজ করবে।

উৎস: https://dev.to/sunakshi_thakur_84a5f59fd/integrating-claudeopenai-api-into-a-laravel-app-a-practical-guide-1hig