No project description provided
Project description
Hal9: Create and Share Generative Apps
Create and deploy generative (LLMs and diffusers) applications (chatbots and APIs) in seconds.
- Open: Use any model (OpenAI, Llama, Groq, MidJourney) and any library like (LangChainl, DSPy).
- Intuitive: No need to learn app frameworks (Flask), simply use
input()
andprint()
, or write file to disk. - Scalable: Engineers can integrate your app with scalable technilogies (Docker, Kubernetes, etc)
- Powerful: Using an OS process (stdin, stdout, files) as our app contract, enables long-running agents, multiple programming languages, and complex system dependencies.
Focus on AI (RAG, fine-tuning, aligment, training) and skip engineering tasks (frontend development, backend integration, deployment, operations).
Getting started
Create and share a chatbot in seconds by running the following commands:
pip install hal9
hal9 create chatbot
hal9 deploy chatbot
To customize further, read the following sections.
Creation
By default hal9 create
we will use the OpenAI template, you can choose different ones as follows:
hal9 create my-chatbot --template openai
hal9 create my-chatbot --template midjourney
hal9 create my-chatbot --template groq
hal9 create my-chatbot --template langchain
A template provides ready to use code with specific technologies and use cases. If you already have code, you can skip this step.
Development
To make changes to your project, open my-chatbot/
in your IDE and modify my-chatbot/app.py
.
You can then run your project as follows:
cd my-chatbot
pip install -r requirements.txt
export OPENAI_KEY=YOUR_OPENAI_KEY
If you customized your template with --template
make sure to set the correct key, for example export GROQ_KEY=YOUR_GROQ_KEY
.
You can then run your application locally with:
hal9 run .
or
cd ..
hal9 run my-chatbot
This command is just a convenience wrapper over python app.py
Deployment
The deploy command will prepare for deployment your generative app.
For example, you can prepare deployment as a generative app (Hal9), an API (Flask), a data app (Streamlit), or a container (Docker).
hal9 deploy my-chatbot --target hal9
hal9 deploy my-chatbot --target docker
Eeach command is tasked with preparing the deployment of your project folder. For example, --target docker
will create a Dockerfile
file that gets this project ready to run in cloud containers.
For personal use, --target hal9
supports a free tier at hal9.com
; enterprise support is also available to deploy with --target hal9 --url hal9.yourcompany.com
Contributing
Pull Requests are welcomed to consider additional application templates or deployment targets. See CONTRIBUTING.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.