final_project / vector_db.py
hiluf's picture
done
1d89d60
Raw
History Blame Contribute Delete
1.16 kB
import os
from langchain_huggingface import HuggingFaceEmbeddings
from langchain_community.vectorstores import SupabaseVectorStore
from langchain.tools.retriever import create_retriever_tool
from supabase.client import Client, create_client
from langchain_core.documents import Document
from dotenv import load_dotenv
load_dotenv()
embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-mpnet-base-v2")
supabase_client: Client = create_client(
supabase_url=os.getenv("supabase_url"), supabase_key=os.getenv("supabase_key")
)
vector_db = SupabaseVectorStore(
client=supabase_client,
embedding=embeddings,
table_name="history",
query_name="get_recent_question",
)
retriever_tool = create_retriever_tool(
retriever=vector_db.as_retriever(),
name="Question Search",
description=(
"A tool that retrieves similar questions and answers from a vector database. "
"Use this to find contextually relevant information based on user queries."
),
)
def add_recent_question(content: str) -> str:
vector_db.add_documents([Document(page_content=content)])
return "Question added successfully."