Este proyecto proporciona un sistema para realizar una búsqueda basada en el contexto en todos los documentos almacenados en una base de datos vectorial. Utilizando los modelos de incrustación y el croma de OpenAI, esta herramienta le permite buscar eficientemente a través de una colección de documentos de texto y recuperar los resultados más relevantes basados en una consulta dada.
Python 3.7 o superior
Clave de API de OpenAI
Instale los paquetes requeridos ejecutando:
pip install -r requirements.txtgit clone https://github.com/your-username/contextual-documents-search.git cd contextual-documents-searchpython -m venv venv
source venv/bin/activate # On Windows: venvScriptsactivatepip install -r requirements.txtOPENAI_API_KEY = your_openai_api_key Prepare un directorio de los archivos .txt que desea buscar y colóquelos en la carpeta ./resumes o especifique un directorio diferente en el código.
En su script principal, instanciar la clase VectorDBHandler y llamar load_or_create_db() para inicializar la tienda Vector.
from dotenv import load_dotenv
from vector_db_handler import VectorDBHandler
# Load environment variables
load_dotenv ()
# Set up directory paths and collection name
files_directory = "./resumes"
persist_directory = "./vector_db"
collection_name = "resumes_collection"
# Initialize the vector database handler
vector_db_handler = VectorDBHandler ( files_directory , persist_directory , collection_name )
# Load or create the vector store database
vector_db_handler . load_or_create_db ()
# Define the query for the search
query = "I am looking for a software engineer with OpenAI hard skill."
docs = vector_db_handler . query_vector_store ( query )
# Output the top result
if docs :
print ( "Top matching document:" )
print ( docs [ 0 ]. page_content )
else :
print ( "No matching documents found." )