hunk.code_window: name: Check PR title
   on:
     pull_request:
       types:
  
hunk.labels: replace keep keep keep
hunk.after_edit: name: Check PR title conventional commit
  
hunk.file_path: .github/workflows/conventional-pr-title.yml
hunk.type: replace
file: from typing import Any, List
  
  from langchain.docstore.document import Document
  from langchain.embeddings.openai import OpenAIEmbeddings
  from langchain.vectorstores import SupabaseVectorStore
  from supabase.client import Client
  
  
  class CustomSupabaseVectorStore(SupabaseVectorStore):
      """A custom vector store that uses the match_vectors table instead of the vectors table."""
  
      brain_id: str = "none"
  
      def __init__(
          self,
          client: Client,
          embedding: OpenAIEmbeddings,
          table_name: str,
          brain_id: str = "none",
      ):
          super().__init__(client, embedding, table_name)
          self.brain_id = brain_id
  
      def similarity_search(
          self,
          query: str,
          table: str = "match_vectors",
          k: int = 6,
          threshold: float = 0.5,
          **kwargs: Any
      ) -> List[Document]:
          vectors = self._embedding.embed_documents([query])
          query_embedding = vectors[0]
          res = self._client.rpc(
              table,
              {
                  "query_embedding": query_embedding,
                  "match_count": k,
                  "p_brain_id": str(self.brain_id),
              },
          ).execute()
  
          match_result = [
              (
                  Document(
                      metadata=search.get("metadata", {}),  # type: ignore
                      page_content=search.get("content", ""),
                  ),
                  search.get("similarity", 0.0),
              )
              for search in res.data
              if search.get("content")
          ]
  
          documents = [doc for doc, _ in match_result]
  
          return documents
  