PlatziVision es un chatbot que puede responder preguntas en tiempo real, analizar múltiples imágenes y generar imágenes utilizando DALL·E 3
👋 ¡Hola! Este repositorio contiene el proyecto final del curso de OpenAI API. Puedes empezar instalando el proyecto y luego revisar los commits por clase.
- Clona el repositorio
git clone https://github.com/platzi/platzivision.git
- Instala las dependencias de la interfaz web e inicia el servidor
Empieza desde la carpeta platzi-vision-ui
cd platzi-vision-ui
npm install
npm run dev
- Crea el entorno virtual para la API
Empieza desde la carpeta platzi-vision-api
cd platzi-vision-api
python -m venv env
source env/bin/activate
- Instala las dependencias de la API
Recuerda que usamos la librería OpenAI en su versión 1.55.3.
pip install -r requirements.txt
- Inicia el servidor de la API
python app.py
¡Listo! Ahora tenemos el servidor web corriendo en http://localhost:3000 y el servidor de la API en http://127.0.0.1:5000. Con esto ya podemos empezar con las tareas pendientes para completar el proyecto:
- Procesar los mensajes de la interfaz
- Retornar la respuesta vía streaming
- Agregar soporte de imágenes
- Agregar una función de generación de imágenes
Puedes copiar el comando de cada commit y pegarlo en tu terminal para revisar el código avanzado de cada clase.
Clase | Commit | Cambios |
---|---|---|
Integración de GPT-4o con streaming en PlatziVision | git checkout 9875f7 |
Integración de respuestas con transmisión en tiempo real |
Soporte de procesamiento de imágenes en PlatziVision | git checkout 7e2f9c |
Soporte para el procesamiento de imágenes. |
Generación de imágenes con DALL·E 3* | git checkout c9ed81 |
Añade la función de generación de imágenes. |
Generación de imágenes en PlatziVision | git checkout 45bdda |
Integración de generación de imágenes usando herramientas |
* La clase de Generación de imágenes con DALL·E 3 se realizó en el repositorio de /curso-openai-api
, pero se incluye aquí como referencia que la integramos dentro de la siguiente clase Generación de imágenes en PlatziVision.
PlatziVision se compone de 2 partes: una interfaz web y una API. La interfaz web es una aplicación web basada en Next.js que nos permite interactuar con el chatbot. La API es un servidor en Flask que se encarga de procesar las solicitudes de la interfaz web y de interactuar con la librería de OpenAI para las siguientes funcionalidades:
- Respuesta a preguntas en tiempo real (vía streaming)
- Procesamiento de múltiples imágenes
- Generación de imágenes