Mostramos un script Python preparado para ser usado desde otras aplicaciones (pasándole el prompt por argumento), que utilizará el API de la IA de DeepSeek para obtener una respuesta concisa.
- Requisitos para desarrollar una app Python que use la IA de DeepSeek y pueda ser utilizada desde otras aplicaciones.
- Script Python para acceder a la API de la IA DeepSeek y obtener una respuesta concisa, con argumentos.
Requisitos para desarrollar una app Python que use la IA de DeepSeek y pueda ser utilizada desde otras aplicaciones
Los requisitos los explicamos en este tutorial:
Puesto que usaremos Requests, instalaremos el plugin para Python correspondiente, con el comando:
1 |
pip3 install requests |
Script Python para acceder a la API de la IA DeepSeek y obtener una respuesta concisa, con argumentos
El script completo en Python al que se le pasa una pregunta por argumento de la línea de comandos, que accede al API de la IA de DeepSeek y obtiene una respuesta concisa será el siguiente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
import requests import argparse API_KEY_DEEPSEEK = "sk-e......5....1......d" URL_API = "https://api.deepseek.com/v1/chat/completions" # Mostrar y preparar los argumentos que admite el programa por la línea de comandos def MostrarArgumentos(): parser = argparse.ArgumentParser() parser.add_argument("-p", "--pregunta", type=str, required=True, help="Pregunta que se hará a la IA") parser.add_argument("-m", "--modelo", type=str, required=False, help="Admite modelo deepseek-chat (establecido por defecto) o deepseek-reason") parser.add_argument("-e", "--evitar_explicaciones", type=bool, required=False, help="Evita mostrar explicaciones adicionales, activado por defecto") return parser.parse_args() # Realizar pregunta a la IA y obtener la respuesta def realizarPreguntaIA (pregunta, modelo="deepseek-chat", explicaciones=True): try: # Definimos los encabezados HTTP para la petición, pasándole la API Key headers = { "Authorization": f"Bearer {API_KEY_DEEPSEEK}", "Content-Type": "application/json" } if explicaciones: pregunta = f"{pregunta}. NO muestres explicaciones, cíñete únicamente a mostrar lo que se te ha pedido" # Podremos usar el modelo deepseek-chat o bien deepseek-reasoner peticionIA = { "model": modelo, "messages": [{"role": "user", "content": pregunta}], "stream": False # para que devuelva la respuesta completa y directamente } respuestaIA = requests.post(URL_API, headers=headers, json=peticionIA) # Verificar si la solicitud fue exitosa if respuestaIA.status_code == 200: # Convertir la respuesta a JSON respuestaIAJSON = respuestaIA.json() # Acceder al primera y única respuesta if "choices" in respuestaIAJSON and len(respuestaIAJSON["choices"]) > 0: primeraRespuesta = respuestaIAJSON["choices"][0] if "message" in primeraRespuesta: # Acceder al campo "content" del JSON que contiene la respuesta contenido = primeraRespuesta["message"].get("content") if contenido == None: return "[ERROR] La IA no ha devuelto una respuesta. La primera respuesta no contiene el campo 'content'." else: # Devolver solo el contenido return contenido else: return "[ERROR] La IA no ha devuelto una respuesta. La primera respuesta no contiene el campo 'message'." else: return "[ERROR] La IA no ha devuelto una respuesta." else: return f"[ERROR] Se ha producido un error al intentar usar la IA: {respuestaIA.status_code} {respuestaIA.text}." except Exception as e: return f"[ERROR] Se ha producido un error al intentar usar la IA: {e}." # Probamos el método, queremos que únicamente devuelva la respuesta # para poder usar esta app en otra app if __name__ == "__main__": # Preparamos y mostramos los argumentos (si se indica) args = MostrarArgumentos() pregunta = "" modelo = "deepseek-chat" evitarExplicaciones = True if args.pregunta: pregunta = args.pregunta if args.modelo: modelo = args.modelo if args.evitar_explicaciones: evitarExplicaciones = args.evitar_explicaciones respuestaIA = realizarPreguntaIA(pregunta=pregunta, modelo=modelo, explicaciones=evitarExplicaciones) print(respuestaIA) |
En este caso, la app Python admite argumentos por la línea de comandos, son los siguientes:
- -p, –pregunta: la pregunta que haremos a la IA de DeepSeek.
- -m, –modelo: modelo que se usará. Admite el modelo deepseek-chat (establecido por defecto) o el modelo deepseek-reason.
- -e, –evitar_explicaciones: añadirá un texto a la pregunta indicando que la IA no responda con explicaciones, que sea lo más concisa posible.
Para probar la app Python, la ejecutaremos desde la línea de comandos pasándole, al menos, el parámetro «-p». Por ejemplo:
1 |
ia_uso_real.py" -p "muéstrame una contraseña aleatoria de 14 caracteres, que contenga mayúsculas, minúsculas, números, letras y símbolos. No me muestres el resultado entrecomillado, solo la contraseña" |
La respuesta de la IA que mostrará la app Python será:

Puesto que no es una conversación interactiva, únicamente admite una pregunta, en la pregunta definiremos cómo queremos la respuesta. Por ejemplo, para el caso anterior, la IA de DeepSeek devuelve la contraseña aleatoria pedida entrecomillada. Si queremos que no no devuelva las comillas, se lo indicamos en la pregunta, de esta forma:
1 |
ia_uso_real.py" -p "muéstrame una contraseña aleatoria de 14 caracteres, que contenga mayúsculas, minúsculas, números, letras y símbolos. No me muestres el resultado entrecomillado, solo la contraseña" |
En este caso, la IA de DeepSeek mostrará una contraseña con las especificaciones indicadas en la pregunta y no la mostrará entrecomillada:
