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 git@github.com:kantum/ai-chat.git
cd ai-chatYou will need the cargo leptos cli to build the app:
cargo install --locked cargo-leptosIn two terminals:
npx tailwindcss -i ./input.css -o ./style/output.css --watchcargo leptos watchcargo leptos build --releaseWill generate your server binary in target/server/release and your site package in target/site
./target/server/release/ai-chatcargo leptos end-to-endcargo leptos end-to-end --releaseCargo-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
sitedirectory 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.