Tutorial: Como integrar ChatGPT en tu web con Python y Flask

TUTORIAL

Tutorial: Como integrar ChatGPT en tu web con Python y Flask

Integrar ChatGPT en una aplicación web puede ser una forma interesante de mejorar la experiencia del usuario y ofrecer contenido personalizado.  ChatGPT es un modelo de lenguaje de inteligencia artificial que puede generar texto automáticamente. En este tutorial, te mostraremos cómo integrar ChatGPT en una aplicación web utilizando Python y Flask.

Como pre-requisito necesitarás una cuenta en OpenAI, donde se encuentra ChatGPT. Puedes crear una cuenta gratuita aqui. Una vez que hayas creado una cuenta, podrás obtener una API key que te permitirá interactuar con ChatGPT, ve a tu cuenta y en el menu, accesa a la opción “View API keys”

Crea un nuevo directorio, que le llamare Chatbot. Instala la libreria Flask sino la tienes instalada y OpenAI, como se muestra a continuación 

$ pip install flask openai

Paso 1: Configurar OpenAI

Una vez que tengas tu clave de API, deberás configurarla en el archivo de Python donde definiremos nuestra aplicación Flask. En este caso, configuraremos la clave dentro de la función get_answer().

from flask import Flask, render_template
import openai


openai.api_key = "YOUR_API_KEY_HERE"

def get_answer(question):
    response=openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
                {"role": "system", "content": "You are a helpful assistant answer the question"},
                {"role": "user", "content": question},
            
            ]
    )
    answer = response['choices'][0]['message']['content']
    return answer

La función get_answer toma una pregunta como entrada y devuelve una respuesta generada por el modelo de lenguaje GPT-3.5 de OpenAI.

La función utiliza la función ChatCompletion.create de la API de OpenAI para generar la respuesta. ChatCompletion.create es una función que toma un modelo de lenguaje y una lista de mensajes (en este caso, una lista con dos mensajes) como entrada y devuelve una respuesta generada por el modelo. Puedes ver mas informacion en la web de OpenAI sobre el funcionamiento de chat completitions.

Paso 2: Crear la aplicación Flask

Para crear nuestra aplicación Flask, primero necesitamos importar los módulos necesarios, que lo hicimos previamente en la primera linea del código anterior.

# Function that create the app 
def create_app(test_config=None ):
    # create and configure the app
    app = Flask(__name__)
   
    @app.route('/', methods=['GET', 'POST'])
    def index():
        question=""
        if request.method == 'POST':
            question = request.form['question']
            if not question:
                error_message = 'Please enter a question.'
                answer = None
           
            else:
                error_message = None
                answer=get_answer(question)
            return render_template('index.html', question=question, error_message=error_message, answer=answer)
        return render_template('index.html', question=question)
    return app
APP = create_app()

if __name__ == '__main__':
    APP.run()



La función create_app es la función principal que crea la aplicación Flask. Esta función define una ruta para la página principal de la aplicación ('/') y define una función de vista para esta ruta llamada index.

En la función index, si se realiza una solicitud GET, se muestra una plantilla HTML que solicita una pregunta al usuario. Si se realiza una solicitud POST con una pregunta válida, se llama a la función get_answer para generar una respuesta y se muestra la respuesta al usuario en la misma plantilla HTML.

Finalmente, necesitaremos crear la plantilla HTML para que los usuarios puedan interactuar con nuestro chatbot. Crearemos un archivo llamado index.html en una carpeta llamada templates:

<!DOCTYPE html>
<html>
<head>
    <title>Questions</title>
</head>
<body>
    <h1>Ask your questions to ChatGPT</h1>
    <form method="POST">
        <label for="question">Enter your question:</label>
        <input type="text" id="question" name="question">
        <button type="submit">Submit</button>
    </form>
    {% if error_message %}
        <p>{{ error_message }}</p>
    {% endif %}
    <ul>
           
            {% if question!="" %}
                <li><h3>{{ question }}</h3></li>
                <li>{{ answer }}</li>
            {% endif %}
        
    </ul>
</body>
</html>

Para ejecutar la aplicación web con Flask, asegúrate de estar en el directorio raíz de tu proyecto (donde se encuentra el archivo app.py). A continuación, ejecuta el siguiente comando en la terminal:

$ flask run

Esto iniciará el servidor Flask y la aplicación web estará disponible en http://localhost:5000. El resultado final es el siguiente, tenemos una pagina que usa ChatGPT integrado con Python, esto es solo el primer paso, y por supuesto puedes extender este proyecto.

Final application integration de ChatGPT y Python

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *