Skip to content

🦀 A curated list of Rust tools, libraries, and frameworks for working with LLMs, GPT, AI

Notifications You must be signed in to change notification settings

jondot/awesome-rust-llm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation


                                                                      __       __ __          
.---.-.--.--.--.-----.-----.-----.--------.-----.___.----.--.--.-----|  |_ ___|  |  .--------.
|  _  |  |  |  |  -__|__ --|  _  |        |  -__|___|   _|  |  |__ --|   _|___|  |  |        |
|___._|________|_____|_____|_____|__|__|__|_____|   |__| |_____|_____|____|   |__|__|__|__|__|

https://github.com/jondot/awesome-rust-llm

Awesome Rust LLM is an awesome style list that keeps track and curates the best Rust based LLM frameworks, libraries, tools, tutorials, articles and more. PRs are welcome!

Models & Inference

  • llm - a Rust library for running inference from a number of supported LLMs, loads ggml based models
  • llm-chain - chaining LLMs in Rust
  • smartgpt (how it works)- use LLMs with the ability to complete complex tasks using plugins
  • diffusers - Stable Diffusion using Rust, 45% faster than Pytorch
  • postgresml - an amazing Postgres extension to do model fetching, inference all with SQL as part of your Postgres instance

Projects

  • aichat - a pure Rust CLI implementing AI chat, with advanced features such as real-time streaming, text highlighting and more

  • browser-agent - a headless browser driven by GPT-4. Sends off a simplified page representation and receives & executes instructions from GPT using a custom message format

How it works? here's a prompt snippet:

You must respond with ONLY one of the following commands AND NOTHING ELSE:
    - CLICK X - click on a given element. You can only click on links, buttons, and inputs!
    - TYPE X \"TEXT\" - type the specified text into the input with id X and press ENTER
    - ANSWER \"TEXT\" - Respond to the user with the specified text once you have completed the objective

Core Libraries

  • tiktoken - tiktoken is a Python library with a Rust core implementing a fast BPE tokeniser for use with OpenAI's models

    • BPE is done in Rust
    • Made by OpenAI
  • tiktoken-rs - a Rust focused library based on the tiktoken core with additional enhancements for use in Rust code. (Pyton parts in tiktoken done in pure Rust)

// Rust
use tiktoken_rs::p50k_base;

let bpe = p50k_base().unwrap();
let tokens = bpe.encode_with_special_tokens(
  "This is a sentence   with spaces"
);
println!("Token count: {}", tokens.len());
  • polars - a faster, pure Rust pandas alternative

  • rllama - a pure Rust implemenation of LLaMa inference. Great for embedding into other apps or wrapping for a scripting language.

  • OpenAI API - a strongly typed Rust client for the OpenAI API

Tools

  • spider - crawler / spider written in Rust for when you need a whole-website dump. Unlike Scrapy, focuses on dumping data but the post-processing is done later.

Services

  • motorhead - a memory and information retrieval server for LLMs.

  • dust - a full service for workflow running with composable blocks. Core is in Rust, various frontends in Typescript.

About

🦀 A curated list of Rust tools, libraries, and frameworks for working with LLMs, GPT, AI

Topics

Resources

Stars

Watchers

Forks