¿Encarnamind le permite chatear con sus documentos personales? (PDF, TXT) Uso de grandes modelos de lenguaje (LLM) como GPT (descripción general de la arquitectura). Si bien Operai ha lanzado recientemente una API ajustada para los modelos GPT, no permite que los modelos de petróleo base aprendan nuevos datos, y las respuestas pueden ser propensas a alucinaciones objetivas. Utilice nuestro mecanismo de fragmentación de ventanas deslizantes y el conjunto de retriever permite una consulta eficiente de información de grano fino y de grano grueso dentro de sus documentos de verdad de tierra para aumentar los LLM.
¿No dude en usarlo y damos la bienvenida a cualquier comentario y nueva sugerencia de características?
Aquí hay una tabla de comparación de los diferentes modelos que probé, solo como referencia:
Métrica | GPT-4 | GPT-3.5 | Claude 2.0 | Llama2-70b | Llama2-70B-GGUF | LLAMA2-70B-API |
---|---|---|---|---|---|---|
Razonamiento | Alto | Medio | Alto | Medio | Medio | Medio |
Velocidad | Medio | Alto | Medio | Muy bajo | Bajo | Medio |
Gpu ram | N / A | N / A | N / A | Muy alto | Alto | N / A |
Seguridad | Bajo | Bajo | Bajo | Alto | Alto | Bajo |
Chounking fijo : las herramientas tradicionales de trapo se basan en tamaños de fragmentos fijos, limitando su adaptabilidad en el manejo de la complejidad y el contexto de los datos variables.
Precisión versus semántica : los métodos de recuperación actuales generalmente se centran en la comprensión semántica o en la recuperación precisa, pero rara vez ambos.
Limitación de un solo documento : muchas soluciones solo pueden consultar un documento a la vez, restringiendo la recuperación de información de documentos múltiples.
Estabilidad : El Incarnamind es compatible con OpenAi GPT, Anthrope Claude, LLAMA2 y otros LLM de código abierto, lo que garantiza un análisis estable.
Chounking adaptativo : nuestra técnica de fragmentación de ventanas deslizantes ajusta dinámicamente el tamaño y la posición de la ventana para el RAG, equilibrando el acceso a datos de grano fino y de grano grueso en función de la complejidad y el contexto de los datos.
QA conversacional de documentos múltiples : admite consultas simples y de múltiples saltos en múltiples documentos simultáneamente, rompiendo la limitación de un solo documento.
Compatibilidad del archivo : admite formatos de archivo PDF y TXT.
Compatibilidad del modelo LLM : Admite OpenAI GPT, Anthrope Claude, LLAMA2 y otros LLM de código abierto.
La instalación es simple, solo necesita ejecutar pocos comandos.
git clone https://github.com/junruxiong/IncarnaMind
cd IncarnaMind
Crear entorno virtual de conda:
conda create -n IncarnaMind python=3.10
Activar:
conda activate IncarnaMind
Instale todos los requisitos:
pip install -r requirements.txt
Instale LLAMA-CPP SEPERATLY si desea ejecutar LLMS locales cuantizados:
NVIDIA
, use cuBLAS
CMAKE_ARGS= " -DLLAMA_CUBLAS=on " FORCE_CMAKE=1 pip install llama-cpp-python==0.1.83 --no-cache-dir
M1/M2
), use CMAKE_ARGS= " -DLLAMA_METAL=on " FORCE_CMAKE=1 pip install llama-cpp-python==0.1.83 --no-cache-dir
Configurar su una/todas las claves API en el archivo configparser.ini :
[tokens]
OPENAI_API_KEY = (replace_me)
ANTHROPIC_API_KEY = (replace_me)
TOGETHER_API_KEY = (replace_me)
# if you use full Meta-Llama models, you may need Huggingface token to access.
HUGGINGFACE_TOKEN = (replace_me)
(Opcional) Configure sus parámetros personalizados en el archivo configparser.ini :
[parameters]
PARAMETERS 1 = (replace_me)
PARAMETERS 2 = (replace_me)
...
PARAMETERS n = (replace_me)
Coloque todos sus archivos (nombre cada archivo correctamente para maximizar el rendimiento) en el directorio /Data de datos y ejecute el siguiente comando para ingerir todos los datos: (puede eliminar archivos de ejemplo en el directorio /Data antes de ejecutar el comando)
python docs2db.py
Para comenzar la conversación, ejecute un comando como:
python main.py
Espere a que el script requiera su entrada como la siguiente.
Human:
Cuando inicia un chat, el sistema generará automáticamente un archivo incarnamind.log . Si desea editar el registro, editar en el archivo configparser.ini .
[logging]
enabled = True
level = INFO
filename = IncarnaMind.log
format = %(asctime)s [%(levelname)s] %(name)s: %(message)s
Un agradecimiento especial a Langchain, Chroma DB, LocalGPT, Llama-CPP por sus invaluables contribuciones a la comunidad de código abierto. Su trabajo ha sido fundamental para hacer realidad el Proyecto Encarnamind.
Si desea citar nuestro trabajo, utilice la siguiente entrada de Bibtex:
@misc { IncarnaMind2023 ,
author = { Junru Xiong } ,
title = { IncarnaMind } ,
year = { 2023 } ,
publisher = { GitHub } ,
journal = { GitHub Repository } ,
howpublished = { url{https://github.com/junruxiong/IncarnaMind} }
}
Licencia Apache 2.0