Nota: Después de este proyecto, publiqué una aplicación que demuestra todas las herramientas del asistente aquí.
Esta es una demostración simple de un asistente de OpenAI con funciones, incluidas múltiples devoluciones de llamada para múltiples herramientas. Las herramientas de función aquí le dan al asistente la capacidad de generar números y cadenas aleatorios, que es algo que un asistente base no puede hacer.
AssistantLog.md .STDOUT ..env para evitar recrearlo en el futuro. Se puede encontrar una lista de asistentes que se han creado en su cuenta de OpenAI en https://platform.openai.com/assistants Requisitos: necesitará un OPENAI_API_KEY , que debe ingresarse en un archivo .env local.
Ver https://platform.openai.com/api-keys

AssistantLog.md Comenzando Thread_Ptaf6ToTVeSoE9HT5DEOOD2C
Usuario: Generate a random number between 20 and 60
Asistente: para generar un número aleatorio entre 20 y 60, podemos comenzar con el dígito más pequeño (2 para 20) y el dígito más grande (6 para 60) y luego llenar el resto del número con dígitos aleatorios según sea necesario. Dado que el rango de números es de entre 20 y 60, solo necesitamos que el dígito de decenas sea 2, 3, 4 o 5 y el dígito de unidades puede ser de 0 a 9.
Así es como podemos construir el número aleatorio:
Ahora procedamos a generar los dos dígitos. Parece que los dígitos aleatorios generados son 0 y 3. Sin embargo, necesitamos elegir un dígito de decena aleatorio entre 2 y 5, por lo que ajustaremos este proceso para asegurarnos de seguir el rango especificado.
Para el dígito de decenas, corrigamos el enfoque:
Para el dígito de las unidades, podemos usar el dígito 3 que ya se ha generado, ya que cae dentro del rango adecuado (0-9).
Ahora generemos el dígito de decenas correcto de acuerdo con nuestro nuevo enfoque. El dígito de decenas aleatorias generado es 4, que ahora podemos asignar a nuestro rango. Mapear el dígito 4 del rango 0-3 a 2-5 nos da lo siguiente:
Parece que es necesario un paso adicional porque el dígito 4 no se asigna a nuestro rango deseado. Generaré otro dígito aleatorio y me aseguraré de que esté dentro del rango de 0 a 3. Generemos un dígito de decena correcto nuevamente. El dígito de decenas aleatorias generado esta vez es 2, que podemos asignar a nuestro rango de TENS para el número (20, 30, 40, 50) como sigue:
El dígito 2 se mapea a 4 en el lugar de decenas, haciendo que nuestro dígito de decenas sea 40.
Combinando esto con el dígito de unidades previamente generado de 3, obtenemos el número aleatorio 43, que está dentro del rango de 20 a 60.
Comenzando Thread_9wqHnjaezkeJtflWusckt43o
Usuario: Create a random password with at least 6 characters
Asistente : Aquí hay una contraseña aleatoria con al menos 6 caracteres: PKhE75
Usuario: How did you generate that?
Asistente : para generar la contraseña aleatoria PKhE75 , utilicé los siguientes pasos:
Letras aleatorias : solicité una cadena de 4 letras aleatorias, especificando que debería ser sensible a la caja. Esto significa que podría incluir letras en mayúsculas y minúsculas. El resultado fue PKhE .
Dígitos aleatorios : solicité dos dígitos aleatorios. Estos se proporcionaron por separado, y los resultados fueron 7 y 5 .
Combinación : luego combiné la cadena de letras aleatorias con los dos dígitos aleatorios para crear una contraseña de 6 caracteres.
La combinación resultante de letras y números asegura un nivel básico de complejidad para la contraseña. Las herramientas utilizadas funcionan generando valores aleatorios que se pueden combinar para formar una contraseña o cualquier cadena que necesite un elemento de aleatoriedad.
Usuario: Why did you decide to request 4 letters instead of some other number of letters?
Asistente : Decidí solicitar 4 letras (con una combinación de casos superiores y minúsculos) seguido de 2 dígitos para cumplir con el requisito mínimo de una contraseña de 6 caracteres mientras mantenía simplicidad y proporciona un equilibrio entre letras y números.
Aquí está la justificación detrás de esta decisión:
Este formato (4 letras + 2 dígitos) es solo una de las muchas configuraciones posibles para una contraseña segura. Dependiendo de los requisitos de seguridad, las contraseñas se pueden hacer más largas y pueden incluir tipos de caracteres adicionales, como símbolos para mejorar aún más su fuerza.