Skip to content

kelvincesar/chat-llama

Repository files navigation

Leptos Logo

LLAMA Chat using Rust

This project was started using the cargo leptos init command:

cargo leptos new --git https://github.com/leptos-rs/start

To build this project, the following packages are necessary:

rustup target add wasm32-unknown-unknown
cargo install trunk cargo-leptos
cargo install cargo-generate
npm install -g sass
nix-env -iA nixos.dart

npm install -D tailwindcss

Model downloaded from https://huggingface.co/TheBloke/Wizard-Vicuna-7B-Uncensored-GGML/tree/main

Necessary to use .env file with parameter: MODEL_PATH: path to the model llama;

Creating your template repo

If you don't have cargo-leptos installed you can install it with

cargo install cargo-leptos

Then run

cargo leptos new --git leptos-rs/start

to generate a new project template.

cd {projectname}

to go to your newly created project.

Of course, you should explore around the project structure, but the best place to start with your application code is in src/app.rs.

Running your project

cargo leptos watch

Installing Additional Tools

By default, cargo-leptos uses nightly Rust, cargo-generate, and sass. If you run into any trouble, you may need to install one or more of these tools.

  1. rustup toolchain install nightly --allow-downgrade - make sure you have Rust nightly
  2. rustup target add wasm32-unknown-unknown - add the ability to compile Rust to WebAssembly
  3. cargo install cargo-generate - install cargo-generate binary (should be installed automatically in future)
  4. npm install -g sass - install dart-sass (should be optional in future)

Executing a Server on a Remote Machine Without the Toolchain

After running a cargo leptos build --release the minimum files needed are:

  1. The server binary located in target/server/release
  2. The site directory and all files within located in target/site

Copy these files to your remote server. The directory structure should be:

leptos_start
site/

Set the following environment variables (updating for your project as needed):

export LEPTOS_OUTPUT_NAME="leptos_start"
export LEPTOS_SITE_ROOT="site"
export LEPTOS_SITE_PKG_DIR="pkg"
export LEPTOS_SITE_ADDR="127.0.0.1:3000"
export LEPTOS_RELOAD_PORT="3001"

Finally, run the server binary.

Notes about CSR and Trunk:

Although it is not recommended, you can also run your project without server integration using the feature csr and trunk serve:

trunk serve --open --features csr

This may be useful for integrating external tools which require a static site, e.g. tauri.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published