Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Open-source ETL framework to sync data from SaaS tools to vector stores (github.com/ai-sidekick)
63 points by jasonwcfan on March 30, 2023 | hide | past | favorite | 8 comments
Hey hacker news, we launched a few weeks ago as a GPT-powered chatbot for developer docs, and quickly realized that the value of what we’re doing isn’t the chatbot itself. Rather, it’s the time we save developers by automating the extraction of data from their SaaS tools (Github, Zendesk, Salesforce, etc) and helping transform it to contextually relevant chunks that fit into GPT’s context window.

A lot of companies are building prototypes with GPT right now and they’re all using some combination of Langchain/Llama Index + Weaviate/Pinecone + GPT3.5/GPT4 as their stack for retrieval augmented generation (RAG). This works great for prototypes, but what we learned was that as you scale your RAG app to more users and ingest more sources of content, it becomes a real pain to manage your data pipelines.

For example, if you want to ingest your developer docs, process it into chunks of <500 tokens, and add those chunks to a vector store, you can build a prototype with Langchain fairly quickly. However, if you want to deploy it to customers like we did for BentoML ([https://www.bentoml.com/](https://www.bentoml.com/)) you’ll quickly realize that a naive chunking method that splits by character/token leads to poor results, and that “delete and re-vectorize everything” when the source docs change doesn’t scale as a data synchronization strategy.

We took the code we used to build chatbots for our early customers and turned it into an open source framework to rapidly build new data Connectors and Chunkers. This way developers can use community built Connectors and Chunkers to start running vector searches on data from any source in a matter of minutes, or write their own in a matter of hours.

Here’s a video demo: [https://youtu.be/I2V3Cu8L6wk](https://youtu.be/I2V3Cu8L6wk)

The repo has instructions on how to get started and set up API endpoints to load, chunk, and vectorize data quickly. Right now it only works with websites and Github repos, but we’ll be adding Zendesk, Google Drive, and Confluence integrations soon too.



Cool project! It's not clear to me in the code from where you are getting embeddings. Are all your embeddings coming from OpenAI? If so, that sounds expensive for personal use.


You can use any embeddings you want! We normally use OpenAI's ada which is $4 per 10 million tokens, which is fine for now. But eventually we'll need to figure out a way to incrementally sync data from SaaS tools instead of re-vectorizing all the content when the vector store needs to be updated.


+1, here's the line in the codebase: https://github.com/ai-sidekick/sidekick/blob/main/sidekick-s...

We'll also add support for huggingface embeddings like MPNET and SBERT in the future!


Looks really interesting! Are you looking for more vector search integrations? we have one here https://github.com/marqo-ai/marqo which includes a lot of the transformation logic (including inference). If so, we can do a PR


Love the BAYC demo! One of the first companies we signed was actually OpenSea :)


Is Marqo a vector database? If so that sounds great, feel free to put up a PR!


search engine. it has all the embedding operations (text and images) and optimized inference. lots of other options like multi-modal queries (including negative queries) and multi-modal representations for documents.


Nice, quite a feature set. Add a PR and ping us on slack, we'll merge it in




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: