Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Load the data
    1. Load the data from websites, GitHub Repo, or maybe search for answers on Google and use the results as verbs.
  2. Data processing
    1. Like Text tokenization
  3. Create embeddings
    1. Using any embedding algorithm provided by HuggingFace or OpenAI, however, choosing the algorithm is critical in terms of time because the process of creating embeddings takes a lot of time.
  4. Create a vector database
    1. Using a cloud vector database to keep the history of the chat and also keep any data we got from the previous search process. We may use Qdrant to achieve this goal or deploy any vector database like chromaDB, Pgvector, or Faiss.
  5. Create LLM
    1. I want to talk about this point specifically because it’s critical, we want to use LLM cheap, efficient, and fast.
    2. The response of LLM doesn’t only depend on the model implementation itself but also on the way we run it.
    3. So, we may choose any open-source model from Hugging Face. But what difference can we make?
    4. The answer is using LPU or to be more precise we will use Groq. Groq is a free API that provides us with free fast LLMs like llama-2. The speed of Groq is 500 tokens/second which is so much faster than gpt-3.5 and Gemini. To be clear Groq isn’t an LLM but it’s a way we can use our LLM fast.
  6. Create back-end APIs
    1. I recommend using Python frameworks like Django to build our back-end and endpoints because the part that deals with LLM and gets its response will be implemented in Python so to make the interface between them easy it’s a good idea to build the back-end using Python.
  7. Create front-end
    1. There is no doubt that React is a great front-end framework in terms of performance.
    2. I think the website has the following features:
      1. Create an account: Sign in/ Sign-up
      2. Chat with LLM
      3. Show search history
      4. Clear History
      5. Continue as a guest (without memory)
  8. Integrate the front end with the back end
  9. Deploy the website

Suggestions

  • Instead of using React to build the website, we can use Flutter to take our service to the next level to have a single code base and our application will work on mobile phones (android or IOS), websites, and desktops.

Learning Progress 

  1. Natural Language Processing (NLP) course.
  2. Studying more about the Langchain framework
  3. Study React.js and Nest.js
  4. Creating UI/UX for the website.