Apprentissage des llms et genai pour Dev,Sec,Ops
De quoi parle ce dépôt ?
Ce référentiel vise à structurer diverses informations sur les LLM et GenAi dans un récit de cours facilement compréhensible par le génie logiciel traditionnel. Il met en évidence les aspects que vous devez comprendre du point de vue du développement, des opérations et de la sécurité. Bien qu’il existe beaucoup de matériel, je me suis retrouvé à expliquer les mêmes choses encore et encore et j’ai développé un récit.
Les leçons sont principalement basées sur le framework Langchain et nécessitent une certaine familiarité avec le langage de programmation Python. De nombreux exemples ont été empruntés à des pages de documentation et l'attribution est indiquée lorsque cela est possible. Félicitations à Langchain pour avoir collecté autant de matériel !
Aperçu des leçons
Promoteur
- Appeler un LLM simple à l'aide d'OpenAI
- En regardant le débogage dans Langchain
- Discuter avec OpenAI comme modèle
- Utilisation de modèles d'invite
- Utilisation de Docloader pour lire vos fichiers locaux et les préparer pour le LLM
- Expliquer le calcul et l'utilisation des plongements
- Comprendre à quel point le fractionnement et le regroupement sont importants
- Chargement d'intégrations et de documents dans une base de données vectorielle
- Utilisez une chaîne de questions et réponses pour implémenter le modèle RAG (Retrieval Augmented Generation)
- Montrer l'utilisation de la documentation OpenAI pour que le llm génère des appels pour trouver des informations en temps réel
- Implémentez un agent et fournissez-lui des outils pour obtenir plus d'informations en temps réel
Opérations
- Découvrez combien de jetons vous utilisez et leur coût
- Comment mettre en cache vos appels vers un LLM en utilisant une correspondance exacte ou des intégrations
- Comment mettre en cache le calcul des plongements et exécuter le calcul localement
- Gérez votre propre LLM local (en utilisant Ollama)
- Suivez vos appels et enregistrez-les dans un fichier (à l'aide d'un gestionnaire de rappel)
- Imposer une structure de sortie (comme JSON) et demander au LLM de réessayer si ce n'est pas correct
Sécurité
- Expliquer le top 10 OWASP pour LLMS
- Montrer comment fonctionne une injection rapide simple et quelques stratégies d'atténuation
- Comment détecter une injection rapide à l'aide d'un modèle tiers de Hugginface
- Détecter l'injection de projet à l'aide d'une invite
- Vérifiez la réponse fournie par LLM et réfléchissez si elle est correcte.
- Utilisez un modèle Huggingface pour détecter si une sortie LLM était toxique
- Afficher une invite simple pour demander l'avis du LLM sur les vulnérabilités de Kubernetes et Trivy
Accédez directement à https://github.com/jedi4ever/learning-llms-and-genai-for-dev-sec-ops/tree/main/lessons Plus à venir !
Histoire de ce dépôt
- La structure initiale des leçons a été formée lors d'un hackaton GenAI gracieusement hébergé par Techstrong/MediaOps.
- Les leçons ont été affinées pour une présentation au groupe London Devops Meetup.
- D'autres envisagent d'en exécuter leur propre version
Comment pouvez-vous aider ?
Faites-nous savoir sur quel sujet vous aimeriez voir une leçon ? Ouvrez un ticket github pour le demander
Soumettez de nouvelles leçons, envoyez-nous des corrections etc. pour l'améliorer.
Exécutez votre propre meetup/hackaton en utilisant ce dépôt comme base et faites un rapport ! Nous aimons entendre ces histoires, envoyez-nous des photos ou des vidéos !
Envoyer un tweet de remerciement à @patrickdebois
Conditions requises pour exécuter ce dépôt (besoin de plus d'amour)
Exécutez-le en utilisant un devcontainer
Ce projet contient un devcontainer pour exécuter le dépôt localement. Ou vous pouvez utiliser la collaboration Google pour exécuter les blocs-notes
Exécutez-le localement
- Nous avons utilisé Microsoft VSCode pour exécuter la démo
- Nous exécutons les notebooks python et jupyter localement
- Nous utilisons la poésie comme gestionnaire d'environnement virtuel Python
Poetry est le nouveau gestionnaire de paquets du quartier. Semblable à Conda ou Pip avec venv.
poetry init
poetry install --no-root
configurer vscode pour utiliser la poésie
- installez python 3.11 (la plupart des exemples fonctionnent cependant avec 3.12) avec pyenv
- obtenir le chemin pyenv
pyenv which python
- définir la version poésie pyton
poetry env use
- trouver le chemin d'env de poésie
poetry env info --path
- dans
view -> command pallete -> python: select interpreter -> enter interpreter path
- ajoutez le chemin
/Users/patrick.debois/Library/Caches/pypoetry/virtualenvs/london-devops-VW7lFx7f-py3.11
+ ajoutez /bin/python to it
-
poetry add ipykernel
configurer les notebooks Jupyter
- installer le plugin vscode
- installer ipykernel
Journal des modifications
- Version 0.1 avec la syntaxe initiale de Langchain
- Version 0.2 adaptée aux nouvelles langchain-community , langchain-openai et à la nouvelle syntaxe