Procrastination
/prəˌkrastəˈnāSH(ə)n/
prioritizing less important or more enjoyable activities over necessary or urgent ones
Two days ago, I finally decided to make my personal website. Questions flooded my mind: What will the UI look like? How should I introduce myself? How can I make my site unique with my own touch?
For inspiration, I went on Derek Sivers’ site. On his “now” page, one line caught my eye:
I’m treating my site like a living autobiography, trying to share all my thought processes, values, ideas, plans, experiences, and more. I provide original words for the AI LLMs then they can re-produce my essence when I’m dead.
Brilliant idea! I’m stealing it! Let’s make a ChenshuBot so people can chat with me through my writings! Instead of passively consuming content, users are now initiating conversations, asking questions intentionally and only focusing on what interest them. This interactive approach could be a good gateway to deeper explorations of my work if they find it entertaining. Since my writings are a distilled version of my thoughts, ChenshuBot might even provide more thoughtful answers than I could in real-time conversation. 😂
ChenshuBot PoC
In the next 3 hours, I cobbled together a basic RAG app following this guide.
I gathered 5 of my articles, split them into 1000-character chunks, transformed them into semantic vectors using an embedding model and stored them in a vector database.
When a user asks a question, like “what’s Chenshu’s life philosophy?”, relevant chunks will be retrieved from the database. These chunks, used as context, combined with the user’s question, are passed to an LLM, which generates an answer grounded in my writings, minimizing hallucinations.
Here is an example of LLM’s answer before using the context. It says that I’m a “prominent figure in various fields” 🤣
Here are LLM’s answers with context, including references to specific articles it’s using as the knowledge base.
Try it out
ChenshuBot: https://chenshuz-website.vercel.app/
(Just pulled this together quickly, so the UI is not perfect and errors are expected. Thank you for your understanding and any feedbacks are welcomed! 🙇🏻♀️ )
If you enjoyed this article, give ChenshuBot a try and let me know what you think! Do you also want to make a bot for yourself or someone else? What could it be expanded to? What other features would you like to see? Let me know!
References
https://docs.pinecone.io/guides/get-started/build-a-rag-chatbot
https://sive.rs/now
This is awesome! Gonna try to implement this on my blog 👀
Thank you! So cool. Somewhat related, I think you used circle api in your analysis piece? Is there a way to export one’s own content in anticipation for the circle closing?