LLMs के साथ छोटे ऐप्स बनाना
लक्ष्य
हिंदी
हम जिस ऐप को बनाने का प्रयास करेंगे उसका लक्ष्य एक ई-कॉमर्स स्टोर एप्लिकेशन के लिए बैकएंड प्रदान करना है। यह श्रेणियों (categories), उत्पादों (products), उपयोगकर्ताओं (users) और समीक्षाओं (reviews) जैसी मुख्य संस्थाओं पर CRUD (बनाना, पढ़ना, अपडेट करना, हटाना) संचालन को सक्षम बनाता है।
कुछ प्रमुख पहलू:
- श्रेणियाँ (Categories): /categories एंडपॉइंट्स उत्पाद श्रेणियों को बनाने, पढ़ने, अपडेट करने और हटाने की अनुमति देते हैं। श्रेणियों में एक नाम, विवरण और आईडी होती है।
- उत्पाद (Products): /products एंडपॉइंट्स उत्पादों को बनाने, पढ़ने, अपडेट करने और हटाने की अनुमति देते हैं। उत्पाद एक श्रेणी से संबंधित होते हैं और उनमें नाम, विवरण, मूल्य और आईडी जैसी विशेषताएं होती हैं। /products/{category_id}/products एंडपॉइंट किसी विशिष्ट श्रेणी के लिए उत्पादों को लाने या बनाने में सक्षम बनाता है।
- उपयोगकर्ता (Users): /users एंडपॉइंट्स उपयोगकर्ता खातों पर CRUD संचालन को सक्षम करते हैं। उपयोगकर्ताओं में नाम, ईमेल, पासवर्ड, अवतार और is_admin जैसे रोल फ्लैग जैसी विशेषताएं होती हैं।
- समीक्षाएं (Reviews): /reviews एंडपॉइंट्स समीक्षाओं के CRUD की अनुमति देते हैं, जो एक उपयोगकर्ता द्वारा किसी उत्पाद के बारे में पोस्ट की गई रेटिंग और टिप्पणियां हैं। समीक्षाओं में रेटिंग, टिप्पणी, product_id और user_id जैसी विशेषताएं होती हैं। /reviews/products/{product_id} और /reviews/users/{user_id} एंडपॉइंट्स उत्पाद या उपयोगकर्ता द्वारा समीक्षाओं को फ़िल्टर करने की अनुमति देते हैं।
- CRUD कन्वेंशन: API सामान्य REST कन्वेंशन का पालन करती है - संसाधनों को पुनः प्राप्त करने के लिए GET, बनाने के लिए POST, अपडेट करने के लिए PUT/PATCH, और हटाने के लिए DELETE।
- त्रुटि प्रबंधन (Error handling): API त्रुटियों को HTTPValidationError स्कीमा का पालन करने वाले JSON ऑब्जेक्ट के रूप में लौटाया जाता है।
- पेजिनेशन (Pagination): /categories और /products जैसे लिस्ट एंडपॉइंट्स स्किप (skip) और लिमिट (limit) क्वेरी पैरामीटर्स के माध्यम से पेजिनेशन का समर्थन करते हैं।
संक्षेप में, यह एक सामान्य ई-कॉमर्स एप्लिकेशन फ्रंटएंड को कैटलॉग में उत्पादों, उपयोगकर्ता खातों और ऑर्डर इतिहास, उत्पाद समीक्षाओं और रेटिंग, और बहुत कुछ प्रबंधित करने जैसे संचालन करने में सक्षम बनाता है। बैकएंड ऐप फ्रंटएंड के उपभोग के लिए REST सिद्धांतों का पालन करते हुए संरचित CRUD API को उजागर करता है।
Français
Voici la traduction française :
L'objectif de cette API semble être de fournir un backend pour une application de commerce électronique. Elle permet des opérations CRUD (créer, lire, mettre à jour, supprimer) sur des entités de base comme les catégories, les produits, les utilisateurs et les avis.
Quelques aspects clés :
- Catégories : Les points de terminaison /categories permettent de créer, lire, mettre à jour et supprimer des catégories de produits. Les catégories ont un nom, une description et un identifiant.
- Produits : Les points de terminaison /products permettent de créer, lire, mettre à jour et supprimer des produits. Les produits appartiennent à une catégorie et ont des propriétés comme le nom, la description, le prix et l'identifiant. Le point de terminaison /products/{category_id}/products permet de récupérer ou créer des produits pour une catégorie spécifique.
- Utilisateurs : Les points de terminaison /users permettent des opérations CRUD sur les comptes utilisateurs. Les utilisateurs ont des propriétés comme le nom, l'email, le mot de passe, l'avatar, et des indicateurs de rôle comme is_admin.
- Avis : Les points de terminaison /reviews permettent les opérations CRUD sur les avis, qui sont des notes et commentaires publiés sur un produit par un utilisateur. Les avis ont des propriétés comme la note, le commentaire, le product_id et le user_id. Les points de terminaison /reviews/products/{product_id} et /reviews/users/{user_id} permettent de filtrer les avis par produit ou par utilisateur.
- Conventions CRUD : L'API suit les conventions REST typiques - GET pour récupérer des ressources, POST pour créer, PUT/PATCH pour mettre à jour, et DELETE pour supprimer.
- Gestion des erreurs : Les erreurs d'API sont renvoyées en tant qu'objets JSON adhérant au schéma HTTPValidationError.
- Pagination : Les points de terminaison de liste comme /categories et /products prennent en charge la pagination via les paramètres de requête skip et limit.
En résumé, elle permet à un frontend d'application de commerce électronique typique d'effectuer des opérations comme la gestion de produits dans un catalogue, les comptes utilisateurs et l'historique des commandes, les avis et notes sur les produits, et plus encore. Le backend expose des API CRUD structurées suivant les principes REST pour que l'frontend de l'application les consomme.
API Structure
सेटअप
Python
हिंदी
Python एक उच्च-स्तरीय, इंटरप्रिटेड प्रोग्रामिंग भाषा है जो आपको तेजी से काम करने और अपने सिस्टम को अधिक प्रभावी ढंग से एकीकृत करने की सुविधा देती है। यह अपने आसान सिंटैक्स के लिए जानी जाती है जो पठनीयता पर जोर देता है और इसलिए प्रोग्राम रखरखाव की लागत को कम करता है। Python कई प्रोग्रामिंग प्रतिमानों का समर्थन करती है, जिसमें प्रक्रियात्मक (procedural), ऑब्जेक्ट-ओरिएंटेड और कार्यात्मक प्रोग्रामिंग शामिल हैं।
Poetry, सॉफ्टवेयर के संदर्भ में, Python में निर्भरता प्रबंधन (dependency management) और पैकेजिंग के लिए एक उपकरण है। यह आपको उन लाइब्रेरी को घोषित करने की अनुमति देता है जिन पर आपका प्रोजेक्ट निर्भर है और यह आपके लिए उन्हें प्रबंधित (इंस्टॉल/अपडेट) करेगा।
कुल मिलाकर, Python के साथ Poetry का उपयोग करने का अर्थ है एक पायथन-आधारित सॉफ्टवेयर विकसित करना जिसकी निर्भरताएँ Poetry द्वारा प्रबंधित की जाती हैं।
Français
Python est un langage de programmation interprété de haut niveau qui vous permet de travailler rapidement et d'intégrer vos systèmes de manière plus efficace. Il est connu pour sa syntaxe facile qui met l'accent sur la lisibilité et réduit donc le coût de la maintenance du programme. Python prend en charge plusieurs paradigmes de programmation, y compris la programmation procédurale, orientée objet et fonctionnelle.
Poetry, dans un contexte logiciel, est un outil de gestion des dépendances et de paquetage en Python. Il vous permet de déclarer les bibliothèques dont dépend votre projet et il les gérera (installera/mettra à jour) pour vous.
Ensemble, utiliser Python avec Poetry signifie développer un logiciel basé sur Python dont les dépendances sont gérées par Poetry.
तकनीक
OpenAPI
हिंदी
OpenAPI Specification (OAS), जिसे पहले Swagger के नाम से जाना जाता था, RESTful वेब सेवाओं का वर्णन करने, उत्पादन करने, उपभोग करने और विज़ुअलाइज़ करने के लिए मशीन-पठनीय इंटरफ़ेस फ़ाइलों के लिए एक विनिर्देश है। यह REST API के लिए एक मानक, भाषा-अज्ञेयवादी इंटरफ़ेस को परिभाषित करने में मदद करता है, जो मनुष्यों और कंप्यूटरों दोनों को स्रोत कोड, दस्तावेज़ीकरण या नेटवर्क ट्रैफ़िक तक सीधे पहुँच के बिना सेवा क्षमताओं को समझने की अनुमति देता है।
आइए JSON स्कीमा से शुरू करें। एक JSON स्कीमा JSON डेटा की संरचना को मान्य करने के लिए एक शक्तिशाली उपकरण है। यह आपके मौजूदा डेटा प्रारूप को स्पष्ट, संक्षिप्त और पढ़ने में आसान (मनुष्यों और मशीनों दोनों के लिए) तरीके से वर्णित करता है। यह भाषा-अज्ञेयवादी भी है, जिसका अर्थ है कि आप इसे किसी भी प्रोग्रामिंग भाषा के साथ उपयोग कर सकते हैं जिसमें JSON समर्थन है।
अब, OpenAPI विनिर्देश इसमें कैसे फिट होते हैं? JSON स्कीमा OpenAPI विनिर्देशों का एक हिस्सा बनाते हैं, जो इसका एक विस्तार है, और REST API का वर्णन और सत्यापन करने के लिए पूरा करते हैं।
OAS के साथ API बनाकर, डेवलपर्स API के स्रोत कोड तक पहुँच प्राप्त किए बिना या व्यापक दस्तावेज़ीकरण पढ़ने की आवश्यकता के बिना API को समझ और उपयोग कर सकते हैं, और API का विज़ुअलाइज़ेशन बना सकते हैं। एक अच्छी तरह से डिज़ाइन किया गया OAS API विकास को सरल बनाने में मदद करता है।
TM Forum के OpenAPIs (TMF विनिर्देशों का हिस्सा) OpenAPI विनिर्देशों के वास्तविक दुनिया के उपयोग का एक उदाहरण हैं। वे API का एक सूट हैं जो ग्राहकों और उत्पादों के प्रबंधन से लेकर ऑर्डर और बिलिंग को संभालने तक कई प्रकार के कार्य प्रदान करते हैं, और वैश्विक स्तर पर मान्यता प्राप्त मानकों के तहत विकसित किए गए हैं।
आधुनिक सॉफ्टवेयर विकास में उनकी उपयोगिता के संदर्भ में, वे निम्नलिखित के लिए अत्यंत उपयोगी हैं:
- दस्तावेज़ीकरण: इंटरएक्टिविटी के साथ दस्तावेज़ीकरण को स्वतः उत्पन्न करने की क्षमता, काम को कम करती है और उपभोक्ताओं और परीक्षण के लिए फायदेमंद है।
- कोड जनरेशन: OAS विभिन्न भाषाओं में क्लाइंट, सर्वर और टेस्ट केस के निर्माण का समर्थन करता है, जो विकास प्रक्रिया को काफी तेज करता है।
- API डिज़ाइन और योजना: वे डिज़ाइन-फर्स्ट दृष्टिकोण की अनुमति देते हैं, जहाँ आप अपने API की योजना बना सकते हैं और फिर उसे निष्पादित कर सकते हैं।
कुल मिलाकर, OpenAPI विनिर्देश, अपने बुनियादी ढांचे में JSON स्कीमा के साथ, API विकास को तेज़, आसान और अधिक विश्वसनीय बनाकर सॉफ्टवेयर बनाने के तरीके में एक प्रतिमान बदलाव (paradigm shift) ला रहे हैं।
Français
Spécification OpenAPI (OAS), autrefois connue sous le nom de Swagger, est une spécification pour les fichiers d'interface lisibles par machine pour décrire, produire, consommer et visualiser des services web RESTful. Elle aide à définir une interface standard, indépendante du langage, pour les API REST, ce qui permet aux humains et aux ordinateurs de comprendre les capacités du service sans un accès direct au code source, à la documentation, ou au trafic réseau.
Commençons avec les schémas JSON. Un schéma JSON est un outil puissant pour valider la structure des données JSON. Il décrit votre format de données existant de manière claire, concise et facile à lire (pour les humains et les machines). Il est également indépendant du langage, ce qui signifie que vous pouvez l'utiliser avec n'importe quel langage de programmation qui supporte JSON.
Alors, comment les spécifications OpenAPI s'intègrent-elles dans le tableau ? Les schémas JSON forment une partie des spécifications OpenAPI, qui en sont une extension, et servent à décrire et à valider les API REST.
En créant des API avec OAS, les développeurs peuvent comprendre et utiliser l'API, et former une visualisation de l'API, sans avoir accès au code source de l'API ou la nécessité de lire une documentation extensive. Une OAS bien conçue aide à simplifier le développement des API.
Les OpenAPI du TM Forum (partie des spécifications TMF) sont un exemple d'utilisation réelle des spécifications OpenAPI. Il s'agit d'un ensemble d'API qui fournissent une variété de fonctions, de la gestion des clients et des produits à la manipulation des commandes et de la facturation, et qui sont développées selon des normes mondialement reconnues.
En termes d'utilité dans le développement de logiciels modernes, ils sont extrêmement utiles pour :
- Documentation: La capacité à générer automatiquement de la documentation, avec interactivité incluse, réduit le travail et est bénéfique pour les consommateurs et les tests.
- Génération de code: L'OAS soutient la génération de clients, de serveurs et de cas test dans différentes langues, ce qui accélère considérablement le processus de développement.
- Conception et planification d'API: Ils permettent une approche de conception en premier, où vous pouvez planifier votre API pour ensuite l'exécuter.
En somme, les spécifications OpenAPI, avec les schémas JSON dans leur infrastructure, facilitent un changement de paradigme dans la façon dont nous construisons des logiciels en rendant le développement d'API plus rapide, plus facile et plus fiable.
FastAPI with Python
हिंदी
FastAPI मानक पायथन टाइप हिंट्स और एसिंक्रोनस प्रोग्रामिंग क्षमताओं पर आधारित पायथन 3.6+ के साथ API बनाने के लिए एक आधुनिक, तेज़ (उच्च-प्रदर्शन) वेब फ्रेमवर्क है। इसकी मुख्य विशेषताएं तेज़, आसान, पायथोनिक, प्रदर्शन-केंद्रित और मजबूत हैं, जिसमें स्वचालित इंटरैक्टिव API दस्तावेज़ीकरण जैसी सुविधाएं शामिल हैं।
FastAPI वेब भागों के लिए Starlette और डेटा भागों के लिए Pydantic पर बनाया गया है। इसे बहुत तेज़ और उपयोग में आसान होने के लिए डिज़ाइन किया गया है, जिसमें टाइप चेकिंग, IDE एकीकरण और अन्य आधुनिक प्रोग्रामिंग सुविधाओं के लिए उत्कृष्ट समर्थन है। यह मानक पायथन टाइप हिंट्स का उपयोग करने के लिए बनाए जाने के कारण पूरी तरह से इंटरैक्टिव API तैयार करता है, जो डेटा सत्यापन, सीरियलाइज़ेशन और दस्तावेज़ीकरण में भी सहायता करते हैं।
FastAPI OpenAPI विनिर्देशों को उत्पन्न करने के लिए Pydantic मॉडल और पायथन टाइप हिंट्स का उपयोग करता है। OpenAPI विनिर्देश REST API के लिए मानकीकृत प्रारूप हैं जो API की संरचना का वर्णन करने का एक तरीका प्रदान करते हैं, जो सही अनुरोध और प्रतिक्रिया उत्पन्न करने में मदद करता है।
यहाँ एक बुनियादी FastAPI प्रोजेक्ट का एक दिलचस्प कोड उदाहरण है, जिसमें एक API शामिल है जो POST, GET, PATCH, PUT और DELETE एंडपॉइंट्स के साथ-साथ पायथन Requests लाइब्रेरी पर आधारित क्लाइंट कोड प्रदान करता है:
Français
FastAPI est un framework web moderne, rapide (à haute performance), destiné à la création d'APIs avec Python 3.6+ basé sur les indications de type Python standard et les capacités de programmation asynchrone. Les caractéristiques clés sont la rapidité, la facilité, le côté Pythonic, l'accent sur les performances, et la robustesse, avec des fonctionnalités comme la documentation automatique interactive de l'API.
FastAPI est construit sur Starlette pour les parties web et Pydantic pour les parties de données. Il est conçu pour être très rapide et facile à utiliser, avec un excellent support pour le contrôle de type, l'intégration IDE, et d'autres avantages de la programmation moderne. Il produit une API entièrement interactive grâce à son utilisation des indications de type Python standard, qui aident également à la validation des données, à la sérialisation et à la documentation.
FastAPI utilise les modèles Pydantic et les indications de type Python pour générer des spécifications OpenAPI. Les spécifications OpenAPI sont le format standardisé pour les API REST qui offrent un moyen de décrire la structure de l'API, ce qui aide à générer des requêtes et des réponses correctes.
Voici un exemple de code intéressant d'un projet FastAPI de base, comprenant une API qui sert des points de terminaison POST, GET, PATCH, PUT, et DELETE ainsi qu'un code client basé sur la bibliothèque Python Requests:
OpenAI Chat Plugins
हिंदी
OpenAI प्लगइन्स ChatGPT और तृतीय-पक्ष (third-party) अनुप्रयोगों के बीच एक कनेक्शन स्थापित करते हैं। इन प्लगइन्स के माध्यम से, ChatGPT डेवलपर्स द्वारा बनाए गए API के साथ बातचीत करने की क्षमता प्राप्त करता है, जिससे इसकी कार्यक्षमता का विस्तार होता है और कार्यों की एक विविध सरणी सक्षम होती है। इन प्लगइन्स की मदद से, ChatGPT विभिन्न क्रियाओं को पूरा कर सकता है, जैसे:
- खेल के स्कोर, स्टॉक की कीमतें और नवीनतम समाचारों जैसे वास्तविक समय के डेटा को लाना।
- कंपनी के दस्तावेज़ों और व्यक्तिगत नोट्स जैसी ज्ञान-आधारित जानकारी तक पहुँचना।
- उड़ानें बुक करने और भोजन ऑर्डर करने जैसी क्रियाएं करने में उपयोगकर्ताओं की सहायता करना।
Français
Les plugins OpenAI connectent ChatGPT à des applications tierces. Ces plugins permettent à ChatGPT d'interagir avec des API définies par des développeurs, améliorant ainsi ses capacités et lui permettant d'effectuer une large gamme d'actions. Les plugins permettent à ChatGPT de réaliser des choses telles que :
- Récupérer des informations en temps réel ; par exemple, les scores sportifs, les prix des actions, les dernières actualités, etc.
- Obtenir des informations à partir de bases de connaissances ; par exemple, des documents d'entreprise, des notes personnelles, etc.
- Aider les utilisateurs à effectuer des actions ; par exemple, réserver un vol, commander de la nourriture, etc.

