Puedes encontrar el código en este repositorio de GitHub:
https://github.com/amirarsalan90/personal_llm_assistant
Los componentes principales de la aplicación incluyen:
Llama-cpp-python es un enlace de Python para el gran llama.cpp, que implementa muchos modelos de lenguaje grandes en C/C++. Debido a su amplia adopción por parte de la comunidad de código abierto, decidí usarlo en este tutorial.
Nota: Probé esta aplicación en un sistema con gpu Nvidia RTX4090.
Lo primero es lo primero, creemos un nuevo entorno conda:
conda create --name assistant python=3.10
conda activate assistant
A continuación necesitamos instalar llama-cpp-python. Como se menciona en llama-cpp-python Descripciones, llama.cpp admite varios backends de aceleración de hardware para acelerar la inferencia. Para aprovechar la GPU y ejecutar el LLM en la GPU, crearemos el programa con CUBLAS. Tuve algunos problemas para descargar el modelo en la GPU y finalmente encontré esta publicación sobre cómo instalar correctamente:
export CMAKE_ARGS="-DLLAMA_CUBLAS=on"
export FORCE_CMAKE=1
pip install --upgrade --force-reinstall llama-cpp-python --no-cache-dir
pip install llama-cpp-python[server]