...
For example, I had a three-month internship at VNCR where I was working on a Blog Writer website which was a website that takes input from the user and then creates a prompt that will be given to LLM to generate the blog for the user based on the user preferences like topic, number of words, and sources to collect the information from.
Project Summary and Proposed
...
Plan
We can break down the problem into multiple stages:
- Load the data
- Load the data from websites, GitHub Repo, or maybe search for answers on Google and use the results as verbs.
- Data processing
- Like Text tokenization
- Create embeddings
- 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.
- Create a vector database
- 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.
- Create LLM
- I want to talk about this point specifically because it’s critical, we want to use LLM cheap, efficient, and fast.
- The response of LLM doesn’t only depend on the model implementation itself but also on the way we run it.
- So, we may choose any open-source model from Hugging Face. But what difference can we make?
- 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.
- Create back-end APIs
- 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.
- Create front-end
- There is no doubt that React is a great front-end framework in terms of performance.
- I think the website has the following features:
- Create an account: Sign in/ Sign-up
- Chat with LLM
- Show search history
- Clear History
- Continue as a guest (without memory)
- Integrate the front end with the back end
- Deploy the website
...