Terminal AI Commander à portée de main
Consultez les démos pour plus d’exemples.
REMARQUE : Il s'agit d'un travail en cours, attendez-vous à des bugs et à des modifications de l'API.
Instrukt est un environnement intégré d'IA basé sur un terminal. Il offre une plateforme où les utilisateurs peuvent :
Créer et former des agents d'IA modulaires
Générer des index de documents pour répondre aux questions
Créez et attachez des outils à n’importe quel agent
Les agents sont de simples packages Python intégrés qui peuvent être étendus, partagés avec d'autres, attachés à des outils et complétés par des index de documents.
Instruisez-les en langage naturel et, pour des raisons de sécurité, exécutez-les dans des conteneurs sécurisés (actuellement implémentés avec Docker) pour effectuer des tâches dans leur espace dédié en bac à sable ?️.
Construit avec : Langchain, Textuel, Chroma
Services de conseil : Besoin d'aide pour l'intégration de Langchain ou de l'IA ? Vous pouvez me contacter à [email protected]
Usage
Caractéristiques
Plateformes prises en charge
Modèles LLM
Index de documents et réponses aux questions
Feuille de route
Contribuer
Patréon
Sociale
Vision
Licence
pip install instrukt[all]
exportez OPENAI_API_KEY
avec votre clé API OpenAI.
exécuter instrukt
Si la palette de couleurs est rompue, exportez TERM=xterm-256color
Un fichier de configuration sera créé à l'adresse : ~/.config/instrukt/instrukt.yml
Vous pouvez exécuter Instrukt sur un serveur sans tête tel qu'un conteneur Docker avec prise en charge CUDA.
REMARQUE : si vous démarrez avec un conteneur nu, vous avez besoin d'au moins g++ et libmagic.
Consultez le guide de démarrage rapide et d'installation pour plus de détails.
Assurez-vous que la dernière version de poetry
est installée.
Définissez votre environnement virtuel
Cloner le référentiel
Exécutez poetry install -E all --with dev,test
Cela installera Instrukt, y compris des outils supplémentaires pour les agents.
Voir le guide d'installation pour plus de détails
Coding AI : Un assistant de codage. Créez des index sur n'importe quelle base de code et attachez-le à l'agent pour effectuer du RAG (Retrieval Augmented Generation)
Chat Q&A : Un simple agent conversationnel.
Une interface basée sur un terminal permettant aux utilisateurs de clavier puissant d'instruire les agents IA sans jamais quitter le clavier.
Sorties d'agent riches et colorées avec prise en charge des démarques et du code source grâce à la bibliothèque Textual TUI.
Exécutez Instrukt sur des conteneurs Bare Metal ou Docker avec prise en charge CUDA.
Accès à distance avec SSH et multiplexeurs de terminaux.
Concevoir des agents et des outils personnalisés.
Les agents sont de simples packages Python qui peuvent être partagés et chargés par d'autres utilisateurs.
Indexez vos données et laissez les agents les récupérer pour répondre aux questions.
Créez et organisez vos index avec une interface utilisateur simple.
La création d'index détectera automatiquement les langages de programmation et optimisera la stratégie de fractionnement/blocage en conséquence.
Sélection floue (fzf, dmenu ...) des documents sources utilisés pour la récupération ctrl+p
Utilisez l'ensemble d'outils prédéfinis ou concevez vos propres outils.
Attachez ou détachez des outils aux agents en déplacement, adaptant ainsi vos flux de travail d'IA à vos besoins.
REPL-Prompt intégré pour une interaction rapide avec les agents et une boucle de rétroaction rapide pour le développement et les tests.
Automatisez les tâches répétitives avec des commandes personnalisées.
Historique d'invite/de discussion intégré.
Utilisez vim
, emacs
ou tout autre $EDITOR
externe pour modifier les messages.
Tirez parti de l’écosystème LangChain pour tout automatiser.
WIP : API extensible pour l'intégration avec d'autres frameworks.
Exécutez les agents dans des conteneurs Docker sécurisés pour plus de sécurité et de confidentialité.
Utilisez le runtime gVisor pour une isolation complète de l'agent.
remarque : L'agent Docker n'est disponible que pour les supporters de Patreon en avant-première.
Déboguez et introspectez les agents à l'aide d'une console IPython intégrée. ctrl+d
Les index peuvent être créés à l'aide d'OpenAI ou de modèles d'intégration locaux.
Chroma pour la gestion des index.
Créez et gérez des index à l'aide de l'interface utilisateur de gestion des index (appuyez sur I
)
L'indexation d'un répertoire détectera automatiquement les langages de programmation et utilisera une stratégie de fractionnement appropriée optimisée pour le langage cible.
Les index peuvent être attachés à n'importe quel agent en tant qu'outil de récupération à l'aide du menu index
en haut de la fenêtre de l'agent.
Les agents peuvent utiliser les index joints pour répondre aux questions.
Linux/Mac.
Windows testé sous WSL2.
Actuellement, seul OpenAI est pris en charge.
L'utilisation de modèles locaux privés constitue la prochaine étape .
modèles LLM locaux privés
Les HF SetenceTransformers prenaient en charge les intégrations.
Intégrations d'instructeurs
Intégrations locales
utiliser l'API de génération de texte-webui
émuler PrivateGPT
utiliser go-skynet/LocalAI auto-hébergé
Indexation et intégrations
Indexez les répertoires et détectez automatiquement le contenu. ( voir AutoDirLoader
)
Détectez les langages de programmation et utilisez le séparateur approprié.
Charger un dépôt git à partir d'une URL
Chargez n’importe quelle page Web/site Web.
Documentation
Création d'agents
Création d'outils
Indexation et discussion avec des documents et du code source.
Exemples de cas d'utilisation
Tutoriels.
Toute contribution, retour d'information et relations publiques est la bienvenue !
Vous pouvez aider avec :
Tester et créer des problèmes pour les bugs ou les fonctionnalités qui seraient utiles.
Si vous avez des compétences techniques, vous pouvez créer un PR.
Si vous n'avez pas de compétences techniques, vous pouvez aider avec la documentation, en ajoutant des exemples et des didacticiels ou en créant de nouvelles user stories.
En devenant mécène, vous m'aiderez à continuer à consacrer du temps au développement d'Instrukt et à donner vie à toutes les fonctionnalités prévues. Consultez la page Patreon pour plus de détails sur les récompenses des premiers supporters.
Rejoignez le serveur Discord pour rester informé des progrès ou demander de l'aide.
L’IA doit être accessible à tous et non un jardin clos pour les grandes entreprises et les services SaaS.
Instrukt est une modeste contribution visant à créer des outils qui responsabilisent les utilisateurs sans compromettre leurs libertés. L'objectif à court terme est de le rendre utilisable avec une dépendance minimale aux API et services externes, donnant aux utilisateurs le choix d'opter pour des modèles locaux et des services auto-hébergés.
Copyright (c) 2023 Chakib Ben Ziane. Tous droits réservés.
Instrukt est sous licence AGPL, en bref, cela signifie qu'il peut être utilisé par n'importe qui à n'importe quelle fin. Cependant, si vous décidez de rendre une instance accessible au public, vos utilisateurs ont droit à une copie du code source incluant toutes les modifications que vous avez apportées (qui doit être disponible via une interface telle qu'un bouton sur votre site Web), vous pouvez également ne pas distribuer ce projet sous une forme qui ne contient pas le code source (comme compiler/crypter le code et distribuer cette version sans également distribuer le code source qui inclut les modifications que vous avez apportées. Vous êtes autorisé à le distribuer sous une forme fermée si vous fournissez également un archiver avec le code source.).