Open Menu dzosoft
Close Menu dzosoft

   TODO SOBRE INFORMÁTICA Y TECNOLOGÍA


                             





Publish perfectly-optimized content in 1-click



 
 
 

Cómo crear su propio asistente personal usando ChatGPT y Python

 
 
Cómo crear su propio asistente personal usando ChatGPT y Python
 
En este tutorial veremos cómo usar Python para conectarse a la API de OpenAI y usar el mismo modelo que anima ChatGPT, llamado gpt-3.5-turbo , integrándolo así dentro de nuestras aplicaciones para explotar todo su potencial.
Para integrar ChatGPT y otros modelos de OpenAI dentro de un proyecto de Python a través de API, primero debemos generar una clave de acceso (clave secreta) dentro de el portal de la plataforma OpenAI , seleccionando el elemento de menú API Keys.
Una vez que hemos obtenido la clave de acceso podemos empezar a escribir el código.
 

¿Qué vas a necesitar?

 
Para aplicar mejor lo que se muestra en este tutorial, debe conocer al menos los conceptos básicos de Python.
Primero, creemos un nuevo entorno virtual usando venv e instalemos el paquete openai usando pip
pip install openai


In our project folder we create a new script and a .json file called secretkey. We will use the json file to save our access key
{
    "api_key": "tu-clave-secreta"
}

 

Cómo integrar ChatGPT en Python

 
Creamos un archivo python e importamos los módulos json y openai. ¡Asegúrese de no nombrar el archivo en el que escribirá el código "openai.py" ya que esto causará conflictos con la biblioteca recién importada del mismo nombre! Simplemente llamaremos a nuestro archivo assistant.py

Importamos nuestra clave secreta para autenticarnos leyéndola del archivo json usando el formulario apropiado.
with open("secretkey.json") as f:
    secretkey = json.load(f)
    api_key = secretkey["api_key"]

Para poder autenticarnos y por lo tanto poder comunicarnos con el backend de OpenAI, asignamos nuestra clave a openai.api_key
openai.api_key = api_key

Para poder hablar con el modelo de IA, ahora podemos usar openai.ChatCompletion.create().
Definimos una variable de respuesta a la que pasar la respuesta obtenida del backend de OpenAI. Pasemos a crear 3 parámetros: modelo, mensajes y temperatura
response = openai.ChatCompletion.create(
    model = "gpt-3.5-turbo",
    messages = [
           {"role": "system", "content": "Eres un asistente virtual llamado DZO y hablas español."}

] temperature = 1.0 )

 

El modelo, los mensajes y los parámetros de temperatura

 
OpenAI tiene varios modelos de inteligencia artificial que se pueden usar a través de API. Por este motivo, pasamos el nombre en clave del modelo que pretendemos utilizar al primer modelo.
parámetro , es decir, el "sistema" real con el que estamos interactuando textualmente. Daremos una definición de un modelo de lenguaje más adelante en la lección. Con las temperaturas podemos controlar el “nivel de confianza” del modelo a la hora de realizar estas predicciones. Un valor de temperatura bajo da como resultado predicciones más deterministas y precisas, mientras que el aumento de la temperatura dará como resultado respuestas más diversas. El valor predeterminado para la temperatura es 1,0 y acepta valores en el rango de 0,0 a 2,0. Finalmente, los mensajes
es una lista de diccionarios, donde cada uno tiene un rol ("sistema", "usuario" o "asistente") y un contenido. Los mensajes del sistema de roles ayudan a establecer el comportamiento del asistente al establecer el contexto inicial, los mensajes de usuario dan instrucciones al asistente y pueden ser generados por los usuarios, mientras que los mensajes del asistente representan respuestas anteriores enviadas por ChatGPT.
Para obtener una lista completa de parámetros, puede consultar la página de documentación dedicada en el sitio web oficial. .
 

¿Cómo usar este código en múltiples módulos?

 
El propósito de este artículo es permitirle integrar este modelo de lenguaje en sus proyectos y, para hacerlo, el código debe poder utilizarse en varios módulos. Luego podemos usar una función para importar cuando sea necesario.
La función aceptará como parámetro una lista llamada mensajes, que luego podemos pasar a la función create(). La notación de lista de mensajes utiliza la nomenclatura de sugerencias de tipo de Python, es decir, la verificación de tipo pasada a la variable no se valida en tiempo de ejecución, pero puede provenir de herramientas de desarrollo como IDE, linters, verificadores de tipo, etc.
Observe el valor de retorno de get_response(): response.choices[0].message . De toda la salida devuelta por el backend de OpenAI, solo nos interesa el mensaje devuelto, para que pueda agregarse a la lista de mensajes y enviarse junto con todos los demás mensajes intercambiados previamente en solicitudes posteriores.
def get_response(messages:list):
    response = openai.ChatCompletion.create(
        model = "gpt-3.5-turbo",
        messages=messages,
        temperature = 1.0 # 0.0 - 2.0
    )
    return response.choices[0].message

 

Nuestro asistente personal

 
Para crear el modelo en el modo de asistente personal, ahora es suficiente crear un ciclo while infinito en el que solicitar la entrada del usuario, solicitar una respuesta al backend y mostrar todo en la salida.
Nosotros usamos if __name__ == "__main__" ,tener este código ejecutado cada vez que el archivo donde estamos ejecutando este código (en nuestro caso, assistente.py) se ejecuta como un script, por ejemplo, al ejecutarlo desde una terminal del sistema.
También definimos mensajes y definimos en él un primer mensaje con rol: system
import json
import openai

with open("secrets.json") as f: secrets = json.load(f) api_key = secrets["api_key"]
openai.api_key = api_key
def get_response(messages:list): response = openai.ChatCompletion.create( model = "gpt-3.5-turbo", messages=messages, temperature = 1.0 # 0.0 - 2.0 ) return response.choices[0].message
if __name__ == "__main__": messages = [ {"role": "system", "content": "Eres un asistente virtual llamado DZO y hablas español."} ] try: while True: user_input = input("\nYou: ") messages.append({"role": "user", "content": user_input}) new_message = get_response(messages=messages) print(f"\nDZO: {new_message['content']}") messages.append(new_message) except KeyboardInterrupt: print("Nos vemos pronto!")



me pueden ayudar a escribir mi primer programa usando pythjon

También te puede interesar


Cómo instalar Python en Windows

Cómo escribir tu primer programa en Python

Cómo bloquear la PC con comando de voz usando Python

Cómo conectar la base de datos MySQL usando Connector/Python

Cómo dibujar formas con python

Cómo crear archivos de lectura y escritura en python

Cómo crear e inicializar un diccionario de Python


Leave comment
          

Guardar apodo y correo electrónico en este navegador para la próxima vez.



Cargando...     

Publish perfectly-optimized content in 1-click