Aplicación con ventana gráfica Windows y Linux que realiza una conversación (manteniendo el contexto) con la IA de DeepSeek a través de su API, desarrollada con el lenguaje de programación Python.

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:

Aplicación con ventana gráfica Windows en Python para establecer conversación contextual con la IA de DeepSeek

A continuación mostramos el código fuente completo en Python de la aplicación que, usando el API de DeepSeek, permite establecer una conversación interactiva y contextual con la IA. Además, la app permite pasarle un prompt por argumento de la línea de comandos o, incluso, un fichero de texto plano, que cargará en el prompt:

La app de conversación con la IA de DeepSeek en funcionamiento

Si compilamos el código Python anterior, o si creamos el fichero ejecutable (como indicamos en este tutorial), se abrirá una ventana de Windows. Introduciremos un prompt, una pregunta y pulsaremos en «Enviar» para enviarla a la IA de DeepSeek. Por ejemplo:

muéstrame una lista de aplicaciones de facturación homologadas en España

Podremos pulsar en en botón Enviar o bien pulsar las teclas Control + Intro:

Se enviará la pregunta a la IA de DeepSeek:

La IA nos contestará:

Para comprobar que estamos en el contexto, ahora le indicamos que muestre únicamente la lista, sin explicaciones:

muéstrame sólo la lista, sin explicaciones

LA IA seguirá en el contexto de la conversación y mostrará, tal y como le hemos indicando, únicamente la lista:

La aplicación permite copiar al portapapeles el texto seleccionado en la conversación:

Y, también, pulsando con el botón derecho de la conversación y eligiendo «Limpiar contexto y conversación»:

En este caso, eliminamos el contexto de la conversación y la conversación completa, por lo que si le hacemos más preguntas sobre la lista anterior, no sabrá a qué lista nos referimos, dado que hemos iniciado una nueva conversación:

Si lanzamos el ejecutable de la aplicación pasándole un fichero de texto por argumento de la línea de comandos, cargará el fichero en el prompt como pregunta a enviar a la IA. Por ejemplo, creamos un fichero con el siguiente contenido:

Guardándolo con el nombre prompt.txt en la misma carpeta que el ejecutable ia_grafica.exe:

Hemos generado un error de sintaxis a propósito, para ver si la IA lo detecta. Ahora ejecutamos el programa desde la línea de comandos pasándole el nombre del fichero en el parámetro –prompt «[FICHERO]»:

La respuesta de la IA es la esperada «No»:

Ahora solucionamos el error provocado en el JSON, para volver a enviar el prompt, añadimos una llave de cierre que falta:

Y volvemos a lanzar la aplicación, pulsamos en Enviar y vemos que la respuesta de la IA es, nuevamente, la esperada «Sí»:

Truco para generar ejecutable EXE que no muestre una ventana de terminal con PyInstaller

Si usamos PyInstaller para generar el ejecutable EXE de nuestra aplicación, para que funcione en cualquier equipo sin necesidad de instalar Python ni otras librerías, con:

Al ejecutarlo, mostrará una ventana de terminal, además de la ventana gráfica:

Para que esta ventana de terminal no aparezca, en nuestras aplicaciones Python con modo gráfico, tendremos dos posibilidades, o bien creamos el ejecutable con el parámetro –noconsole, quedando:

Este parámetro, en algunos antivirus y EDR, produce un falso positivo, detectando nuestro ejecutable como un software malicioso. Una solución, que nos ha funcionado mejor, es cambiar la extensión del fichero de nuestro proyecto Python de .py a .pyw, quedando, en este caso, el fichero ia_grafica.pyw. Con esta extensión cambiada, si ahora volvemos a generar el ejecutable (sin el parámetro –noconsole), nos lo creará y no se mostrará la ventana de terminal al ejecutarlo: