(Haz clic en la imagen de arriba para ver el video de esta lección)
Hasta ahora, has visto a través de este currículo que hay conceptos clave como los prompts e incluso una disciplina completa llamada "ingeniería de prompts". Muchas herramientas con las que puedes interactuar como ChatGPT, Office 365, Microsoft Power Platform y más, te permiten usar prompts para lograr algo.
Para que puedas añadir tal experiencia a una aplicación, necesitas entender conceptos como prompts, completaciones y elegir una biblioteca para trabajar. Eso es exactamente lo que aprenderás en este capítulo.
En este capítulo, vas a:
- Aprender sobre la biblioteca openai y sus conceptos clave.
- Construir una aplicación de generación de texto usando openai.
- Entender cómo usar conceptos como prompt, temperatura y tokens para construir una aplicación de generación de texto.
Al final de esta lección, podrás:
- Explicar qué es una aplicación de generación de texto.
- Construir una aplicación de generación de texto usando openai.
- Configurar tu aplicación para usar más o menos tokens y también cambiar la temperatura, para obtener un resultado variado.
Normalmente, cuando construyes una aplicación, tiene algún tipo de interfaz como la siguiente:
- Basada en comandos. Las aplicaciones de consola son aplicaciones típicas donde escribes un comando y realiza una tarea. Por ejemplo,
gites una aplicación basada en comandos. - Interfaz de usuario (UI). Algunas aplicaciones tienen interfaces gráficas de usuario (GUIs) donde haces clic en botones, ingresas texto, seleccionas opciones y más.
Compáralo con una aplicación basada en comandos donde escribes un comando:
- Es limitado. No puedes simplemente escribir cualquier comando, solo los que la aplicación soporta.
- Específico del idioma. Algunas aplicaciones soportan muchos idiomas, pero por defecto la aplicación está construida para un idioma específico, incluso si puedes añadir más soporte de idiomas.
Entonces, ¿cómo es diferente una aplicación de generación de texto?
En una aplicación de generación de texto, tienes más flexibilidad, no estás limitado a un conjunto de comandos o a un idioma de entrada específico. En cambio, puedes usar lenguaje natural para interactuar con la aplicación. Otro beneficio es que ya estás interactuando con una fuente de datos que ha sido entrenada en un vasto corpus de información, mientras que una aplicación tradicional podría estar limitada a lo que hay en una base de datos.
Hay muchas cosas que puedes construir. Por ejemplo:
- Un chatbot. Un chatbot que responde preguntas sobre temas, como tu empresa y sus productos podría ser una buena opción.
- Asistente. Los LLMs son excelentes para cosas como resumir texto, obtener información de texto, producir texto como currículums y más.
- Asistente de código. Dependiendo del modelo de lenguaje que uses, puedes construir un asistente de código que te ayude a escribir código. Por ejemplo, puedes usar un producto como GitHub Copilot, así como ChatGPT para ayudarte a escribir código.
Bueno, necesitas encontrar una manera de integrarte con un LLM, lo que generalmente implica los siguientes dos enfoques:
- Usar una API. Aquí estás construyendo solicitudes web con tu prompt y obtienes texto generado de vuelta.
- Usar una biblioteca. Las bibliotecas ayudan a encapsular las llamadas a la API y hacen que sean más fáciles de usar.
Hay algunas bibliotecas bien conocidas para trabajar con LLMs como:
- openai, esta biblioteca facilita la conexión a tu modelo y el envío de prompts.
Luego hay bibliotecas que operan a un nivel más alto como:
- Langchain. Langchain es bien conocida y soporta Python.
- Semantic Kernel. Semantic Kernel es una biblioteca de Microsoft que soporta los lenguajes C#, Python y Java.
Veamos cómo podemos construir nuestra primera aplicación, qué bibliotecas necesitamos, cuánto se requiere y así sucesivamente.
Hay muchas bibliotecas por ahí para interactuar con OpenAI o Azure OpenAI. Es posible usar numerosos lenguajes de programación también como C#, Python, JavaScript, Java y más. Hemos elegido usar la biblioteca openai de Python, así que usaremos pip para instalarla.
pip install openaiNecesitas llevar a cabo los siguientes pasos:
-
Crear una cuenta en Azure https://azure.microsoft.com/free/.
-
Obtener acceso a Azure OpenAI. Ve a https://learn.microsoft.com/azure/ai-services/openai/overview#how-do-i-get-access-to-azure-openai y solicita acceso.
[!NOTE] En el momento de escribir esto, necesitas aplicar para obtener acceso a Azure OpenAI.
-
Instalar Python https://www.python.org/
-
Haber creado un recurso de Azure OpenAI Service. Consulta esta guía para saber cómo crear un recurso.
En este punto, necesitas decirle a tu biblioteca openai qué clave de API usar. Para encontrar tu clave de API, ve a la sección "Keys and Endpoint" de tu recurso de Azure OpenAI y copia el valor de "Key 1".
Ahora que tienes esta información copiada, vamos a instruir a las bibliotecas para que la usen.
Note
Vale la pena separar tu clave de API de tu código. Puedes hacerlo usando variables de entorno.
- Establece la variable de entorno
OPENAI_API_KEYto your API key.export OPENAI_API_KEY='sk-...'
Si estás usando Azure OpenAI, aquí está cómo configuras la configuración:
openai.api_type = 'azure'
openai.api_key = os.environ["OPENAI_API_KEY"]
openai.api_version = '2023-05-15'
openai.api_base = os.getenv("API_BASE")Arriba estamos configurando lo siguiente:
api_typetoazure. This tells the library to use Azure OpenAI and not OpenAI.api_key, this is your API key found in the Azure Portal.api_version, this is the version of the API you want to use. At the time of writing, the latest version is2023-05-15.api_base, this is the endpoint of the API. You can find it in the Azure Portal next to your API key.
[!NOTE] >
os.getenvis a function that reads environment variables. You can use it to read environment variables likeOPENAI_API_KEYandAPI_BASE. Set these environment variables in your terminal or by using a library likedotenv.
The way to generate text is to use the Completion class. Aquí hay un ejemplo:
prompt = "Complete the following: Once upon a time there was a"
completion = openai.Completion.create(model="davinci-002", prompt=prompt)
print(completion.choices[0].text)En el código anterior, creamos un objeto de completación y pasamos el modelo que queremos usar y el prompt. Luego imprimimos el texto generado.
Hasta ahora, has visto cómo hemos estado usando Completion to generate text. But there's another class called ChatCompletion que es más adecuado para chatbots. Aquí hay un ejemplo de cómo usarlo:
import openai
openai.api_key = "sk-..."
completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello world"}])
print(completion.choices[0].message.content)Más sobre esta funcionalidad en un próximo capítulo.
Ahora que aprendimos cómo configurar y configurar openai, es hora de construir tu primera aplicación de generación de texto. Para construir tu aplicación, sigue estos pasos:
-
Crea un entorno virtual e instala openai:
python -m venv venv source venv/bin/activate pip install openai[!NOTE] Si estás usando Windows, escribe
venv\Scripts\activateinstead ofsource venv/bin/activate.[!NOTE] Locate your Azure OpenAI key by going to https://portal.azure.com/ and search for
Open AIand select theOpen AI resourceand then selectKeys and Endpointand copy theKey 1value. -
Crea un archivo app.py y dale el siguiente código:
import openai openai.api_key = "<replace this value with your open ai key or Azure OpenAI key>" openai.api_type = 'azure' openai.api_version = '2023-05-15' openai.api_base = "<endpoint found in Azure Portal where your API key is>" deployment_name = "<deployment name>" # add your completion code prompt = "Complete the following: Once upon a time there was a" messages = [{"role": "user", "content": prompt}] # make completion completion = openai.chat.completions.create(model=deployment_name, messages=messages) # print response print(completion.choices[0].message.content)
[!NOTE] Si estás usando Azure OpenAI, necesitas establecer el
api_typetoazureand set theapi_keya tu clave de Azure OpenAI.Deberías ver un resultado como el siguiente:
very unhappy _____. Once upon a time there was a very unhappy mermaid.
Ahora has visto cómo generar texto usando un prompt. Incluso tienes un programa en funcionamiento que puedes modificar y cambiar para generar diferentes tipos de texto.
Los prompts pueden ser usados para todo tipo de tareas. Por ejemplo:
- Generar un tipo de texto. Por ejemplo, puedes generar un poema, preguntas para un cuestionario, etc.
- Buscar información. Puedes usar prompts para buscar información como el siguiente ejemplo '¿Qué significa CORS en el desarrollo web?'.
- Generar código. Puedes usar prompts para generar código, por ejemplo, desarrollar una expresión regular utilizada para validar correos electrónicos o por qué no generar un programa completo, como una aplicación web.
Imagina que tienes ingredientes en casa y quieres cocinar algo. Para eso, necesitas una receta. Una forma de encontrar recetas es usar un motor de búsqueda o podrías usar un LLM para hacerlo.
Podrías escribir un prompt como este:
"Muéstrame 5 recetas para un plato con los siguientes ingredientes: pollo, papas y zanahorias. Por receta, enumera todos los ingredientes utilizados"
Dado el prompt anterior, podrías obtener una respuesta similar a:
1. Roasted Chicken and Vegetables:
Ingredients:
- 4 chicken thighs
- 2 potatoes, cut into cubes
- 2 carrots, cut into cubes
- 2 tablespoons olive oil
- 2 cloves garlic, minced
- 1 teaspoon dried thyme
- 1 teaspoon dried oregano
- Salt and pepper, to taste
2. Chicken and Potato Stew:
Ingredients:
- 2 tablespoons olive oil
- 1 onion, diced
- 2 cloves garlic, minced
- 2 chicken breasts, cut into cubes
- 2 potatoes, cut into cubes
- 2 carrots, cut into cubes
- 1 teaspoon dried oregano
- 1 teaspoon dried thyme
- 1 cup chicken broth
- Salt and pepper, to taste
3. Chicken and Potato Bake:
Ingredients:
- 2 tablespoons olive oil
- 2 chicken breasts, cut into cubes
- 2 potatoes, cut into cubes
- 2 carrots, cut into cubes
- 1 onion, diced
- 2 cloves garlic, minced
- 1 teaspoon dried oregano
- 1 teaspoon dried thyme
- 1 cup chicken broth
- Salt and pepper, to taste
4. Chicken and Potato Soup:
Ingredients:
- 2 tablespoons olive oil
- 1 onion, diced
- 2 cloves garlic, minced
- 2 chicken breasts, cut into cubes
- 2 potatoes, cut into cubes
- 2 carrots, cut into cubes
- 1 teaspoon dried oregano
- 1 teaspoon dried thyme
- 4 cups chicken broth
- Salt and pepper, to taste
5. Chicken and Potato Hash:
Ingredients:
- 2 tablespoons olive oil
- 2 chicken breasts, cut into cubes
- 2 potatoes, cut into cubes
- 2 carrots, cut into cubes
- 1 onion, diced
- 2 cloves garlic, minced
- 1 teaspoon dried oregano
Este resultado es genial, sé qué cocinar. En este punto, lo que podría ser útil mejorar es:
- Filtrar ingredientes que no me gustan o a los que soy alérgico.
- Producir una lista de compras, en caso de que no tenga todos los ingredientes en casa.
Para los casos anteriores, vamos a añadir un prompt adicional:
"Por favor, elimina recetas con ajo ya que soy alérgico y reemplázalo por otra cosa. También, por favor produce una lista de compras para las recetas, considerando que ya tengo pollo, papas y zanahorias en casa."
Ahora tienes un nuevo resultado, a saber:
1. Roasted Chicken and Vegetables:
Ingredients:
- 4 chicken thighs
- 2 potatoes, cut into cubes
- 2 carrots, cut into cubes
- 2 tablespoons olive oil
- 1 teaspoon dried thyme
- 1 teaspoon dried oregano
- Salt and pepper, to taste
2. Chicken and Potato Stew:
Ingredients:
- 2 tablespoons olive oil
- 1 onion, diced
- 2 chicken breasts, cut into cubes
- 2 potatoes, cut into cubes
- 2 carrots, cut into cubes
- 1 teaspoon dried oregano
- 1 teaspoon dried thyme
- 1 cup chicken broth
- Salt and pepper, to taste
3. Chicken and Potato Bake:
Ingredients:
- 2 tablespoons olive oil
- 2 chicken breasts, cut into cubes
- 2 potatoes, cut into cubes
- 2 carrots, cut into cubes
- 1 onion, diced
- 1 teaspoon dried oregano
- 1 teaspoon dried thyme
- 1 cup chicken broth
- Salt and pepper, to taste
4. Chicken and Potato Soup:
Ingredients:
- 2 tablespoons olive oil
- 1 onion, diced
- 2 chicken breasts, cut into cubes
- 2 potatoes, cut into cubes
- 2 carrots, cut into cubes
- 1 teaspoon dried oregano
- 1 teaspoon dried thyme
- 4 cups chicken broth
- Salt and pepper, to taste
5. Chicken and Potato Hash:
Ingredients:
- 2 tablespoons olive oil
- 2 chicken breasts, cut into cubes
- 2 potatoes, cut into cubes
- 2 carrots, cut into cubes
- 1 onion, diced
- 1 teaspoon dried oregano
Shopping List:
- Olive oil
- Onion
- Thyme
- Oregano
- Salt
- Pepper
Esas son tus cinco recetas, sin mencionar el ajo y también tienes una lista de compras considerando lo que ya tienes en casa.
Ahora que hemos desarrollado un escenario, escribamos código para que coincida con el escenario demostrado. Para hacerlo, sigue estos pasos:
-
Usa el archivo app.py existente como punto de partida
-
Localiza la variable
prompty cambia su código a lo siguiente:prompt = "Show me 5 recipes for a dish with the following ingredients: chicken, potatoes, and carrots. Per recipe, list all the ingredients used"
Si ahora ejecutas el código, deberías ver un resultado similar a:
-Chicken Stew with Potatoes and Carrots: 3 tablespoons oil, 1 onion, chopped, 2 cloves garlic, minced, 1 carrot, peeled and chopped, 1 potato, peeled and chopped, 1 bay leaf, 1 thyme sprig, 1/2 teaspoon salt, 1/4 teaspoon black pepper, 1 1/2 cups chicken broth, 1/2 cup dry white wine, 2 tablespoons chopped fresh parsley, 2 tablespoons unsalted butter, 1 1/2 pounds boneless, skinless chicken thighs, cut into 1-inch pieces -Oven-Roasted Chicken with Potatoes and Carrots: 3 tablespoons extra-virgin olive oil, 1 tablespoon Dijon mustard, 1 tablespoon chopped fresh rosemary, 1 tablespoon chopped fresh thyme, 4 cloves garlic, minced, 1 1/2 pounds small red potatoes, quartered, 1 1/2 pounds carrots, quartered lengthwise, 1/2 teaspoon salt, 1/4 teaspoon black pepper, 1 (4-pound) whole chicken -Chicken, Potato, and Carrot Casserole: cooking spray, 1 large onion, chopped, 2 cloves garlic, minced, 1 carrot, peeled and shredded, 1 potato, peeled and shredded, 1/2 teaspoon dried thyme leaves, 1/4 teaspoon salt, 1/4 teaspoon black pepper, 2 cups fat-free, low-sodium chicken broth, 1 cup frozen peas, 1/4 cup all-purpose flour, 1 cup 2% reduced-fat milk, 1/4 cup grated Parmesan cheese -One Pot Chicken and Potato Dinner: 2 tablespoons olive oil, 1 pound boneless, skinless chicken thighs, cut into 1-inch pieces, 1 large onion, chopped, 3 cloves garlic, minced, 1 carrot, peeled and chopped, 1 potato, peeled and chopped, 1 bay leaf, 1 thyme sprig, 1/2 teaspoon salt, 1/4 teaspoon black pepper, 2 cups chicken broth, 1/2 cup dry white wine -Chicken, Potato, and Carrot Curry: 1 tablespoon vegetable oil, 1 large onion, chopped, 2 cloves garlic, minced, 1 carrot, peeled and chopped, 1 potato, peeled and chopped, 1 teaspoon ground coriander, 1 teaspoon ground cumin, 1/2 teaspoon ground turmeric, 1/2 teaspoon ground ginger, 1/4 teaspoon cayenne pepper, 2 cups chicken broth, 1/2 cup dry white wine, 1 (15-ounce) can chickpeas, drained and rinsed, 1/2 cup raisins, 1/2 cup chopped fresh cilantroNOTA, tu LLM es no determinista, por lo que podrías obtener resultados diferentes cada vez que ejecutes el programa.
Genial, veamos cómo podemos mejorar las cosas. Para mejorar las cosas, queremos asegurarnos de que el código sea flexible, para que los ingredientes y el número de recetas puedan mejorarse y cambiarse.
-
Cambiemos el código de la siguiente manera:
no_recipes = input("No of recipes (for example, 5): ") ingredients = input("List of ingredients (for example, chicken, potatoes, and carrots): ") # interpolate the number of recipes into the prompt an ingredients prompt = f"Show me {no_recipes} recipes for a dish with the following ingredients: {ingredients}. Per recipe, list all the ingredients used"
Tomando el código para una prueba, podría verse así:
No of recipes (for example, 5): 3 List of ingredients (for example, chicken, potatoes, and carrots): milk,strawberries -Strawberry milk shake: milk, strawberries, sugar, vanilla extract, ice cubes -Strawberry shortcake: milk, flour, baking powder, sugar, salt, unsalted butter, strawberries, whipped cream -Strawberry milk: milk, strawberries, sugar, vanilla extract
Ahora tenemos una aplicación funcional capaz de producir recetas y es flexible ya que depende de las entradas del usuario, tanto en el número de recetas como en los ingredientes utilizados.
Para mejorarla aún más, queremos añadir lo siguiente:
-
Filtrar ingredientes. Queremos poder filtrar ingredientes que no nos gustan o a los que somos alérgicos. Para lograr este cambio, podemos editar nuestro prompt existente y añadir una condición de filtro al final como este:
filter = input("Filter (for example, vegetarian, vegan, or gluten-free): ") prompt = f"Show me {no_recipes} recipes for a dish with the following ingredients: {ingredients}. Per recipe, list all the ingredients used, no {filter}"
Arriba, añadimos
{filter}al final del prompt y también capturamos el valor del filtro del usuario.Un ejemplo de entrada al ejecutar el programa ahora puede verse así:
No of recipes (for example, 5): 3 List of ingredients (for example, chicken, potatoes, and carrots): onion,milk Filter (for example, vegetarian, vegan, or gluten-free): no milk 1. French Onion Soup Ingredients: -1 large onion, sliced -3 cups beef broth -1 cup milk -6 slices french bread -1/4 cup shredded Parmesan cheese -1 tablespoon butter -1 teaspoon dried thyme -1/4 teaspoon salt -1/4 teaspoon black pepper Instructions: 1. In a large pot, sauté onions in butter until golden brown. 2. Add beef broth, milk, thyme, salt, and pepper. Bring to a boil. 3. Reduce heat and simmer for 10 minutes. 4. Place french bread slices on soup bowls. 5. Ladle soup over bread. 6. Sprinkle with Parmesan cheese. 2. Onion and Potato Soup Ingredients: -1 large onion, chopped -2 cups potatoes, diced -3 cups vegetable broth -1 cup milk -1/4 teaspoon black pepper Instructions: 1. In a large pot, sauté onions in butter until golden brown. 2. Add potatoes, vegetable broth, milk, and pepper. Bring to a boil. 3. Reduce heat and simmer for 10 minutes. 4. Serve hot. 3. Creamy Onion Soup Ingredients: -1 large onion, chopped -3 cups vegetable broth -1 cup milk -1/4 teaspoon black pepper -1/4 cup all-purpose flour -1/2 cup shredded Parmesan cheese Instructions: 1. In a large pot, sauté onions in butter until golden brown. 2. Add vegetable broth, milk, and pepper. Bring to a boil. 3. Reduce heat and simmer for 10 minutes. 4. In a small bowl, whisk together flour and Parmesan cheese until smooth. 5. Add to soup and simmer for an additional 5 minutes, or until soup has thickened.Como puedes ver, cualquier receta con leche ha sido filtrada. Pero, si eres intolerante a la lactosa, podrías querer filtrar recetas con queso también, así que hay una necesidad de ser claro.
-
Producir una lista de compras. Queremos producir una lista de compras, considerando lo que ya tenemos en casa.
Para esta funcionalidad, podríamos intentar resolver todo en un solo prompt o podríamos dividirlo en dos prompts. Vamos a intentar el segundo enfoque. Aquí estamos sugiriendo añadir un prompt adicional, pero para que funcione, necesitamos añadir el resultado del primer prompt como contexto al segundo prompt.
Localiza la parte en el código que imprime el resultado del primer prompt y añade el siguiente código debajo:
old_prompt_result = completion.choices[0].message.content prompt = "Produce a shopping list for the generated recipes and please don't include ingredients that I already have." new_prompt = f"{old_prompt_result} {prompt}" messages = [{"role": "user", "content": new_prompt}] completion = openai.Completion.create(engine=deployment_name, messages=messages, max_tokens=1200) # print response print("Shopping list:") print(completion.choices[0].message.content)
Nota lo siguiente:
-
Estamos construyendo un nuevo prompt añadiendo el resultado del primer prompt al nuevo prompt:
new_prompt = f"{old_prompt_result} {prompt}"
-
Hacemos una nueva solicitud, pero también considerando el número de tokens que pedimos en el primer prompt, así que esta vez decimos que
max_tokenses 1200.completion = openai.Completion.create(engine=deployment_name, prompt=new_prompt, max_tokens=1200)
Tomando este código para una prueba, ahora llegamos al siguiente resultado:
No of recipes (for example, 5): 2 List of ingredients (for example, chicken, potatoes, and carrots): apple,flour Filter (for example, vegetarian, vegan, or gluten-free): sugar -Apple and flour pancakes: 1 cup flour, 1/2 tsp baking powder, 1/2 tsp baking soda, 1/4 tsp salt, 1 tbsp sugar, 1 egg, 1 cup buttermilk or sour milk, 1/4 cup melted butter, 1 Granny Smith apple, peeled and grated -Apple fritters: 1-1/2 cups flour, 1 tsp baking powder, 1/4 tsp salt, 1/4 tsp baking soda, 1/4 tsp nutmeg, 1/4 tsp cinnamon, 1/4 tsp allspice, 1/4 cup sugar, 1/4 cup vegetable shortening, 1/4 cup milk, 1 egg, 2 cups shredded, peeled apples Shopping list: -Flour, baking powder, baking soda, salt, sugar, egg, buttermilk, butter, apple, nutmeg, cinnamon, allspice
-
Lo que tenemos hasta ahora es código que funciona, pero hay algunos ajustes que deberíamos hacer para mejorar las cosas aún más. Algunas cosas que deberíamos hacer son:
-
Separar secretos del código, como la clave de API. Los secretos no pertenecen al código y deben almacenarse en un lugar seguro. Para separar los secretos del código, podemos usar variables de entorno y bibliotecas como
python-dotenvto load them from a file. Here's how that would look like in code:-
Create a
.envfile con el siguiente contenido:OPENAI_API_KEY=sk-...
Nota, para Azure, necesitas establecer las siguientes variables de entorno:
OPENAI_API_TYPE=azure OPENAI_API_VERSION=2023-05-15 OPENAI_API_BASE=<replace>
En el código, cargarías las variables de entorno así:
from dotenv import load_dotenv load_dotenv() openai.api_key = os.environ["OPENAI_API_KEY"]
-
-
Una palabra sobre la longitud de los tokens. Deberíamos considerar cuántos tokens necesitamos para generar el texto que queremos. Los tokens cuestan dinero, así que donde sea posible, deberíamos intentar ser económicos con el número de tokens que usamos. Por ejemplo, ¿podemos formular el prompt de manera que podamos usar menos tokens?
Para cambiar los tokens usados, puedes usar el parámetro
max_tokens. Por ejemplo, si quieres usar 100 tokens, harías:completion = client.chat.completions.create(model=deployment, messages=messages, max_tokens=100)
-
Experimentando con la temperatura. La temperatura es algo que no hemos mencionado hasta ahora, pero es un contexto importante para cómo funciona nuestro programa. Cuanto mayor sea el valor de temperatura, más aleatorio será el resultado. Por el contrario, cuanto menor sea el valor de temperatura, más predecible será el resultado. Considera si deseas variación en tu resultado o no.
Para alterar la temperatura, puedes usar el parámetro
temperature. Por ejemplo, si quieres usar una temperatura de 0.5, harías:completion = client.chat.completions.create(model=deployment, messages=messages, temperature=0.5)
Nota, cuanto más cerca de 1.0, más variado será el resultado.
Para esta tarea, puedes elegir qué construir.
Aquí hay algunas sugerencias:
- Ajusta la aplicación generadora de recetas para mejorarla aún más. Juega con los valores de temperatura y los prompts para ver qué puedes crear.
- Construye un "compañero de estudio". Esta aplicación debería poder responder preguntas sobre un tema, por ejemplo, Python, podrías tener prompts como "¿Qué es un cierto tema en Python?", o podrías tener un prompt que diga, muéstrame código para un cierto tema, etc.
- Bot de historia, haz que la historia cobre vida, instruye al bot para que interprete a un personaje histórico y hazle preguntas sobre su vida y tiempos.
A continuación se muestra un prompt inicial, ve cómo puedes usarlo y ajustarlo a tu gusto.
- "You're an expert on the Python language
Suggest a beginner lesson for Python in the following format:
Format:
- concepts:
- brief explanation of the lesson:
- exercise in code with solutions"
Aquí hay algunos prompts que podrías estar usando:
- "You are Abe Lincoln, tell me about yourself in 3 sentences, and respond using grammar and words like Abe would have used"
- "You are Abe Lincoln, respond using grammar and words like Abe would have used:
Tell me about your greatest accomplishments, in 300 words"
¿Qué hace el concepto de temperatura?
- Controla cuán aleatorio es el resultado.
- Controla cuán grande es la respuesta.
- Controla cuántos tokens se utilizan.
Al trabajar en la tarea, intenta variar la temperatura, intenta establecerla en 0, 0.5 y 1. Recuerda que 0 es el menos variado y 1 es el más, ¿qué valor funciona mejor para tu aplicación?
Después de completar esta lección, consulta nuestra colección de aprendizaje de IA generativa para seguir mejorando tus conocimientos de IA generativa.
¡Dirígete a la Lección 7 donde veremos cómo construir aplicaciones de chat!
Descargo de responsabilidad:
Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Aunque nos esforzamos por lograr precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional humana. No nos hacemos responsables de ningún malentendido o interpretación errónea que surja del uso de esta traducción.

