This is an implentation of an AI Chat inspired by Code to the Moon youtube channel.
Don't worry if the chat takes time to answer, the model is running on your computer, watch your activity monitor.
You will need an account at huggingface to download the model, make sure to have git-lfs installed before cloning the repository:
git lfs install && git clone --recurse-submodules [email protected]:kantum/ai-chat.git
cd ai-chat
You will need the cargo leptos cli to build the app:
cargo install --locked cargo-leptos
In two terminals:
npx tailwindcss -i ./input.css -o ./style/output.css --watch
cargo leptos watch
cargo leptos build --release
Will generate your server binary in target/server/release and your site package in target/site
./target/server/release/ai-chat
cargo leptos end-to-end
cargo leptos end-to-end --release
Cargo-leptos uses Playwright as the end-to-end test tool. Tests are located in end2end/tests directory.
After running a cargo leptos build --release
the minimum files needed are:
- The server binary located in
target/server/release
- The
site
directory and all files within located intarget/site
Copy these files to your remote server. The directory structure should be:
ai-chat
site/
Set the following environment variables (updating for your project as needed):
LEPTOS_OUTPUT_NAME="ai-chat"
LEPTOS_SITE_ROOT="site"
LEPTOS_SITE_PKG_DIR="pkg"
LEPTOS_SITE_ADDR="127.0.0.1:3000"
LEPTOS_RELOAD_PORT="3001"
Finally, run the server binary.