Este proyecto implementa un sistema de consulta de documentos con AI utilizando los modelos de lenguaje Langchain, ChromAdB y OpenAI. Permite a los usuarios crear una base de datos de búsqueda a partir de documentos de Markdown y consultarla usando el lenguaje natural.

requirements.txt python -m venv .venv
source .venv/bin/activate # On Windows, use `.venvScriptsactivate`
pip install -r requirements.txt
.env : OPENAI_API_KEY=your_api_key_here
Siga estos pasos para configurar rápidamente y usar el motor de consulta VectordB-LLM basado en RAG:
Cree una base de datos a partir de sus documentos de Markdown:
python create_database.py --data_folder data/go-docs --chroma_db_path chroma_go_docs/
Este comando procesará los archivos de Markdown en el directorio de datos/ GO-Docs y creará una base de datos vectorial en la carpeta chroma_go_docs/.
Consulte la base de datos con una pregunta del lenguaje natural:
python query_data.py --query_text "Explain goroutines in go in a sentence" --chroma_db_path chroma_go_docs/ --prompt_model gpt-3.5-turbo
Ver la respuesta generada por IA:
Goroutines are lightweight, concurrent functions or methods in Go that run independently, managed by the Go runtime, allowing for efficient parallel execution and easy implementation of concurrent programming patterns.
Para obtener instrucciones de uso más detalladas, consulte las siguientes secciones:
Crea la base de datos
python create_database.py --data_folder path/to/your/markdown/files --chroma_db_path path/to/save/database
Consulta la base de datos
python query_data.py --query_text "Your question here" --chroma_db_path path/to/database --prompt_model gpt-3.5-turbo
create_database.py : script de creación de bases de datosquery_data.py : script de consulta de bases de datosestimate_cost.py : módulo de estimación de costosget_token_count.py : utilidad de conteo de tokensdata/ : Directorio de documentos de Markdownchroma/ : almacenamiento de la base de datos de ChromadB (gitignored) text-embedding-3-small para incrustaciones y gpt-3.5-turbo para respuestas de forma predeterminadadata/ o especifique una ruta personalizadachroma/ (Gitignored) Este proyecto tiene licencia bajo los términos de la licencia MIT. Para obtener más información, consulte el archivo de licencia.
Para preguntas o problemas, abra un problema en el repositorio de GitHub.