Aplicaciones conversacionales con LLM

Aplicaciones conversacionales con LLM

Introducción

Los modelos de lenguaje permiten crear aplicaciones conversacionales sofisticadas, capaces de comprender a los usuarios y responderles de forma natural. Este tutorial explora las distintas formas de implementar chatbots y asistentes virtuales con LLM.

Tipos de aplicaciones conversacionales

1. Chatbots

2. Asistentes virtuales

3. Agentes conversacionales

Implementación

1. Base de conversación

from openai import OpenAI
import json
from typing import List, Dict, Any

class ConversationManager:
    def __init__(self, api_key: str):
        self.client = OpenAI(api_key=api_key)
        self.conversation_history: List[Dict[str, str]] = []
    
    def add_message(self, role: str, content: str):
        self.conversation_history.append({
            "role": role,
            "content": content
        })
    
    def get_response(self, user_message: str) -> str:
        # Añadir el mensaje del usuario
        self.add_message("user", user_message)
        
        # Obtener la respuesta del modelo
        response = self.client.chat.completions.create(
            model="gpt-3.5-turbo",
            messages=self.conversation_history,
            temperature=0.7
        )
        
        # Extraer y guardar la respuesta
        assistant_message = response.choices[0].message.content
        self.add_message("assistant", assistant_message)
        
        return assistant_message
    
    def clear_history(self):
        self.conversation_history = []