Add documentation
This commit is contained in:
parent
4f0bdfe7f2
commit
1a3a1394d3
49
README.md
49
README.md
@ -1,2 +1,49 @@
|
||||
# rust-learning
|
||||
# Groq Model Comparison
|
||||
|
||||
Desktop application written in Rust to easily compare LLM responses and response times to find the one best suited for your project.
|
||||
|
||||
![application screenshot](images/app_demo.png)
|
||||
|
||||
Simply choose the models you are interested in from a list:
|
||||
|
||||
![model list screenshot](images/model_list.png)
|
||||
|
||||
Type your prompt into the text area, then hit "submit"!
|
||||
|
||||
Upon prompt submission, the same prompt will be sent to all of the LLMs you have chosen. Review their responses and view the leaderboard to see which models have the best performance.
|
||||
|
||||
![leaderboard screenshot](images/leaderboard.png)
|
||||
|
||||
## Usage
|
||||
|
||||
Rust must be installed on your system to build the application. Install Rust [here](https://www.rust-lang.org/tools/install).
|
||||
|
||||
Make sure to have your `GROQ_API_KEY` environment variable set in the `.env` file for interacting with the Groq API. Create an API key if you don't already have one [here](https://console.groq.com/keys).
|
||||
|
||||
```sh
|
||||
cd groq-model-comparison
|
||||
|
||||
# For debug
|
||||
cargo build
|
||||
./target/debug/groq-model-comparison
|
||||
|
||||
# For release
|
||||
cargo build --release
|
||||
./target/release/groq-model-comparison
|
||||
```
|
||||
|
||||
## Project Information
|
||||
|
||||
This project was created for the purposes of learning the Rust programming language. This was a good way to do so because it includes a lot of common concepts that come up in projects:
|
||||
|
||||
- Concurrency/Asyncronous Code (`tokio`, `futures`)
|
||||
- Blocking
|
||||
- Asyncronous
|
||||
- Polling
|
||||
- Network Requests (`reqwest`)
|
||||
- Processing JSON requests/responses (`serde`, `serde_json`)
|
||||
- GUI (`egui`, `eframe`)
|
||||
- Dependency Management (`cargo`)
|
||||
- Environment Variables (`dotenv`)
|
||||
|
||||
Now that I have a good idea on how to work with all of those concepts above, as well as the complex ownership/lifetime/borrowing system in Rust's compiler, I am much better equiped to work on any Rust projects in the future.
|
||||
|
BIN
images/app_demo.png
Normal file
BIN
images/app_demo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 361 KiB |
BIN
images/leaderboard.png
Normal file
BIN
images/leaderboard.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
BIN
images/model_list.png
Normal file
BIN
images/model_list.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
Loading…
Reference in New Issue
Block a user