Tinkering, Innovation, and Automation: The raggity.ai Story : Part 2
Recap
Last year, while studying machine learning, I had an idea for a product that could save me hours of work each week and ensure a smooth experience for every customer I engaged with. Armed with both validation for the idea and my newfound technical skills, I dove right into building the solution.
The Systems Behind the Solution
To bring my vision to life, I built a few interconnected systems:
In this installment, I’ll focus on ParsePoint—specifically, how it leverages vector databases and an effective chunking strategy to process and store data.
ParsePoint: Harnessing the Power of Vector Databases
As I mentioned in part 1, vector databases are revolutionary because they store data as numerical representations rather than relying on manual tagging. Let’s break down the fundamentals:
Data as Vectors
In summary, a vector database is like a sophisticated map that transforms data into numerical coordinates. This transformation allows the system to quantify similarity and makes searches both faster and more accurate.
The Challenge of Data Chunking
Simply sending all raw data to the vector database isn’t enough. If we break the data into individual words or sentences, we risk losing the context and nuance essential for meaningful retrieval. That’s where a well-thought-out chunking strategy comes into play.
领英推荐
Chunking Strategies Explored
Here are some common approaches:
After weighing the pros and cons—and considering that my focus was on technical documentation—I opted for a combination of Semantic-Based Chunking with overlapping. I also ensured that each document’s defining characteristics (such as tags for blog posts, walk-throughs, or troubleshooting guides) were captured. This approach allowed me to score and rank documents based on query relevance and provided the agent with context on what to prioritize.
The Importance of Document Quality
One critical insight from my testing was that no matter how clever the chunking strategy, the quality of the original documentation is paramount. Poorly organized or written docs simply can’t be salvaged by any chunking technique.? Which makes sense, since the intended audience is humans which would need a way to navigate them.? Could you imagine pulling up technical docs and it was a single 100 page doc with no headers or any defining breaks? Nightmare?
Performance Optimizations and Technical Architecture
From an architectural standpoint, parallelization was key. In my early experiments, processing 50MB of text and 70,000 vector records took over 5 minutes. With optimizations, I reduced that time to just 15 seconds while producing 36,000 high-quality records. This not only streamlined onboarding for new data sources but also made the system far more responsive.
For the vector database, I chose Pinecone because of its ease of use—thanks to their Python SDK and serverless offerings. I found Pinecone to be fast, reliable, and approachable.?
There are many vector database options available today, and I believe that speed and transparency in understanding application impacts will be key factors in determining the winner.
Looking Ahead
This integrated approach lays a strong foundation for further innovation. As each component evolves, the entire system becomes more adaptive, potentially incorporating real-time analytics, automated follow-ups, or even predictive insights to enhance the overall experience. The synergy between ParsePoint, SpiceRag, and SideKick not only streamlines the current workflow but also opens up exciting possibilities for future development.
What’s Next?
Now that we have tens of thousands of processed records in our vector database, the next question is: What do we do with them? In the upcoming installment, I’ll dive into SpiceRag—the agentic RAG system that leverages these records to power the entire operation. Stay tuned as we explore how SpiceRag transforms raw data into actionable insights.