From 8eccfe3a271fdc7f44fa817ea0d98ef15a67bc69 Mon Sep 17 00:00:00 2001 From: Manuel Vergara Date: Fri, 2 Jun 2023 17:58:07 +0200 Subject: [PATCH] Add Python-chatGPT course - 3.2 Signed-off-by: Manuel Vergara --- python-chatgpt/README.md | 31 +++++++++++++++++++++++++++++-- python-chatgpt/code/miPrograma.py | 18 ++++++++++++++---- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/python-chatgpt/README.md b/python-chatgpt/README.md index 9b8e028..5d14d94 100644 --- a/python-chatgpt/README.md +++ b/python-chatgpt/README.md @@ -139,7 +139,7 @@ Usaremos la biblioteca openai para almacenar la respuesta: respuesta = openai.Completion.create( engine=modelo, prompt=prompt, - n=1 # Opcional + n=1, # Opcional. Número de respuestas a devolver ) ``` @@ -151,9 +151,36 @@ print(respuesta) ``` Si queremos mostrar solo el texto de la respuesta: ```python -print(respuesta['choices'][0]['text']) +print(respuesta.choices[0].text.strip()) ``` +## 3.2. - Personalización de las peticiones de ChatGPT +### 3.2.1. - Temperatura (creatividad) + +Es un parametro que controla como es de aleatoria la respuesta. Cuanto más alta más diversa será la respuesta, se puede poner valores de 0.1 a 1. +```python +temperature=1 +``` + +### 3.2.2. - Tokens máximos (largo) + +Controlas el largo de la respuesta contando los tokens máximos: +```python +max_tokens=100 +``` + +### 3.2.3. - Cantidad de respuestas + +Es con el argumento n que ya habíamos usado, pero necesitaremos un loop for para recorrer las respuestas y mostrarlas: +```python +for idx, opcion in enumerate(respuesta.choices): + texto_generado = opcion.text.strip() + print(f"Respuesta {idx + 1}: {texto_generado}\n") +``` + +3.3. - Procesar y analizar las respuestas de chatgpt + + diff --git a/python-chatgpt/code/miPrograma.py b/python-chatgpt/code/miPrograma.py index 585f2cf..2bb58de 100644 --- a/python-chatgpt/code/miPrograma.py +++ b/python-chatgpt/code/miPrograma.py @@ -12,13 +12,23 @@ openai.api_key = api_key # print(modelos) -modelo = "text-ada-001" -prompt = "¿Cuál es la capital de Costa Rica?" +modelo = "text-davinci-002" +prompt = "Elige un buen nombre para un elefante" respuesta = openai.Completion.create( engine=modelo, prompt=prompt, - n=1 + n=3, # Opcional. Número de respuestas + temperature=1, # Opcional. Controla la creatividad de la respuesta + max_tokens=50 # Opcional. Número máximo de tokens en la respuesta ) -print(respuesta) +# print(respuesta) + +# texto_generado = respuesta['choices'][0]['text'] +# print(texto_generado) + + +for idx, opcion in enumerate(respuesta.choices): + texto_generado = opcion.text.strip() + print(f"Respuesta {idx + 1}: {texto_generado}\n")