Creando un Servicio de Programación de Viajes Potenciado por GPT-3 con Streamlit
En este tutorial, crearemos un sencillo servicio de Streamlit potenciado por GPT-3 para la programación de viajes. Esta aplicación utilizará las capacidades de GPT-3 para generar itinerarios de viaje personalizados basados en la entrada del usuario, mientras que Streamlit nos ayudará a construir una interfaz fácil de usar.
Requisitos Previos
Antes de comenzar, asegúrate de tener los siguientes requisitos previos:
- Python instalado en tu máquina.
- Acceso al modelo GPT-3 de OpenAI a través de una clave de API.
- Conocimiento de programación básica en Python.
- Streamlit instalado para el desarrollo de aplicaciones web.
Instalando Librerías Necesarias
Para empezar, necesitas instalar las bibliotecas requeridas usando pip. Ejecuta el siguiente comando:
pip install openai streamlit python-dotenv
Configurando el Entorno
A continuación, crea un .env
archivo en tu directorio de proyecto e incluye tu clave de API de OpenAI de la siguiente manera:
OPENAI_API_KEY=your_openai_api_key
Creando el Archivo main.py
Ahora, vamos a crear el archivo main.py
. Este archivo importará todas las bibliotecas necesarias y cargará nuestra clave de API del archivo .env
. Puedes usar la siguiente estructura de código:
import os
from dotenv import load_dotenv
import openai
import streamlit as st
load_dotenv()
openai.api_key = os.getenv('OPENAI_API_KEY')
Construyendo la Aplicación Streamlit
Pasemos a construir nuestra aplicación Streamlit. Comienza creando una función que genere el aviso del itinerario de viaje basado en la entrada del usuario. Aquí hay una implementación sencilla:
def generate_trip_schedule(location, days, interests):
prompt = f"Crea un itinerario de viaje para {days} días en {location} enfocándote en {interests}.
Utiliza viñetas para esbozar las actividades diarias."
response = openai.Completion.create(
engine='text-davinci-003',
prompt=prompt,
max_tokens=500
)
return response['choices'][0]['text']
Creando la Interfaz de Usuario
Con la función de generación de avisos en su lugar, ahora podemos configurar la interfaz de usuario usando Streamlit.
# Crear formulario de entrada
st.title('Programador de Viajes')
location = st.text_input('Ingresa la Ubicación del Viaje:')
days = st.number_input('Número de Días:', min_value=1, max_value=30)
interests = st.text_input('¿Cuáles son tus intereses? (ej., aventura, cultura)')
if st.button('Generar Itinerario'):
schedule = generate_trip_schedule(location, days, interests)
st.write('### Tu Itinerario de Viaje:')
st.write(schedule)
Ejecutando la Aplicación Streamlit
Finalmente, puedes ejecutar tu aplicación Streamlit navegando al directorio de tu proyecto en la terminal y ejecutando:
streamlit run main.py
Resultado
Una vez que ejecutes la aplicación, abre tu navegador en la URL local proporcionada. Ingresa los detalles de tu viaje deseado y haz clic en el botón "Generar Itinerario". ¡Deberías ver el itinerario de viaje generado mostrado en la página!
Conclusión
Este tutorial te ha guiado a través del proceso de creación de una simple aplicación de programación de viajes potenciada por GPT-3 usando Streamlit. Puedes mejorar aún más esta aplicación añadiendo más características, como guardar itinerarios, ofrecer consejos o integrar mapas. ¡Siéntete libre de experimentar y enriquecer tu aplicación aún más!
Implementación en JSON
Si deseas estructurar el itinerario generado en un formato JSON para un mejor manejo de datos, podrías modificar la sección de retorno de la función:
def generate_trip_schedule(location, days, interests):
prompt = f"Crea un itinerario de viaje para {days} días en {location} enfocándote en {interests}.
Utiliza viñetas para esbozar las actividades diarias."
response = openai.Completion.create(
engine='text-davinci-003',
prompt=prompt,
max_tokens=500
)
schedule_list = response['choices'][0]['text'].split('\n')
schedule_json = {'itinerario_viaje': schedule_list}
return schedule_json
Esta estructura permite un almacenamiento y recuperación eficientes de tus datos de itinerario.
Dejar un comentario
Todos los comentarios se revisan antes de su publicación.
Este sitio está protegido por hCaptcha y se aplican la Política de privacidad de hCaptcha y los Términos del servicio.