Build A Full Stack Chatbot in Rust (feat. Leptos & Rustformers)

preview_player
Показать описание
A walkthrough of building a ChatGPT clone using Rust on the frontend and the backend. Quick introduction to the Leptos framework, Rustformers/llm, and open source language models.

Keyboards

Рекомендации по теме
Комментарии
Автор

PSA Since this video was made, the Rustformers crate, which is used for interacting with language models, has been archived. You can still use Rustformers if you'd like to follow along directly with the video, but I'd recommend using an alternative if you can. Here are some alternative crates to consider, in roughly in ascending order by level of ML knowledge required by the consuming developer:

codetothemoon
Автор

It's so cool you use Rust on backend and frontend the same time! Would be great to see more videos on using Rust to build full stack! And the bot itself is super fun!

hazadus
Автор

Super interesting video! I love watching someone go trough a project small-ish but complete project. Would love to see more videos like this in future!

yellowant
Автор

Rusty Bros... Get ready for another great ride

vikaspoddar
Автор

Your videos are some of the most timely, spot-on code tutorials available. It is as if I get an idea to do a project, and out of nowhere, you post a video showing me just exactly how to approach it. Really amazing stuff you produce.

rosslovell
Автор

Trpc i think gives you the same functionality in JavaScript land for not having to write fetches manually and just calling a function name.

isaactorres
Автор

15:10 that pattern reminds me of how tRPC works while using Typescript

simp-
Автор

Just too nice, two things I wanted to have a look at united:
a Leptos example and
how to access G. Gerganov's language models in Rust.
So, thanks a lot! 🦀👍

TobiasFrei
Автор

Great video! I typically use these videos as reference when I'm building in Rust. Adding timestamps would be a 10x improvement for me!

emnul
Автор

Absolutely love Leptos! Completely game changing for web development, and along with Tailwind makes webdev fun again! ^^

mibdev
Автор

this is the most disgustingly insane thing I've seen in a while. I will be trying trying both the llm integration and the all rust NoJS stack immediately

wesleychaffin
Автор

The pattern you mentioned at 15:10 or so is very similar to the way things are done in PHP land via a package for the Laravel framework called Livewire. Essentially, two parts: A Livewire PHP component class, and a Blade (html templating engine) file that references it. So you might have

class MyComponent extends Livewire {
public string $someValue = "Test";

public function save() {
// Do saving stuff here
}
}

and then your HTML can just do stuff like
<input wire:model="someValue">

and

<button wire:click="save">

and you never have to write any of the transport logic.

gunstorm
Автор

Could you please also teach how to host/deploy this project on a live server? Thanks

Anipy-vucc
Автор

Thanks for this! You always bring out quality content.

darksideishere
Автор

Great stuff!
But `unwrap_or_else(|err| panic!(...))` looks a bit silly to me, considering the behavior of unwrap is to panic with the error message (and expect(...) to panic with a custom error message).

Kazyek
Автор

That was the rustiest video I've seen in a while! Thank you! Keep up the good work. Really like the content and presentation. Also a bit of offtopic. I've noticed that you've switched from neovim to doom emacs several months ago. Maybe you can share your experience? I'd be very interested.

northicewind
Автор

Cool to see Doom Emacs! The Monokai themes are nice but I prefer the default Doom One theme.

pixelstriko
Автор

Would be cool, if the LLM itself is streaming, to use a streaming HTTP call, updating the bot's message every time the client receives a chunk of the message. This is also what ChatGPT does–it's not just fancy effects! That way you could even halt the response while it's still running mid sentence as well.

dealloc
Автор

holy, spent like 3 hours trying to figure out why mine didnt compile. turns out future_utils is not futures_util. *eye roll* there should be a law about naming your libraries too close to another. lol

Bakobiibizo
Автор

This is awesome. Can you release some content on how you got to the level of rust you are today? What projects do you think could elevate a novice??

Blavion