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."