Intelinegica Artificial y la libreria request de Python.

Hola Lectores, estube preguntandome en estos dias si fuese posible realizar peticiones web a una de esas paginas donde podemos hacer uso de la Inteligencia artificial y pues se me ocurrio realizar un script de python que conecte con openIA, con la ayuda de la inteligencia irtifical genere el codigo de python que nos permita esta tarea se los presento y luego una explicacion paso a paso a continuación. ############################################################################ import requests # 🔹 Reemplaza con tu clave API de OpenAI API_KEY = "TU_API_KEY" URL = "https://api.openai.com/v1/chat/completions" # 🔹 Configuración de los encabezados headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } # 🔹 Historial de la conversación conversation = [{"role": "system", "content": "Eres un asistente útil y amable."}] print("🔹 Chatbot con ChatGPT (Escribe 'salir' para terminar)") # 🔹 Bucle de conversación while True: user_input = input("Tú: ") # 🔹 Condición para salir del chat if user_input.lower() in ["salir", "exit", "adiós"]: print("Chatbot: ¡Hasta luego! 👋") break # 🔹 Agregar mensaje del usuario al historial conversation.append({"role": "user", "content": user_input}) # 🔹 Enviar la solicitud a OpenAI data = { "model": "gpt-4", # Cambia a "gpt-3.5-turbo" si no tienes acceso a GPT-4 "messages": conversation } response = requests.post(URL, json=data, headers=headers) try: response_json = response.json() # 🔹 Verificar si la API devolvió un error if "error" in response_json: print("❌ Error de API:", response_json["error"]["message"]) continue # 🔹 Obtener la respuesta del chatbot bot_reply = response_json["choices"][0]["message"]["content"] print(f"Chatbot: {bot_reply}") # 🔹 Agregar respuesta al historial conversation.append({"role": "assistant", "content": bot_reply}) except Exception as e: print("❌ Error procesando la respuesta:", e) ############################################################################ Este código implementa un chatbot que se comunica con la API de OpenAI, específicamente con el modelo GPT-4, para generar respuestas a las preguntas o comentarios del usuario. Vamos a desglosarlo paso a paso: Importación de la librería requests: import requests La librería requests permite enviar solicitudes HTTP en Python. En este caso, se usa para enviar la solicitud a la API de OpenAI. Configuración de la API: API_KEY = "TU_API_KEY" URL = "https://api.openai.com/v1/chat/completions" API_KEY debe ser reemplazada con tu clave de API de OpenAI. Esta clave es esencial para autenticarte con la API. URL contiene la URL de la API de OpenAI que se utilizará para hacer las solicitudes. Configuración de los encabezados de la solicitud: headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } Estos encabezados indican que se está utilizando la autenticación con un token (Bearer) y que los datos que se enviarán están en formato JSON. Definición del historial de la conversación: conversation = [{"role": "system", "content": "Eres un asistente útil y amable."}] El historial de la conversación comienza con un mensaje del sistema que configura el comportamiento del modelo. Aquí se le indica al modelo que sea "útil y amable". Esto influye en las respuestas del modelo. Impresión de un mensaje de bienvenida: print("🔹 Chatbot con ChatGPT (Escribe 'salir' para terminar)") El programa imprime un mensaje inicial, indicando que el chatbot está listo y cómo salir de la conversación. Bucle principal para interactuar con el usuario: while True: user_input = input("Tú: ") Se inicia un bucle infinito donde el programa pide al usuario que ingrese un mensaje (user_input). Condición para salir del chat: if user_input.lower() in ["salir", "exit", "adiós"]: print("Chatbot: ¡Hasta luego! 👋") break Si el usuario escribe "salir", "exit" o "adiós" (sin importar mayúsculas o minúsculas), el programa imprime un mensaje de despedida y termina el bucle. Agregar mensaje del usuario al historial: conversation.append({"role": "user", "content": user_input}) El mensaje del usuario se agrega al historial de la conversación, para que el modelo tenga el contexto de lo que se ha dicho previamente. Construcción de la solicitud para la API: data = { "model": "gpt-4", # Cambia a "gpt-3.5-turbo" si no tienes acceso a GPT-4 "messages": conversation } Aquí se crea el cuerpo de la solicitud a la API. Se indica que se utilizará el modelo GPT-4 (puedes cambiar a GPT-3.5 si no tienes acceso al GPT-4) y se envía el historial completo de la conversación. Enviar la solicitud a OpenAI: response = requests.post(URL, json=data, headers=headers) Se envía la solicitud POST a la API de OpenAI, incluyendo el cuerpo de la solicitud (data) y los encabezados (headers). Procesar la respuesta de la API: try: response_json = response.json() if "error" in response_json: print("❌ Error de API:", response_json["error"]["message"]) continue El programa intenta convertir la respuesta de la API en formato JSON. Si la API devuelve un error, el programa imprime el mensaje de error y continua el bucle sin hacer nada más. Obtener y mostrar la respuesta del chatbot: bot_reply = response_json["choices"][0]["message"]["content"] print(f"Chatbot: {bot_reply}") Si la solicitud fue exitosa, se extrae la respuesta del chatbot de la API y se imprime en la consola. Agregar la respuesta del chatbot al historial: conversation.append({"role": "assistant", "content": bot_reply}) La respuesta del chatbot se agrega al historial de la conversación para que el modelo pueda mantener el contexto durante la interacción. Manejo de excepciones: except Exception as e: print("❌ Error procesando la respuesta:", e) Si ocurre un error al procesar la respuesta de la API, el programa lo captura y lo imprime. Este flujo se repite en un bucle hasta que el usuario decide terminar la conversación escribiendo "salir", "exit" o "adiós".

Comentarios

Entradas populares de este blog

Implementación del Modelo AAA

Simulaciones para dos tipos de vulneribilidades A03:Cross-Site Scripting (XSS) y A04: Insecure Direct Object References (IDOR) del OWASP Top Ten.

Representación de la Cadena de Custodia y DFD según ISO/IEC 27037