Il s'agit du référentiel de code pour Generative AI avec Langchain, First Edition, publié par Packt.
Ben Auffarth
Chatgpt et les modèles GPT d'Openai ont provoqué une révolution non seulement dans la façon dont nous écrivons et recherchons également la façon dont nous pouvons traiter les informations. Ce livre traite du fonctionnement, des capacités et des limites des systèmes de chat sous-jacents LLMS, y compris Chatgpt et Bard. Il démontre également que, dans une série d'exemples pratiques, comment utiliser le cadre de Langchain pour créer des applications LLM prêtes pour la production et réactives pour des tâches allant du support client à une assistance au développement de logiciels et à l'analyse des données - illustrant l'utilité étendue des LLM dans les applications réelles.
Déverrouillez le plein potentiel des LLM dans vos projets lorsque vous parcourez des conseils sur le réglage fin, l'ingénierie rapide et les meilleures pratiques de déploiement et de surveillance dans les environnements de production. Que vous construisiez des outils d'écriture créative, que vous développiez des chatbots sophistiqués ou que vous fabriquiez des aides de développement de logiciels de pointe, ce livre sera votre feuille de route pour maîtriser le pouvoir transformateur de l'IA générative avec confiance et créativité.
Merci d'avoir choisi "AI génératif avec Langchain"! Nous apprécions votre enthousiasme et vos commentaires.
Veuillez noter que nous avons publié une version mise à jour du livre. Par conséquent, il existe deux branches différentes pour ce référentiel:
Veuillez vous référer à la version qui vous intéresse ou qui correspond à votre version du livre.
Si vous avez déjà acheté une version imprimée ou Kindle à jour de ce livre, vous pouvez obtenir une version PDF sans DRM sans frais. Cliquez simplement sur le lien pour réclamer votre PDF gratuit. Libres
Nous fournissons également un fichier PDF qui a des images en couleur des captures d'écran / diagrammes utilisés dans ce livre sur GraphicBundle
Mises à jour du code: notre engagement est de vous fournir des exemples de code stables et précieux. Bien que Langchain soit connu pour ses mises à jour fréquentes, nous comprenons l'importance d'aligner notre code avec les derniers changements. Le référentiel compagnon est régulièrement mis à jour pour s'harmoniser avec les développements de Langchain.
Attendez-vous à la stabilité: pour la stabilité et la convivialité, le référentiel pourrait ne pas correspondre à chaque mise à jour mineure de Langchain. Nous visons la cohérence et la fiabilité pour assurer une expérience transparente à nos lecteurs.
Comment nous joindre: rencontrer des problèmes ou avoir des suggestions? N'hésitez pas à ouvrir un problème, et nous y aborderons rapidement. Vos commentaires sont inestimables et nous sommes là pour vous soutenir dans votre voyage avec Langchain. Merci pour votre compréhension et votre codage heureux!
Vous pouvez vous engager avec l'auteur et d'autres lecteurs sur le serveur Discord et trouver les dernières mises à jour et discussions dans la communauté de Discord
Dans le tableau suivant, vous pouvez trouver des liens vers les répertoires de ce référentiel. Chaque répertoire contient d'autres liens vers des scripts Python et aux cahiers. Vous pouvez également voir des liens vers des plates-formes informatiques, où vous pouvez exécuter les ordinateurs portables dans le référentiel. Veuillez noter qu'il existe d'autres scripts et projets Python qui ne sont pas des cahiers, que vous trouverez dans les répertoires de chapitre.
| Chapitres | Colab | Se gêner | Pente | Laboratoire de studio |
|---|---|---|---|---|
| Chapitre 1: Qu'est-ce que l'IA générative? | Pas d'exemples de code | |||
| Chapitre 2: Langchain pour les applications LLM | Pas d'exemples de code | |||
| Chapitre 3: Début avec Langchain | annuaire | |||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| Chapitre 4: Construire des assistants capables | annuaire | |||
| ||||
| ||||
| ||||
| Chapitre 5: Construire un chatbot comme Chatgpt | annuaire | |||
| ||||
| ||||
| ||||
| ||||
| ||||
| Chapitre 6: Développement de logiciels avec une AI générative | annuaire | |||
| ||||
| ||||
| ||||
| ||||
| Chapitre 7: LLMS pour la science des données | annuaire | |||
| ||||
| Chapitre 8: Personnalisation des LLM et leur sortie | annuaire | |||
| ||||
| Chapitre 9: IA générative en production | annuaire | |||
| Chapitre 10: L'avenir des modèles génératifs | Pas d'exemples de code |
Ceci est le référentiel compagnon du livre. Voici quelques instructions qui aident à se mettre en place. Veuillez également voir le chapitre 3.
Tous les chapitres s'appuient sur Python.
| Chapitre | Logiciel requis | Lien vers le logiciel | Spécifications matérielles | OS requis |
|---|---|---|---|---|
| Tous les chapitres | Python 3.11 | https://www.python.org/downloads/ | Devrait travailler sur n'importe quel ordinateur récent | Windows, macOS, Linux (n'importe quoi), macOS, Windows |
Veuillez noter que Python 3.12 pourrait ne pas fonctionner (voir # 11).
Vous pouvez installer votre environnement local avec Conda (recommandé) ou PIP. Les configurations environnementales pour conda, PIP et poésie sont fournies. Ils ont tous été testés sur macOS. Veuillez noter que si vous choisissez l'outil d'installation PIP comme votre installation, vous pourriez avoir besoin d'installation supplémentaire de dépendances système.
Si vous avez des problèmes avec l'environnement, veuillez soulever un problème, où vous affichez l'erreur que vous avez. Si vous vous sentez confiant, allez-y et créez une demande de traction.
Sous les fenêtres, certaines personnes ont rencontré des difficultés avec Conda et Pip (en raison de Readline et Ncurses). Si c'est le cas pour vous, veuillez consulter WSL ou utiliser l'installation de Docker. Certaines personnes sur Winodws ont déclaré qu'elles devaient installer des outils de construction Visual CPP. Dans tous les cas, si vous avez des problèmes avec l'environnement, veuillez soulever un problème, où vous affichez l'erreur que vous avez. Si vous vous sentez confiant d'avoir trouvé une amélioration, veuillez aller de l'avant et créer une demande de traction.
Pour PIP et la poésie, assurez-vous d'installer Pandoc dans votre système. Sur macOS utilise Brew:
brew install pandocSur Ubuntu ou Debian Linux, utilisez APT:
sudo apt-get install pandocSur Windows, vous pouvez utiliser un installateur.
Il s'agit de la méthode recommandée pour installer des dépendances. Veuillez vous assurer que Anaconda a installé.
Créez d'abord l'environnement du livre qui contient toutes les dépendances:
conda env create --file langchain_ai.yaml --force L'environnement conda s'appelle langchain_ai . Vous pouvez l'activer comme suit:
conda activate langchain_ai PIP est l'outil de gestion de dépendance par défaut dans Python. Avec PIP, vous devriez pouvoir installer toutes les bibliothèques à partir du fichier d'exigences:
pip install -r requirements.txtSi vous travaillez avec une connexion Internet lente, vous pourriez voir un délai d'attente avec PIP (cela peut également se produire avec Conda et Pip). En tant que solution de contournement, vous pouvez augmenter le paramètre de délai d'expiration comme ceci:
export PIP_DEFAULT_TIMEOUT=100Il y a également un fichier docker pour l'environnement. Il utilise l'environnement Docker et démarre un cahier IPython. Pour l'utiliser, construisez-le d'abord, puis exécutez-le:
docker build -t langchain_ai .
docker run -it -p 8888:8888 langchain_aiVous devriez pouvoir trouver le cahier dans votre navigateur sur http: // localhost: 8888.
Assurez-vous que la poésie est installée. Sur Linux et MacOS, vous devriez pouvoir utiliser le fichier d'exigences:
poetry install --no-root Cela devrait prendre le fichier pyproject.toml et installer toutes les dépendances.
Suite aux meilleures pratiques concernant la sécurité, je n'engage pas mes références à GitHub. Vous pouvez voir des instructions import mentionnant un fichier config.py , qui n'est pas inclus dans le référentiel. Ce module a une méthode set_environment() qui définit toutes les clés en tant que variables d'environnement comme celle-ci:
Exemple config.py:
import os
def set_environment ():
os . environ [ 'OPENAI_API_KEY' ] = 'your-api-key-here'De toute évidence, vous mettez vos informations d'identification API ici. Selon l'intégration (openai, azure, etc.), vous devez ajouter les clés API correspondantes. Les touches API OpenAI sont les plus souvent utilisées dans tout le code.
Vous pouvez trouver plus de détails sur les informations d'identification de l'API et la configuration du chapitre 3 du livre Generative AI avec Langchain.
Si vous trouvez quelque chose de mal avec les ordinateurs portables ou les dépendances, n'hésitez pas à créer une demande de traction.
Si vous souhaitez modifier la spécification de dépendance conda (le fichier YAML), vous pouvez le tester comme ceci:
conda env create --file langchain_ai.yaml --forceVous pouvez mettre à jour les exigences PIP comme celle-ci:
pip freeze > requirements.txtVeuillez vous assurer que vous gardez ces deux façons de maintenir les dépendances en synchronisation.
Assurez-vous ensuite, vous testez les ordinateurs portables dans le nouvel environnement pour voir qu'ils s'exécutent.
J'ai inclus un Makefile qui comprend des instructions de validation avec Flake8, MyPy et d'autres outils. J'ai exécuté Mypy comme ceci:
make typecheckPour exécuter la validation du code dans Ruff, veuillez exécuter
ruff check . Ben Auffarth Ben Auffarth est un scientifique des données complète avec plus de 15 ans d'expérience de travail. Avec un fond et un doctorat. Dans les neurosciences informatiques et cognitives, il a conçu et mené des expériences de laboratoire humide sur les cultures cellulaires, analysé des expériences avec des téraoctets de données, exécuter des modèles de cerveau sur des supercalculateurs IBM avec jusqu'à 64K cœurs, construit des systèmes de production qui traitent des centaines et des milliers de transactions par jour, et des modèles de langage formés sur un grand corpus de documents texte. Il a cofondé et est l'ancien président de Data Science Speakers, Londres.