Progress Update: Context Pilot (Revamping)

I’ve had many iterations on this project that I’m going to talk about today, over the last 1.5-2 years. There are good and bad things about it. Good is that I’m persisting with completing it one day, bad is that I’ve not done it yet. In this blog, I’ll quickly touch upon why it has taken so much time and what’s happening behind the scenes. About the project: For a piece of code, this project is going to help you with questions like: ...

March 23, 2025 · 4 min · Kushashwa Ravi Shrimali

Building a ChatBot from your Documentation Website | DocsGPT

Hi everyone! Been a long time, thought I should talk about an ongoing project I’m working on. Introduction - What are we trying to do here? Lemme start with some context and disclaimer first: This was a part of an interview process in one of the amazing startups, and I wanted to extend it to an end-to-end project (kinda out of scope from the requirement of that interview process). I won’t be naming the startup here to help keep them anonymous and candid for their future candidates. ...

February 26, 2024 · 6 min · Kushashwa Ravi Shrimali

Data Scrapping for ChatBot Model in Rust | DocsGPT | Part-2

Alright everyone, we are back. Just FYI, we’ve had a blog on introduction to DocsGPT before: https://krshrimali.github.io/posts/2024/02/building-a-chatbot-from-your-documentation-website-docsgpt/. This is a follow up blog where we’ll discuss data scraping and preprocessing to be able to finetune our model for ChatBot use-case. Quick recap? Input is going to be a single link to documentation page (index page). Need to fetch data for “all the internal pages”. Preprocess (and/or clean) and transform the data to be able to finetune the model. Finetune the model and use it for ChatBot use-case. In this blog, we’ll be covering the first two above, and the rest will be covered in the next blog(s). ...

February 26, 2024 · 6 min · Kushashwa Ravi Shrimali

I started building an app using Rust and here is how it went...

Hi everyone!! I’ve an update, on what I’ve been up to - and I’m excited. It’s a rusty update 😉. As always, I would love to tell you a story (this will help set some context), but if you want to skip and go directly to the update, please scroll to: # THE Update section. The Story I’ve been through, possibly, the best and the worst time of my life. I use these contrasting words because everything went wrong - and that’s where you get an opportunity to shine. I think I fairly enjoyed resisting the pain and fighting through the odds, hopefully you’ll learn about it very soon on my blog (just need the courage to say it out loud :)). ...

December 12, 2022 · 10 min · Kushashwa Ravi Shrimali

Common Collections (Vector and Strings) in Rust [Notes]

Chapter 8: Common Collections These are my notes from the chapter-8 of rust book. Please scroll down to the bottom (Note) section if you are curious about what this is. 8.1: Storing Lists of Values with Vectors Vec<T> collection type discussed, aka vector: * By default contiguous. * All values should be of same type. // Creation let v: Vec<i32> = Vec::new(); // vec! macro for convenience // default integer type is i32 let v = vec![1, 2, 3]; // Modifying let mut v = Vec::new(); // Rust infers the type from the elements pushed here v.push(5); v.push(6); // ... // Dropping // a vector is freed, when it goes out of scope { let v = vec![1, 2, 3, 4]; // ... } // <-- v goes out of scope here, and hence memory is freed as well // Reading Elements of Vectors let v = vec![1, 2, 3, 4, 5]; // First way: let third: &i32 = &v[2]; println!("The third element is: {}", third); // Second way: match v.get(2) { Some(num) => println!("The third element is: {}", num), None => println!("There is no third element."), } .get(&index) method allows you to handle out of range errors. ...

January 9, 2022 · 8 min · Kushashwa Ravi Shrimali

Common Collections (Vector and Strings) in Rust [Notes]

Chapter 8: Common Collections (Hash Maps) In the previous blog, I shared my notes on strings and vectors in Rust, and in this post we’ll cover Hash Maps. I personally have found their use in competitive programming, a lot, but hopefully as we move on, we’ll see lots of use-cases in real-life problems. Hash Maps Hash Maps: HashMap<K, V> You can’t access using indices, but through keys. Hash Maps store data on heap. Hash Maps are homogenous (all keys must have same type, and all values must have same type). Use std::collections::HashMap to bring HashMap to scope. Creating a New Hash Map ...

January 9, 2022 · 5 min · Kushashwa Ravi Shrimali