Bienvenidos,
para crear un chatbot en Django utilizando Python y Anaconda implica varios pasos, desde configurar el entorno hasta implementar las funcionalidades del chatbot. Sin embargo, he reducido los pasos y les he ajustado para que se vea lo mas simple posible.
Aquí te dejo una guía paso a paso para que puedas construir un chatbot básico en Django.
Paso 1: Configuración del Entorno
- Instalar Anaconda: Si no tienes Anaconda instalado, puedes descargarlo e instalarlo desde Anaconda.
- Crear un entorno virtual: Abre Anaconda Prompt y crea un entorno virtual para tu proyecto.
conda create --name chatbot_env python=3.10
conda activate chatbot_env
3. Dentro de la terminal se debe instalar Django:
pip install django
Paso 2: Crear un Proyecto Django
- Crear el proyecto: Dentro de la terminal se debe crear el proyecto django, para poder tener el entorno de trabajo disponible para usar el python.
django-admin startproject chatbot_project
cd chatbot_project
2. Creamos una aplicación:
python manage.py startapp chatbot
3. Agregar la aplicación al archivo settings.py
:
INSTALLED_APPS = [
...
'chatbot',
]
Paso 3: Crear el Chatbot
- Crear un modelo para el chatbot: En el archivo
models.py
de la aplicaciónchatbot
:
from django.db import models
class ChatMessage(models.Model):
user_message = models.CharField(max_length=255)
bot_response = models.CharField(max_length=255)
def __str__(self):
return f'User: {self.user_message} - Bot: {self.bot_response}'
2. Migrar el modelo: Aquí se crearán las tablas en base de datos para poder ser usadas por el sistema, ya que esto se debe usar.
python manage.py makemigrations
python manage.py migrate
Crear vistas para el chatbot:
En el archivo views.py
de la aplicación chatbot
:
from django.shortcuts import render
from django.http import JsonResponse
from .models import ChatMessage
def chat(request):
return render(request, 'chatbot/chat.html')
def get_response(request):
user_message = request.GET.get('message')
bot_response = generate_response(user_message)
ChatMessage.objects.create(user_message=user_message, bot_response=bot_response)
return JsonResponse({'response': bot_response})
def generate_response(user_message):
# Lógica simple de respuesta del chatbot
if 'hello' in user_message.lower():
return 'Hello! How can I help you?'
elif 'bye' in user_message.lower():
return 'Goodbye! Have a nice day!'
else:
return 'I am sorry, I do not understand that.'
4. Configurar las URLs:
En el archivo urls.py
de la aplicación chatbot
:
from django.urls import path
from . import views
urlpatterns = [
path('', views.chat, name='chat'),
path('get_response/', views.get_response, name='get_response'),
]
Y en el archivo urls.py
del proyecto principal:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('chatbot/', include('chatbot.urls')),
]
<!DOCTYPE html>
<html>
<head>
<title>Chatbot</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<h1>Chatbot</h1>
<div id="chat-box">
<div id="chat-log"></div>
<input type="text" id="user-message" placeholder="Type your message...">
<button id="send-message">Send</button>
</div>
<script>
$(document).ready(function() {
$('#send-message').click(function() {
var userMessage = $('#user-message').val();
$.get('/chatbot/get_response/', {message: userMessage}, function(data) {
$('#chat-log').append('<div>User: ' + userMessage + '</div>');
$('#chat-log').append('<div>Bot: ' + data.response + '</div>');
$('#user-message').val('');
});
});
});
</script>
</body>
</html>
Paso 5: Ejecutar el Servidor y Probar el Chatbot
- Ejecutar el servidor de desarrollo:
python manage.py runserver
2. Abre tu navegador web y ve a http://127.0.0.1:8000/chatbot/
para interactuar con el chatbot.