Fundamentos de los Agentes Inteligentes y LangChain

1

Conexión a Modelos de Lenguaje con Huggingface y LangChain

2

Desarrollo de Agentes Inteligentes con LangChain y GPT-4

3

Construcción de Agentes Inteligentes con LangChain

4

Instalación de API Keys en Google Cloud para LLMs

Quiz: Fundamentos de los Agentes Inteligentes y LangChain

Chat Models y Prompt templates

5

Chat Messages con OpenAI

6

Conexión y Uso de Modelos de Chat de OpenAI con LangChain

7

Modelos de Chat Google AI con LangChain: Configuración y Uso

8

Uso de Prompt Templates con LangChain para Modelos de Lenguaje

9

Técnicas de Few-Shot Prompting con LangChain y GPT-4

Quiz: Chat Models y Prompt templates

Cadenas en LangChain

10

LangChain: Creación de Cadenas de Componentes Avanzadas

11

Historial de Chat y Contexto en LangChain

12

Integración de Runnables, OutputParser y Streaming en LangChain

13

Creación de Chatbot con Memoria usando LangChain

14

Estructuras de Datos en Python: Listas, Pilas y Colas

Quiz: Cadenas en LangChain

Carga de documentos en LangChain

15

Carga de Archivos HTML y CSV con LangChain

16

Carga de PDF y CSV con LangChain

17

División de Texto con TextSplitters: Uso y Configuración

Quiz: Carga de documentos en LangChain

Retrieval-augmented generation (RAG)

18

Chroma: Almacenamiento de Vecinos Más Cercanos con LangChain

19

Embeddings: Vectorización de Texto para Búsquedas Semánticas

20

Búsquedas Semánticas con Pinecone y Embeddings en AI

21

Vectorización de Documentos PDF con LangChain y ChromaDB

22

Creación de Chatbots con LangChain y RAG

Quiz: Retrieval-augmented generation (RAG)

Agentes en LangChain

23

Uso de agentes en LangChain para búsquedas con Tavily

24

Integración de Toolkits en LangChain con Bases de Datos SQL

25

Creación de Agentes con LangChain y Memoria Persistente

Quiz: Agentes en LangChain

Ecosistema de LangChain

26

Monitoreo y Depuración de Aplicaciones con LangSmith

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Instalación de API Keys en Google Cloud para LLMs

4/26
Recursos

¿Cuál es la importancia de un API Key?

La creación de un API Key es fundamental para acceder a diversos servicios en línea, especialmente cuando trabajamos con plataformas como Google Cloud. Un API Key actúa como una credencial única que te permite hacer solicitudes a la API de un servicio, garantizando la seguridad y el control de acceso.

¿Cómo se obtiene un API Key?

  • Crear una cuenta en Google Cloud: Es el primer paso para solicitar un API Key.
  • Navegar a la sección de credenciales: Dentro de la consola de Google Cloud, encontrarás la opción para generar nuevas credenciales, en este caso, un API Key. Asegúrate de seguir las políticas de seguridad al almacenarlo.

Beneficios de usar un API Key

  1. Seguridad Asegurada: Permite un control estricto sobre qué aplicaciones y usuarios tienen acceso a los servicios.
  2. Monitoreo del uso: Puedes rastrear cuántas veces se utiliza el API Key, ayudando a identificar usos sospechosos.
  3. Facilidad de configuración: Generar y configurar un API Key es un proceso rápido y sencillo para el usuario final.

¿Qué es la vectorización?

En este contexto, la vectorización se refiere a la conversión de datos en formatos que son comprensibles para las computadoras, usualmente vectores de números. Esta técnica es esencial para manipular y analizar datos.

Pasos para realizar una vectorización efectiva

  • Comprender los datos: Antes de vectorizar, es esencial conocer el tipo de datos con los que estás trabajando.
  • Elegir el método adecuado: Métodos comunes incluyen Bag of Words y TF-IDF para texto.
  • Preprocesado de datos: Limpiar y normalizar los datos asegurará que la vectorización sea eficiente.

Ventajas de la vectorización de datos

  • Análisis rápido y eficiente: Una vez vectorizados, los datos pueden ser procesados más rápidamente.
  • Compatibilidad con modelos de Machine Learning: Modelos como SVM o Random Forest necesitan datos vectorizados para funcionar correctamente.

¿Cómo se relacionan las cadenas de Markov con la vectorización?

Las cadenas de Markov son una herramienta poderosa en el campo del análisis estadístico, y su capacidad para modelar transiciones entre estados las hace muy útiles cuando se trabaja con datos vectorizados.

Aplicaciones prácticas de las cadenas de Markov

  • Predicción de secuencias: Son excelentes para anticipar el siguiente elemento en una secuencia.
  • Modelado de sistemas complejos: Las cadenas de Markov pueden representar procesos donde hay incertidumbre sobre el próximo estado.

Implementación y uso

  • Formación de estados y transiciones: Identificar los estados del sistema y cómo estos se relacionan entre sí.
  • Construcción del modelo: Implementar el modelo de Markov sobre los datos vectorizados para analizar tendencias y patrones.

El conocimiento sobre la generación de API Keys, la vectorización y el uso de cadenas de Markov permite un manejo integral y avanzado de los datos. Con estas habilidades, los profesionales pueden procurar soluciones efectivas y seguras en proyectos tecnológicos actuales, destacando en analítica y en inteligencia artificial. Continúa aprendiendo y explorando estas herramientas para mantenerte actualizado en el siempre cambiante mundo de la tecnología.

Aportes 21

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Que estrés ese zoom in y zoom out todo el tiempo. Que formato tan maluco
Guarden en favoritos su Google AI Studio, por si en un futuro ocupan la API\_KEY y la obtengan rápidamente. ![](https://static.platzi.com/media/user_upload/image-83d785d9-82e6-42d6-8074-95b17a382780.jpg)
En etapa productiva, las opciones de paga serían la mejor opción, por soporte, estabilidad, disponibilidad, tiempo de respuesta y demás. En este momento y para efectos de aprendizaje, la mejor alternativa son herramientas Open Source.
Lo que me habría gustado en el curso es que la profe nos diera más detalles cuando realiza instalaciones en la consola de Colab... No me queda claro si lo realiza en una nueva Notebook o lo hace dentro de la misma...
Buen día, sería muy útil tener más detallado cualesy cuantan herramientas son de pago para poder dimensionar los costos del agente , Gracias
:) Mas contexto de porque la profe instalo Chromadb y Pinecone, son herramientas que sirven "casi" al mismo proposito ⚠️ Para no ponernos técnicos, lo entendí con un ejemplo: Tienes una biblioteca enorme que esta enumerada por habitaciones (vectores) y vas agregando libros de ciencia ficción porque vas a crear una historia sobre este tema, a la hora de crear tu libro necesitas inspiración y le pides a tu ayudante (chromadb o pinecone) que busque libros sobre el tema que necesitas. Para eso descargamos la libreria, para obtener información en forma de vectores que ya esta agregada al modelo para darle contexto de la tarea que le pides
¿Cuál es el IDE o herramienta que se usa para ejecutar los comandos? Me siento un poco confundido con estos fragmentos.
Tuve que regrsar nuevamente a esta clase porque pense que tambien usaria ejemplos prácticos con gemini pero solamente uso OPEN AI y lamentablemente para practicar no voy a comprar creditos, seria bueno una explicación con GEMINI
Si lo estas haciendo en VSCODE En tu carpeta de proyecto crea un archivo **.env** En tu archivo .env escribe tu key ```js GOOGLE_API_KEY=xxxxxxxxxxxxxxx ```en tu main.py instala ```js pip install python-dotenv ```Donde van los imports pon:```js from langchain_google_genai import GoogleGenerativeAI from getpass import getpass from dotenv import load_dotenv import os ```El main.py queda algo así : ```js from langchain_google_genai import GoogleGenerativeAI from getpass import getpass from dotenv import load_dotenv import os load_dotenv() api_key = os.getenv('GOOGLE_API_KEY') od.environ['GOOGLE_API_KEY'] = api_key api_key = getpass() ```
Si tienes una PC potente tambien se puede utilizar Ollama: pip install langchain langchain-ollamahttps://ollama.com/*from* langchain\_core.messages *import* HumanMessage, SystemMessage*from* langchain\_ollama *import* ChatOllama con esta herramienta se puede descargar y ejecutar LLMs. \* para instalar el provider ```js pip install langchain langchain-ollama ```y lo ejecutas de esta manera: ```js from langchain_core.messages import HumanMessage, SystemMessage from langchain_ollama import ChatOllama llm = ChatOllama(model="llama3.2", temperature=0.0) question = """ Dame el nombre de la mejor plataforma de educación tecnológica y empresarial en español de América Latina. Esta plataforma ofrece cursos creados por expertos en cada área. """ messages = [ SystemMessage(content="Usa emojis en las respuestas"), HumanMessage(content=question), ] print(llm.invoke(messages).content) ```
Sí, debes tener Python instalado para poder utilizar el comando `pip`, que es el gestor de paquetes de Python. `pip` te permite instalar librerías y dependencias necesarias para tus proyectos, incluido LangChain. Asegúrate de que Python esté correctamente instalado y configurado en tu sistema antes de intentar ejecutar comandos con `pip`.
Para obtener una API Key de OpenAI, debes visitar el siguiente enlace: [OpenAI API](https://platform.openai.com/signup). Allí podrás crear una cuenta y solicitar tu clave. Recuerda que esta información es sensible y no debes compartirla públicamente.
Los modelos de Gemini no se utilizan en esta clase porque se está enfocando en la instalación y configuración de herramientas que permiten el acceso a diversos modelos de Large Language Models (LLMs), incluyendo OpenAI y Hugging Face. Además, el uso de Gemini podría requerir consideraciones específicas como la creación de credenciales y la integración con Google Cloud, aspectos que se abordan más adelante. En este momento, el enfoque es en las configuraciones básicas y en asegurarse de que los estudiantes puedan trabajar con modelos accesibles.
esa actividad lo realizo en una nueva ventana de Google Colab y la llamo "DB" o es en la misma ventana donde ella realizado todo el programa?? ![](https://static.platzi.com/media/user_upload/imagen-8b129a6c-0139-498f-911e-da90b5c78193.jpg)
al instalar chromadb y pinecone, al final me sale: Building wheels for collected packages: pypika Building wheel for pypika (pyproject.toml) ... done Created wheel for pypika: filename=PyPika-0.48.9-py2.py3-none-any.whl size=53725 sha256=2cdbaad94d640defa300e1dc1e5a67a643bb4f9601bcb669cf8e44a00f1aeedc Stored in directory: /root/.cache/pip/wheels/e1/26/51/d0bffb3d2fd82256676d7ad3003faea3bd6dddc9577af665f4 Successfully built pypika Installing collected packages: pypika, monotonic, durationpy, websockets, uvloop, uvicorn, python-dotenv, pyproject\_hooks, protobuf, pinecone-plugin-interface, overrides, opentelemetry-util-http, mmh3, humanfriendly, httptools, chroma-hnswlib, bcrypt, backoff, asgiref, watchfiles, starlette, posthog, pinecone-plugin-inference, opentelemetry-proto, coloredlogs, build, pinecone, opentelemetry-exporter-otlp-proto-common, onnxruntime, kubernetes, fastapi, opentelemetry-instrumentation, opentelemetry-instrumentation-asgi, opentelemetry-exporter-otlp-proto-grpc, opentelemetry-instrumentation-fastapi, chromadb Attempting uninstall: protobuf Found existing installation: protobuf 4.25.5 Uninstalling protobuf-4.25.5: Successfully uninstalled protobuf-4.25.5 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. tensorflow 2.17.1 requires protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3, but you have protobuf 5.28.3 which is incompatible. tensorflow-metadata 1.13.1 requires protobuf<5,>=3.20.3, but you have protobuf 5.28.3 which is incompatible. Successfully installed asgiref-3.8.1 backoff-2.2.1 bcrypt-4.2.1 build-1.2.2.post1 chroma-hnswlib-0.7.6 chromadb-0.5.20 coloredlogs-15.0.1 durationpy-0.9 fastapi-0.115.5 httptools-0.6.4 humanfriendly-10.0 kubernetes-31.0.0 mmh3-5.0.1 monotonic-1.6 onnxruntime-1.20.1 opentelemetry-exporter-otlp-proto-common-1.28.2 opentelemetry-exporter-otlp-proto-grpc-1.28.2 opentelemetry-instrumentation-0.49b2 opentelemetry-instrumentation-asgi-0.49b2 opentelemetry-instrumentation-fastapi-0.49b2 opentelemetry-proto-1.28.2 opentelemetry-util-http-0.49b2 overrides-7.7.0 pinecone-5.4.0 pinecone-plugin-inference-2.0.1 pinecone-plugin-interface-0.0.7 posthog-3.7.2 protobuf-5.28.3 pypika-0.48.9 pyproject\_hooks-1.2.0 python-dotenv-1.0.1 starlette-0.41.3 uvicorn-0.32.1 uvloop-0.21.0 watchfiles-1.0.0 websockets-14.1
Estaría genial armar un listado de clasificación de modelos para la comunidad.. ¿Saben de algo así, listados clasificando modelos open source? Y que podamos participar votándolos para distintas tareas; **saber cuáles pueden ser entrenados o prompteados por modelos más eficaces, y utilizar estos más baratos en producción, por ejemplo.** Me interesa mucho usar modelos open-source pero tienden a requerir bastante más trabajo de contexto y fine-tuning.
ready :D
Ambos caminos son buenos, para test y pruebas de concepto Opensource y para producción Pagas, seguridad y lo relacionado con la gobernanza
Creo que es importante aclarar una cosa que no entendía y espero pueda resolver la duda de alguno: 🧠Porque usar un modelo pre entrenado y luego ChatGPT o Google IA? Suena redundante porque un modelo pre entranado para hacer cierta tarea ya sabe que acciones debería tomar en base a un texto, entonces no seria necesario conectarse a otro modelo. Pero lo que hace la profesora es, conectarse a un modelo de Google para que entienda mejor tu intención y pueda responderte de la manera que quieres y el modelo pre entrenado hace la tarea especifica mas rápida y mas precisa 🌊Un flujo si no estoy mal de lo que he buscado es: * Envias la tarea de hacer una operación matemática * ChatGPT o Google procesan y entienden tu intención * Con LangChain determinan que modelo pre entrenado es mejor para hacer la tarea de una operación matemática * El modelo per-entrenado (matematico) ejecuta lo que se le pidió * ChatGPT recibe la respuesta, la procesa como debería responderte y agrega contexto si es necesario * Y creo que lei dentro de la doc que automáticamente la memoria del modelo pre entrenado se agrega
Google Colab es una plataforma basada en Jupyter Notebooks que permite ejecutar código Python en la nube. Ofrece soporte para Markdown, lo que facilita la creación de documentos que combinan código, texto, y gráficos, lo cual es muy útil para la exploración de datos y la documentación de procesos. Una de sus ventajas más destacadas es que es gratuito para cualquier usuario con una cuenta de Gmail. Esto hace que sea una herramienta accesible para una gran variedad de proyectos, especialmente durante la etapa exploratoria de análisis de datos, donde se necesita una plataforma flexible y fácil de usar. Sin embargo, en un entorno de producción o cuando se requiere un procesamiento más intensivo, es común utilizar máquinas locales o remotas, especialmente en sistemas basados en Linux, que ofrecen mayor control y rendimiento para ejecutar tareas complejas de ciencia de datos y análisis a gran escala.
Al ejecutar el 1er comando me genero este error: Downloading h11-0.14.0-py3-none-any.whl (58 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.3/58.3 kB 3.9 MB/s eta 0:00:00 Installing collected packages: tenacity, orjson, jsonpointer, h11, requests-toolbelt, jsonpatch, httpcore, httpx, langsmith, langchain-core, google-ai-generativelanguage, google-generativeai, langchain-google-genai Attempting uninstall: tenacity Found existing installation: tenacity 9.0.0 Uninstalling tenacity-9.0.0: Successfully uninstalled tenacity-9.0.0 Attempting uninstall: google-ai-generativelanguage Found existing installation: google-ai-generativelanguage 0.6.6 Uninstalling google-ai-generativelanguage-0.6.6: Successfully uninstalled google-ai-generativelanguage-0.6.6 Attempting uninstall: google-generativeai Found existing installation: google-generativeai 0.7.2 Uninstalling google-generativeai-0.7.2: Successfully uninstalled google-generativeai-0.7.2 Successfully installed google-ai-generativelanguage-0.6.10 google-generativeai-0.8.3 h11-0.14.0 httpcore-1.0.6 httpx-0.27.2 jsonpatch-1.33 jsonpointer-3.0.0 langchain-core-0.3.10 langchain-google-genai-2.0.1 langsmith-0.1.134 orjson-3.10.7 requests-toolbelt-1.0.0 tenacity-8.5.0 WARNING: The following packages were previously imported in this runtime: \[google] You must restart the runtime in order to use newly installed versions.