Une implémentation de pile complète sans serveur React + AWS des applications d'exemples trouvées dans la documentation officielle de l'API OpenAI. Voir ce diagramme architectural du système pour plus de détails. Ceci est un outil pédagogique pour la chaîne YouTube "Full Stack with Lawrence" et pour le cours de l'Université de la Colombie-Britannique "," Implémentation de technologie du cloud de l'intelligence artificielle ".
Fonctionne avec les environnements Linux, Windows et MacOS.
Vérifiez les exigences du projet: le compte AWS et l'accès CLI, Terraform, Python 3.11, NPM et Docker Compose.
Examiner et modifier le fichier de configuration Master Terraform.
Exécutez make et ajoutez vos informations d'identification au fichier .env nouvellement créé dans la racine du référentiel.
Initialiser, construire et exécuter l'application.
git clone https://github.com/FullStackWithLawrence/aws-openai.git
make # scaffold a .env file in the root of the repo
make init # initialize Terraform, Python virtual environment and NPM
make build # deploy AWS cloud infrastructure, build ReactJS web app
make run # run the web app locally in your dev environment Complete API OpenAI : déploie une API prête à la production pour l'intégration à la suite complète de services d'Openai, y compris ChatGTP, Dall · E, Whisper et TTS.
Intégration de Langchain : un point de terminaison simple API pour construire des applications de raisonnement au contexte, avec les abstractions flexibles de Langchain et la boîte à outils AI-First. Utilisez ce point de terminaison pour développer un large éventail d'applications, des chatbots aux systèmes de réponse aux questions.
CHATGPT Dynamic Invite : modèles de terraform simples pour créer des chatbots hautement préonisés. Programmez et éditez vos propres applications de chat personnalisées en quelques minutes.
Fonction Call : la fonction d'intégration la plus avancée d'Openai à ce jour. L'appel de fonction API OpenAI est une fonctionnalité qui permet aux développeurs d'intégrer leurs propres fonctions Python personnalisées dans le traitement des réponses de chat. Par exemple, lorsqu'un chatbot alimenté par le modèle GPT-3 d'OpenAI génère des réponses, il peut appeler ces fonctions Python personnalisées pour effectuer des tâches ou des calculs spécifiques, puis inclure les résultats de ces fonctions dans ses réponses. Cette fonctionnalité puissante peut être utilisée pour créer des chatbots plus dynamiques et interactifs qui peuvent effectuer des tâches telles que la récupération de données en temps réel, effectuer des calculs ou interagir avec d'autres API ou services. Voir le code source Python pour une documentation et des exemples supplémentaires, notamment "get_current_weather ()" de la documentation officielle de l'API OpenAI
Fonction Calling Plugins : nous avons créé notre propre modèle "Plugin" basé sur YAML. Voir cet exemple de plugin et cette documentation pour plus de détails, ou essayez-le sur ce site en direct. Les modèles YAML peuvent être stockés localement ou servis à partir d'un seau AWS S3 sécurisé. Vous trouverez ici un jeu d'exemples amusants.
Le code source complet et la documentation se trouvent ici.
React App qui exploite Vite.js, @ ChatScope / Chat-Ui-Kit-React et React-Pro-Sidebar.
La documentation complète est située ici. Le code Python est situé ici
Une API REST mettant en œuvre chacune des 30 exemples d'applications de la documentation officielle de l'API OpenAI à l'aide d'une approche Terraform modularisée. Tirez parti des modèles d'IA d'Openai, y compris GPT-3.5, GPT-4, Dall · E, Whisper, intégres et modération.
.env et terraform.tfvars .Exigences facultatives:
Une documentation détaillée pour chaque point final est disponible ici: documentation
Pour obtenir un soutien communautaire, accédez à la page des numéros officiels de ce projet.
Ce projet démontre une grande variété de bonnes pratiques codantes pour gérer les micro-services classiques basés sur le cloud dans un environnement d'équipe, à savoir son adhésion à la méthodologie à 12 facteurs. Veuillez consulter les meilleures pratiques de gestion du code pour plus de détails.
Nous voulons rendre ce projet plus accessible aux étudiants et aux apprenants en tant qu'outil pédagogique sans ajouter de charges de travail de révision de code indu à toute personne disposant de Merge Authority pour le projet. À cette fin, nous avons également ajouté plusieurs outils de liaison de code de code et de code de code pré-comité, ainsi que des procédures automatisées pour la maintenance de la version des dépendances de package, des évaluations de la demande de traction et des versions sémantiques.
Nous accueillons les contributions! Il existe une variété de façons de vous impliquer, quel que soit votre parcours. En plus des demandes de traction, ce projet bénéficierait de contributeurs axés sur la documentation et la création de contenu vidéo, le contenu vidéo, les tests, l'engagement communautaire et les commissaires pour nous aider à nous assurer que nous nous conformons aux normes évolutives pour l'utilisation éthique de l'IA.
Pour les développeurs, veuillez consulter:
Vous pouvez également contacter Lawrence McDaniel directement. COMPOSITION DE CODE À EN FEB-2024:
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 29 732 722 2663
HCL 30 352 714 2353
Markdown 52 779 6 2344
YAML 23 112 149 1437
JavaScript 39 114 127 1088
JSX 6 45 47 858
CSS 5 32 14 180
make 1 27 30 120
Text 6 13 0 117
INI 2 15 0 70
HTML 2 1 0 65
Jupyter Notebook 1 0 186 48
Bourne Shell 5 17 55 47
TOML 1 1 0 23
Dockerfile 1 4 4 5
-------------------------------------------------------------------------------
SUM: 203 2,244 2,054 11,418
-------------------------------------------------------------------------------