Laravel માં AI ને ઇન્ટિગ્રેટ કરવું

મોટાભાગના AI ટ્યુટોરિયલ્સ એવું માની લે છે કે તમે Python નો ઉપયોગ કરો છો.

12 વર્ષ સુધી PHP એપ્સ બનાવ્યા પછી, મેં તાજેતરમાં એક પ્રોડક્શન Laravel ડેશબોર્ડમાં AI ફીચર્સ ઉમેર્યા છે. મેં તેનો ઉપયોગ raw data ને માનવીય રિપોર્ટ્સમાં રૂપાંતરિત કરવા માટે કર્યો હતો.

અઘરો ભાગ કોડિંગ નહોતો. અઘરો ભાગ આ વિષય પર સારો PHP કન્ટેન્ટ શોધવાનો હતો.

Laravel માં એક ક્લીન, પ્રોડક્શન-રેડી AI ઇન્ટિગ્રેશન કેવી રીતે બનાવવું તે અહીં છે.

આર્કિટેક્ચર

તમારા કંટ્રોલર્સમાં API કોલ્સને વિખેરી નાખો નહીં. તેના બદલે, driver pattern નો ઉપયોગ કરો. આ તમને તમારી .env ફાઇલમાં માત્ર એક ફેરફાર સાથે Claude અને OpenAI વચ્ચે સ્વિચ કરવાની સુવિધા આપે છે.

  1. એક contract વ્યાખ્યાયિત કરો AiClientInterface બનાવો. આ સુનિશ્ચિત કરે છે કે Claude અને OpenAI બંને સમાન નિયમોનું પાલન કરે છે.

  2. તમારા drivers બનાવો ClaudeClient અને OpenAiClient બનાવો. રિક્વેસ્ટ હેન્ડલ કરવા માટે Laravel ના HTTP client નો ઉપયોગ કરો. તે timeouts અને retries હેન્ડલ કરવાનું સરળ બનાવે છે.

  3. Service Container નો ઉપયોગ કરો તમારા AppServiceProvider માં ઇન્ટરફેસને ચોક્કસ ક્લાયન્ટ સાથે bind કરો. તમારી config ના આધારે provider પસંદ કરવા માટે match statement નો ઉપયોગ કરો.

તફાવતો

ભૂલો ટાળવા માટે તમારે આ પાંચ વિગતો જાણવી આવશ્યક છે:

• Claude હેડરમાં x-api-key નો ઉપયોગ કરે છે. OpenAI Authorization: Bearer નો ઉપયોગ કરે છે. • Claude ને anthropic-version હેડરની જરૂર છે. • Claude ને max_tokens ની જરૂર છે. OpenAI તેને optional બનાવે છે. • Claude ટોપ-લેવલ system ફીલ્ડનો ઉપયોગ કરે છે. OpenAI role: system ધરાવતા મેસેજનો ઉપયોગ કરે છે. • JSON response paths અલગ હોય છે. Claude content[0].text નો ઉપયોગ કરે છે. OpenAI choices[0].message.content નો ઉપયોગ કરે છે.

Production Tips

Caching નો ઉપયોગ કરો: AI કોલ્સ ધીમા હોય છે અને ખર્ચાળ હોય છે. જો ડેટા સમાન હોય, તો પરિણામ તમારા cache માંથી આપો. આનાથી ખર્ચમાં 70% સુધીનો ઘટાડો થઈ શકે છે. • Queues નો ઉપયોગ કરો: API રિસ્પોન્સ માટે યુઝરને ક્યારેય 10 સેકન્ડ રાહ ન જોવડાવો. એક background job dispatch કરો અને તે તૈયાર થઈ જાય ત્યારે તેમને notify કરો. • Failures હેન્ડલ કરો: APIs નિષ્ફળ જાય છે. તમારા કોલ્સને try-catch બ્લોક્સમાં wrap કરો. જો AI નિષ્ફળ જાય, તો બ્રોકન પેજ બતાવવાને બદલે raw data બતાવો. • Limits સેટ કરો: તમારા ખર્ચને નિયંત્રિત કરવા માટે હંમેશા max_tokens સેટ કરો. summaries જેવા સરળ કાર્યો માટે નાના અને સસ્તા મોડલ્સનો ઉપયોગ કરો.

AI ફીચર્સ બનાવવા માટે તમારે Python શીખવાની જરૂર નથી. તમારા PHP કૌશલ્યો અહીં સંપૂર્ણ રીતે કામ કરશે.

સ્ત્રોત: https://dev.to/sunakshi_thakur_84a5f59fd/integrating-claudeopenai-api-into-a-laravel-app-a-practical-guide-1hig