मेरे current chatbot में एक upgrade
मैंने अपने chatbot Sydney को Weaviate के hybrid search और query structuring test करने के लिए upgrade किया — features जो मुझे 500+ companies में अपने financial chatbot को scale करने के लिए चाहिए।
Update (2026): इस Weaviate experiment के बाद से Sydney काफी आगे आ गई है। FAISS, Weaviate और अन्य test करने के बाद, production version के लिए Supabase pgvector पर settle किया। Sydney अब streaming responses और tool use के साथ Claude पर चलती है।
मई 2024 की original post नीचे context के लिए preserved है।
जैसा कि मेरी latest post में बताया, मैं एक self-evaluating Financial Chatbot पर काम कर रहा हूँ। तो current chatbot Sydney को update करने का detour क्यों? खैर, कुछ कारण हैं:
- Weaviate vector store को end to end test करना:
- मैं financial chatbot के लिए main vector store के रूप में Weaviate use करने की कोशिश कर रहा हूँ लेकिन scaling/memory size की issue आ रही है। Specifically, सिर्फ लगभग 20 companies के लिए पिछले 10 साल के 10K और 10Q filings के साथ, weaviate collection की size पहले से ही 2GB है। इसलिए current approach के साथ, पूरे S&P 500 companies का मतलब होगा लगभग 50+ GB का collection। यह बहुत बड़ा है और run/maintain करने में बहुत पैसे लगेंगे। इसलिए मैं अलग-अलग Product Quantization (PQ) parameters test करने की कोशिश कर रहा हूँ।
- कई अन्य vector stores try करने के बाद, मैं Weaviate की ओर lean कर रहा हूँ क्योंकि यह fast speeds पर metadata filters के साथ hybrid search करने में सक्षम है।
- Weaviate Cloud या AWS/Google Cloud का उपयोग करके production environment में Weaviate deploy करना कितना मुश्किल होगा? इसकी cost कितनी होगी?
- इन सवालों की वजह से, मैंने current chatbot Sydney के लिए Weaviate deploy करने का decide किया।
- Query translation और query structuring implement करना:
- Query translation के साथ, लक्ष्य input को specific sub-problems या sub-questions के एक set में break down करना है जिन्हें isolation में answer किया जा सके।
- Query structuring के साथ: मैं not only hybrid search के लिए suitable search term/phrases generate करने की बल्कि filtering के लिए suitable metadata generate करने की भी परवाह करता हूँ।
मुझे खुशी है कि आप Sydney को अब try कर सकते हैं। इसमें उपरोक्त सभी functionalities हैं। आप नीचे जैसे questions try कर सकते हैं और chatbot relevant answers return करना चाहिए:
- Chandler ने 2020 में Kevin Rudd के बारे में क्या लिखा?
- मुझे 2020 से अब तक Chandler ने Ray Dalio के बारे में जो लिखा वो सब बताओ
- Chandler ने 2022 में Health Savings Accounts के बारे में क्या लिखा?
- 2015 में Chandler ने क्या किया?
अभी के लिए बस इतना है। मुझे financial chatbot पर काम करने वापस जाना है :P
क्या आपने Weaviate या metadata filters के साथ hybrid search के साथ experiment किया है? मुझे बताएं कि आपके लिए क्या काम किया।
शुभकामनाओं सहित, Chandler
Update Sep 2024
Sydney अब एक multi-talented agent है जो capable है:
- Current S&P 500 companies के बारे में questions का जवाब देने में, जिसमें उन्होंने पिछले 10 सालों में SEC को क्या submit किया।
- मेरे 15 साल के blog content से insights provide करने में।
इसे यहाँ check करें।
P.S: नीचे query translation और query structuring के लिए मैं जो prompt use कर रहा हूँ उसके examples हैं।
"You are a helpful assistant that generates multiple sub-questions related to an input question. "
"The current year is 2024."
"The goal is to break down the input into a set of specific sub-problems / sub-questions that can be answered in isolation. "
"Each specific sub-question will be used to retrieve relevant content from a vector store, using similarity search with score. "
"Original question: \{query\}\n\n"
"Generate the minimum number of sub-questions necessary to answer the original question. "
"Your response should be formatted as a JSON array of strings."
P.P.S: मुझे पता है कि front end अभी भी बहुत slow है इसलिए मुझे शायद front end development के बारे में ज़्यादा सीखना होगा।





