Crea tu propio ChatGPT con Python, Streamlit y OpenAI API
El ChatGPT es un modelo de lenguaje desarrollado por OpenAI que puede generar texto de manera autónoma en respuesta a preguntas o comentarios de los usuarios. En esta guía, aprenderás cómo crear tu propio ChatGPT utilizando Python, Streamlit y la API de OpenAI.
Paso 1: Configurar el entorno de desarrollo
Lo primero que necesitas hacer es configurar tu entorno de desarrollo. Para esto, asegúrate de tener Python instalado en tu computadora. Luego, instala la biblioteca de OpenAI utilizando el siguiente comando:
pip install openai
Paso 2: Crear la interfaz con Streamlit
Una vez que tienes la biblioteca de OpenAI instalada, puedes crear la interfaz de tu ChatGPT utilizando Streamlit, una biblioteca de Python para crear aplicaciones web interactivas. Crea un archivo llamado app.py
y agrega el siguiente código:
import streamlit as st
import openai
st.title('ChatGPT')
user_input = st.text_input("Ingrese su mensaje")
if st.button('Enviar'):
openai.api_key = 'TU_CLAVE_API'
response = openai.Completion.create(
engine="text-davinci-003",
prompt=user_input,
max_tokens=150
)
st.text(response.choices[0].text.strip())
Paso 3: Conectar con la API de OpenAI
En el código anterior, reemplaza TU_CLAVE_API
con tu clave de API de OpenAI. Puedes obtener tu clave de API creando una cuenta en el sitio web de OpenAI y generando una nueva clave de API.
Paso 4: Ejecutar la aplicación
Finalmente, ejecuta tu aplicación escribiendo el siguiente comando en la terminal:
streamlit run app.py
¡Y listo! Ahora puedes probar tu propio ChatGPT escribiendo preguntas o comentarios y viendo las respuestas generadas por el modelo de lenguaje de OpenAI.
Excelente tutorial, claro que tuve varios problemas para ejecutar el codigo que escribiste. Te dejo el codigo del streamlit que si me funciono para que puedas adjuntarlo. Saludos desde Chile @MonkeyWit
import openai
from dotenv import load_dotenv
import os
from openai import OpenAI
import streamlit as st
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
client = OpenAI(
api_key = os.getenv("OPENAI_API_KEY"),
)
st.title("Bienvenido a mi chatbot GPT")
if "messages" not in st.session_state:
st.session_state["messages"] = [{"role": "assistant", "content": "Hola, soy ChatGPT, ¿en qué puedo ayudarte?"}]
for msg in st.session_state["messages"]:
st.chat_message(msg["role"]).write(msg["content"])
if user_input := st.chat_input():
st.session_state["messages"].append({"role": "user", "content": user_input})
st.chat_message("user").write(user_input)
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=st.session_state["messages"]
)
responseMessage = response.choices[0].message.content
st.session_state["messages"].append({"role": "assistant", "content": responseMessage})
st.chat_message("assistant").write(responseMessage)
Saludos desde Colombia. Muy buen contenido excelente, te felicito soy desarrollador de software también.
Buen canal