Este es el repositorio de códigos para AI generativo con Langchain, primera edición, publicado por Packt.
Ben Auffarth
ChatGPT y los modelos GPT de OpenAI han provocado una revolución no solo en cómo escribimos e investigamos, sino también en cómo podemos procesar la información. Este libro analiza el funcionamiento, las capacidades y las limitaciones de los LLM subyacentes a los sistemas de chat, incluidos ChatGPT y Bard. También demuestra, en una serie de ejemplos prácticos, cómo utilizar el marco Langchain para crear aplicaciones LLM listas y receptivas para la producción para tareas que van desde la atención al cliente hasta la asistencia de desarrollo de software y el análisis de datos, ilustrando la utilidad expansiva de LLM en aplicaciones del mundo real.
Desbloquee todo el potencial de LLMS dentro de sus proyectos a medida que navega a través de la orientación sobre ajuste, ingeniería rápida y las mejores prácticas para la implementación y el monitoreo en entornos de producción. Ya sea que esté creando herramientas de escritura creativa, desarrollando chatbots sofisticados o elaborando ayudas de desarrollo de software de vanguardia, este libro será su hoja de ruta para dominar el poder transformador de la IA generativa con confianza y creatividad.
¡Gracias por elegir "AI generativa con Langchain"! Agradecemos su entusiasmo y comentarios.
Tenga en cuenta que hemos lanzado una versión actualizada del libro. En consecuencia, hay dos ramas diferentes para este repositorio:
Consulte la versión que le interesa o que corresponde a su versión del libro.
Si ya ha comprado una versión de impresión o Kindle actualizada de este libro, puede obtener una versión PDF sin DRM sin costo sin costo. Simplemente haga clic en el enlace para reclamar su PDF gratuito. Librería libre
También proporcionamos un archivo PDF que tiene imágenes en color de las capturas de pantalla/diagramas utilizados en este libro en GraphicBundle
Actualizaciones de código: Nuestro compromiso es proporcionarle ejemplos de código estables y valiosos. Si bien Langchain es conocido por sus actualizaciones frecuentes, entendemos la importancia de alinear nuestro código con los últimos cambios. El repositorio complementario se actualiza regularmente para armonizar con los desarrollos de Langchain.
Espere estabilidad: para la estabilidad y la usabilidad, el repositorio podría no coincidir con cada actualización menor de Langchain. Apuntamos a la consistencia y la confiabilidad para garantizar una experiencia perfecta para nuestros lectores.
Cómo comunicarse con nosotros: ¿Encontrar problemas o tener sugerencias? No dude en abrir un problema, y lo abordaremos rápidamente. Sus comentarios son invaluables, y estamos aquí para apoyarlo en su viaje con Langchain. ¡Gracias por su comprensión y feliz codificación!
Puede interactuar con el autor y otros lectores en el servidor Discord y encontrar las últimas actualizaciones y discusiones en la comunidad en Discord.
En la siguiente tabla, puede encontrar enlaces a los directorios en este repositorio. Cada directorio contiene más enlaces a los scripts de Python y a los cuadernos. También puede ver enlaces a las plataformas informáticas, donde puede ejecutar los cuadernos en el repositorio. Tenga en cuenta que hay otros scripts y proyectos de Python que no son cuadernos, que encontrará en los directorios de capítulos.
| Capítulos | Colab | Kaggle | Gradiente | Laboratorio de estudio |
|---|---|---|---|---|
| Capítulo 1: ¿Qué es la IA generativa? | No hay ejemplos de código | |||
| Capítulo 2: Langchain para aplicaciones LLM | No hay ejemplos de código | |||
| Capítulo 3: Comenzando con Langchain | directorio | |||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| Capítulo 4: Construcción de asistentes con capacidad | directorio | |||
| ||||
| ||||
| ||||
| Capítulo 5: Construir un chatbot como chatgpt | directorio | |||
| ||||
| ||||
| ||||
| ||||
| ||||
| Capítulo 6: Desarrollo de software con IA generativa | directorio | |||
| ||||
| ||||
| ||||
| ||||
| Capítulo 7: LLMS para la ciencia de datos | directorio | |||
| ||||
| Capítulo 8: Personalización de LLM y su salida | directorio | |||
| ||||
| Capítulo 9: IA generativa en producción | directorio | |||
| Capítulo 10: El futuro de los modelos generativos | No hay ejemplos de código |
Este es el repositorio complementario del libro. Aquí hay algunas instrucciones que ayudan a configurar. Por favor, vea también el Capítulo 3.
Todos los capítulos dependen de Python.
| Capítulo | Se requiere software | Enlace al software | Especificaciones de hardware | OS requerido |
|---|---|---|---|---|
| Todos los capítulos | Python 3.11 | https://www.python.org/downloads/ | Debería trabajar en cualquier computadora reciente | Windows, macOS, Linux (cualquiera), macOS, Windows |
Tenga en cuenta que Python 3.12 podría no funcionar (ver #11).
Puede instalar su entorno local con conda (recomendado) o PIP. Se proporcionan las configuraciones del entorno para conda, pip y poesía. Todos han sido probados en macOS. Tenga en cuenta que si elige PIP como herramienta de instalación, es posible que necesite una instalación adicional de dependencias del sistema.
Si tiene algún problema con el entorno, plantee un problema, donde muestra el error que recibió. Si se siente seguro, continúe y cree una solicitud de extracción.
En Windows, algunas personas han experimentado dificultades con Conda y PIP (debido a la línea de lectura y las NCURSES). Si ese es el caso para usted, eche un vistazo a WSL o use la instalación de Docker. Algunas personas en Winodws informaron que necesitaban instalar herramientas de compilación Visual CPP. En cualquier caso, si tiene algún problema con el entorno, plantee un problema, donde muestra el error que recibió. Si se siente seguro de haber encontrado una mejora, continúe y cree una solicitud de extracción.
Para Pip y Poess, asegúrese de instalar pandoc en su sistema. En macOS use cerveza:
brew install pandocEn Ubuntu o Debian Linux, use Apt:
sudo apt-get install pandocEn Windows, puede usar un instalador.
Este es el método recomendado para instalar dependencias. Asegúrese de que haya instalado Anaconda.
Primero cree el entorno para el libro que contiene todas las dependencias:
conda env create --file langchain_ai.yaml --force El entorno de condición se llama langchain_ai . Puedes activarlo de la siguiente manera:
conda activate langchain_ai PIP es la herramienta de gestión de dependencia predeterminada en Python. Con PIP, debería poder instalar todas las bibliotecas desde el archivo de requisitos:
pip install -r requirements.txtSi está trabajando con una conexión a Internet lenta, puede ver un tiempo de espera con PIP (esto también puede suceder con Conda y Pip). Como solución, puede aumentar la configuración de tiempo de espera como esta:
export PIP_DEFAULT_TIMEOUT=100También hay un archivo Docker para el entorno. Utiliza el entorno Docker e inicia un cuaderno de iPython. Para usarlo, primero construirlo y luego ejecutarlo:
docker build -t langchain_ai .
docker run -it -p 8888:8888 langchain_aiDebería poder encontrar el cuaderno en su navegador en http: // localhost: 8888.
Asegúrese de tener poesía instalada. En Linux y MacOS, debería poder usar el archivo de requisitos:
poetry install --no-root Esto debería tomar el archivo pyproject.toml e instalar todas las dependencias.
Siguiendo las mejores prácticas con respecto a la seguridad, no estoy comprometiendo mis credenciales a GitHub. Puede ver declaraciones import que mencionan un archivo config.py , que no se incluye en el repositorio. Este módulo tiene un método set_environment() que establece todas las teclas como variables de entorno como esta:
Ejemplo config.py:
import os
def set_environment ():
os . environ [ 'OPENAI_API_KEY' ] = 'your-api-key-here'Obviamente, pondrías tus credenciales de API aquí. Dependiendo de la integración (OpenAi, Azure, etc.) debe agregar las teclas API correspondientes. Las teclas API de OpenAI son las más utilizadas en todo el código.
Puede encontrar más detalles sobre las credenciales de API y la configuración en el Capítulo 3 del libro AI generativo con Langchain.
Si encuentra algo mal con los cuadernos o dependencias, no dude en crear una solicitud de extracción.
Si desea cambiar la especificación de dependencia de Conda (el archivo YAML), puede probarlo así:
conda env create --file langchain_ai.yaml --forcePuede actualizar los requisitos de PIP como este:
pip freeze > requirements.txtAsegúrese de mantener estas dos formas de mantener las dependencias sincronizadas.
Luego, asegúrese de probar los cuadernos en el nuevo entorno para ver que se ejecutan.
He incluido un Makefile que incluye instrucciones para la validación con Flake8, Mypy y otras herramientas. He ejecutado mypy así:
make typecheckPara ejecutar la validación del código en Ruff, ejecute
ruff check . Ben Auffarth Ben Auffarth es un científico de datos de pila completa con más de 15 años de experiencia laboral. Con antecedentes y Ph.D. En neurociencia computacional y cognitiva, ha diseñado y realizado experimentos de laboratorio húmedo en cultivos celulares, analizó experimentos con terabytes de datos, ejecutan modelos cerebrales en supercomputadoras de IBM con hasta 64K núcleos, sistemas de producción construidos que procesan cientos y miles de transacciones por día y modelos de lenguaje entrenados en un gran Corpus de documentos de texto. Cofundó y es el ex presidente de oradores de ciencias de datos, Londres.