sweepai-dev / LlamaIndexTS

LlamaIndex is a data framework for your LLM applications
https://ts.llamaindex.ai/
MIT License
0 stars 0 forks source link

Sweep: Can we have supabase vector store ✨ #1

Open kevinlu1248 opened 1 year ago

sweep-ai[bot] commented 1 year ago

Here's the PR! https://github.com/sweepai-dev/LlamaIndexTS/pull/3.

💎 Sweep Pro: I used GPT-4 to create this ticket. You have 1037 GPT-4 tickets left.


Step 1: 🔍 Code Search

I found the following snippets in your repository. I will now analyze these snippets and come up with a plan.

Some code snippets I looked at (click to expand). If some file is missing from here, you can mention the path in the ticket description. https://github.com/sweepai-dev/LlamaIndexTS/blob/fe3b1f4f50ab5837a0ce2d85ebb2771170a25671/packages/core/src/storage/vectorStore/types.ts#L1-L68 https://github.com/sweepai-dev/LlamaIndexTS/blob/fe3b1f4f50ab5837a0ce2d85ebb2771170a25671/packages/core/src/storage/vectorStore/SimpleVectorStore.ts#L1-L202 https://github.com/sweepai-dev/LlamaIndexTS/blob/fe3b1f4f50ab5837a0ce2d85ebb2771170a25671/apps/docs/docs/api/classes/VectorStoreIndex.md#L1-L71 https://github.com/sweepai-dev/LlamaIndexTS/blob/fe3b1f4f50ab5837a0ce2d85ebb2771170a25671/packages/core/src/indices/vectorStore/VectorStoreIndex.ts#L1-L119 https://github.com/sweepai-dev/LlamaIndexTS/blob/fe3b1f4f50ab5837a0ce2d85ebb2771170a25671/apps/docs/docs/api/modules.md#L363-L489

Step 2: 🧐 Snippet Analysis

From looking through the relevant snippets, I decided to make the following modifications:

File Path Proposed Changes
packages/core/src/storage/vectorStore/SupabaseVectorStore.ts Create a new file for the SupabaseVectorStore class. This class should implement the VectorStore interface and use Supabase's client to interact with a Supabase database. Implement the add, delete, query, and persist methods using Supabase's API.
packages/core/src/indices/vectorStore/VectorStoreIndex.ts Modify the init method to accept an instance of SupabaseVectorStore and use it as the vectorStore. This might involve adding a new parameter to the init method or modifying the VectorIndexOptions interface to include a vectorStore property that can be an instance of SupabaseVectorStore.

Step 3: 📝 Planning

I have created a plan for writing the pull request. I am now working my plan and coding the required changes to address this issue. Here is the planned pull request:

Add SupabaseVectorStore class for vector storage sweep/feature/supabase-vector-store

Description

This PR adds a new class SupabaseVectorStore that implements the VectorStore interface. The SupabaseVectorStore class uses Supabase's client to interact with a Supabase database for storing and retrieving vector embeddings. The methods add, delete, query, and persist are implemented using Supabase's API.

Summary of Changes

  • Added SupabaseVectorStore class in packages/core/src/storage/vectorStore/SupabaseVectorStore.ts
  • Implemented add, delete, query, and persist methods in SupabaseVectorStore using Supabase's API
  • Updated VectorStoreIndex class in packages/core/src/indices/vectorStore/VectorStoreIndex.ts to use SupabaseVectorStore as the vectorStore
  • Modified the init method in VectorStoreIndex to accept an instance of SupabaseVectorStore as the vectorStore
  • Added necessary imports and dependencies for Supabase integration

This PR addresses issue #1.


Step 4: ⌨️ Coding

I have finished coding the issue. I am now reviewing it for completeness.


Step 5: 🔁 Code Review

Success! 🚀


I'm a bot that handles simple bugs and feature requests but I might make mistakes. Please be kind! Join Our Discord