Spaces:
Build error
Build error
| 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." | |