Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add New VectorDB Supabase (pgvector) Support for RAG in Vocode Open Source #465

Open
arpagon opened this issue Dec 18, 2023 · 3 comments
Open
Labels

Comments

@arpagon
Copy link
Collaborator

arpagon commented Dec 18, 2023

Issue: Add New VectorDB Supabase (pgvector) Support for RAG in Vocode Open Source

Description

This issue proposes the integration of Supabase (pgvector) as a new Vector Database (VectorDB) option for the Retrieval-Augmented Generation (RAG) feature in the Vocode Open Source project. The addition of Supabase (pgvector) aims to enhance the capabilities of RAG by leveraging its efficient vector search functionality, especially beneficial for handling large datasets and complex queries in conversational AI applications.

Objectives

  1. Integration of Supabase (pgvector) with Vocode RAG: Establish a seamless connection between Vocode's RAG feature and Supabase (pgvector) to enable efficient vector storage and retrieval.
  2. Optimization for Conversational AI: Ensure that the integration is optimized for conversational AI use cases, focusing on query performance, scalability, and accuracy.
  3. Documentation and Examples: Provide comprehensive documentation and practical examples to guide users in utilizing Supabase (pgvector) with Vocode RAG.

Motivation

https://supabase.com/blog/pgvector-vs-pinecone

  • Enhanced Performance and Scalability: Supabase (pgvector) offers advanced vector search capabilities, which can significantly improve the performance and scalability of RAG in Vocode.
  • Broader Database Compatibility: Adding Supabase (pgvector) support will cater to a wider user base that prefers or requires this specific database technology in their projects.
  • Innovation in Conversational AI: By integrating with Supabase (pgvector), Vocode can push the boundaries of conversational AI, enabling more complex and nuanced dialogues in AI applications.

Implementation Considerations

  • Compatibility: Ensure that the integration is compatible with the existing architecture of Vocode RAG.
  • Performance Metrics: Establish benchmarks to evaluate the performance impact of using Supabase (pgvector) in various scenarios.

Call for Contributions

We encourage contributions from the community to help with the implementation, testing, and documentation of this feature. Whether you're an expert in databases, conversational AI, or a keen open-source contributor, your input is highly valued.

Conclusion

The addition of Supabase (pgvector) as a new VectorDB option in Vocode Open Source is expected to significantly enhance the RAG feature, providing users with more flexibility and performance benefits. We look forward to collaborating with the community on this exciting development.

@rahulbansal16
Copy link

I am working on this issue and according to my research.
There are two ways for building this.

  1. Using the https://github.com/supabase/vecs client for making supabase connection.
  2. or Using sqlalchemy the way langchain has done langchain-ai/langchain/libs/community/langchain_community/vectorstores/pgvector.py

I am planning to go ahead with approach number 1 as it will be easier and faster to implement.
What do you think?

Copy link

github-actions bot commented Mar 7, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Mar 7, 2024
@rjheeta
Copy link
Contributor

rjheeta commented May 22, 2024

Hi @arpagon I have some questions on the Vector DB implementation and maybe it's relevant for this. Note that these questions are not related to PGVector specifically, but the Vocode's vector db implementation as a whole

  1. What is the purpose of including an add_text method? My understanding is the vector DB should already have been built when it's connected to Vocode. That is, Vocode responsibility is simply the retrieval -- adding text should, therefore, not be part of the interface? https://github.com/vocodedev/vocode-python/blob/cfd2eb44308cfe28136b409e22706bd5465b6c46/vocode/streaming/vector_db/pinecone.py#L27

  2. Moreover, Vocode's current implementation of similarity_search_with_score is essentially what langchain already has implemented. So my question is, should Vocode just use langchain directly rather than making it's own implementation?
    https://github.com/vocodedev/vocode-python/blob/cfd2eb44308cfe28136b409e22706bd5465b6c46/vocode/streaming/vector_db/pinecone.py#L71

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants