Créez et déployez des applications génératives (LLM et diffuseurs) (chatbots et API) en quelques secondes.
input()
et print()
, ou écrivez un fichier sur le disque.Concentrez-vous sur l'IA (RAG, réglage fin, alignement, formation) et évitez les tâches d'ingénierie (développement frontend, intégration backend, déploiement, opérations).
Créez et partagez un chatbot en quelques secondes comme suit :
pip install hal9
hal9 create chatbot
hal9 deploy chatbot
Notez que deploy
nécessite une variable d'environnement HAL9_TOKEN
avec un jeton API que vous pouvez obtenir sur hal9.com/devs. Vous pouvez utiliser ce jeton pour déployer à partir de votre ordinateur local, d'un ordinateur portable ou automatiser depuis GitHub.
HAL9_TOKEN=H9YOURTOKEN hal9 deploy chatbot --name my_first_chatbot
Aussi simple que cela, vous avez créé votre premier chatbot !
Le code à l'intérieur /chatbot/app.py
contient un chatbot « Hello World » qui lit l'invite de l'utilisateur et renvoie le résultat :
prompt = input ()
print ( f"Echo: { prompt } " )
Nous avons conçu ce package dans un souci de simplicité, le travail du code est de lire les entrées et d'écrire la sortie, c'est tout. Cela dit, vous pouvez créer des chatbots qui utilisent des LLM, générer des images, ou même utiliser des outils qui se connectent à des bases de données, ou même créer des sites Web et des jeux !
Par défaut, hal9 create
des valeurs par défaut pour le modèle --template echo
, mais vous pouvez en choisir différents comme suit :
hal9 create chatbot-openai --template openai
hal9 create chatbot-groq --template groq
Un modèle fournit du code prêt à l’emploi avec des technologies et des cas d’utilisation spécifiques. Il est très courant d'utiliser le modèle de type ChatGPT d'OpenAI avec --template openai
, le code généré ressemblera à ceci :
import hal9 as h9
from openai import OpenAI
messages = h9 . load ( "messages" , [])
prompt = h9 . input ( messages = messages )
completions = OpenAI (). chat . completions . create ( model = "gpt-4" , messages = messages , stream = True )
h9 . complete ( completions , messages = messages )
h9 . save ( "messages" , messages , hidden = True )
La section Apprendre explique en détail le fonctionnement de ce code, mais fournira un aperçu rapide. Le package hal9
contient des fonctions d'assistance pour simplifier votre code d'IA génératif. Vous pouvez choisir de ne pas utiliser hal9
du tout et d'utiliser vous-même les instructions input()
et print()
, ou même de poursuivre des outils comme langchain
. Les fonctions h9.load()
et h9.save()
chargent et enregistrent les données lors des sessions de chat, notre plateforme est sans état par défaut. La fonction h9.input()
est un wrapper mince sur input()
qui stocke également les entrées de l'utilisateur dans les messages
. Ensuite, h9.complete()
est une fonction d'assistance pour aider à analyser les résultats d'achèvement et à enregistrer le résultat dans messages
. C'est à peu près tout !
Pour apporter des modifications à votre projet, ouvrez chatbot/
dans votre IDE et modifiez chatbot/app.py
.
Vous pouvez ensuite exécuter votre projet comme suit :
hal9 run chatbot
Si vous avez personnalisé votre modèle avec --template
assurez-vous de définir la clé correcte, par exemple, si vous utilisez le modèle OpenAI pour Linux ou macOS :
export OPENAI_KEY=YOUR_OPENAI_KEY.
Pour une utilisation Windows :
set OPENAI_KEY=YOUR_OPENAI_KEY.
Pour plus d'informations sur l'obtention et l'utilisation de votre clé API OpenAI, veuillez consulter la documentation sur la clé API OpenAI.
Vous pouvez ensuite exécuter votre application localement avec :
hal9 run chatbot
Cette commande n'est qu'un outil pratique pour exécuter le code vous-même avec quelque chose comme python app.py
.
La commande déployer préparera le déploiement de votre application générative.
Par exemple, vous pouvez préparer le déploiement en tant qu'application générative (Hal9). Nous prévoyons également de fournir un déploiement sur Docker et la communauté open source peut l'étendre encore davantage.
hal9 deploy chatbot --target hal9
Chaque commande est chargée de préparer le déploiement de votre dossier projet. Par exemple, --target docker
doit créer un fichier Dockerfile
qui prépare ce projet à être exécuté dans des conteneurs cloud.
Pour un usage personnel, --target hal9
prend en charge un niveau gratuit sur hal9.com
; le support d'entreprise est également disponible pour le déploiement avec --target hal9 --url hal9.yourcompany.com