Com mais de 70.000 unidades vendidas, o Macintosh desempenhou um papel fundamental no sucesso da Apple . Um fato curioso, o evento de lançamento foi ainda mais bem sucedido do que o próprio Mac. Com um orçamento de US$ 1,5 milhão, o renomado Ridley Scott dirigiu um em clara alusão ao icônico romance de Orwell, Nineteen Eighty-Four, que se tornou uma obra-prima e um divisor de águas.
A Prompt Engineering 101 é uma série de postagens pensada e escrita para desvendar os princípios e técnicas da prompt engineering, a arte de elaborar textos claros e eficazes, para propor modelos de linguagem e obter exatamente o que você procura. Esta série cobre a engenharia de prompt para uma ampla variedade de modelos generativos, incluindo ChatGPT e outros modelos de texto para texto. Também explora modelos de conversão de texto em imagem, como Stable Diffusion ou Midjourney, e investiga aspectos adicionais de LLMs, como alucinações, problemas de privacidade e segurança e muito mais...
Esta é a postagem nº 2 da série , onde abordaremos técnicas avançadas, como cadeia de pensamento e autoconsistência, para dominar a criação de prompts. Espero que você goste!
Na primeira parte desta série sobre Engenharia Pronta, mergulhamos nas intuições desta arte e chegamos a uma definição formal. Essencialmente, a Engenharia de Prompt é um processo iterativo de projetar e otimizar prompts claros e específicos para um Modelo de Linguagem Grande para garantir que ele gere respostas relevantes, precisas e coerentes.
LLMs de grande escala, como GPT-3 ou PaLM, exibiram uma capacidade impressionante de compreensão da linguagem natural e provaram ser extraordinariamente eficazes em tarefas como extrair informações de textos e gerar respostas em um estilo humano consistente. Mesmo assim, o LLM demonstrou ser bastante robusto executando tarefas desconhecidas quando alguns exemplos de tiro são incluídos no prompt. Essa técnica, popularizada por , tentou aumentar o desempenho do modelo em diversos benchmarks. Sem mencionar que economiza tempo e dinheiro no ajuste fino do modelo para um novo domínio específico.
Semelhante a como os humanos abordam problemas complexos, dividindo-os em subproblemas mais simples e seguindo uma linha de raciocínio lógico, podemos instruir um Modelo de Linguagem a fazer o mesmo. Essa abordagem foi explorada por Wei J et al. em . Ele demonstrou resultados impressionantes em vários benchmarks, confirmando o Chain-of-Thought (CoT) como uma abordagem sólida para melhorar o desempenho dos LLMs em tarefas de raciocínio comum.
Produtos 🛒
--- Dove Men+Care 8 bars pack $ 9.99 --- Dove Beauty Bar 4 bars pack $ 6.47 --- Dove Beauty Bar 1 bars $ 1.47 --- Dove Beauty Bar 14 bars pains $ 16 --- Yardley London Soap Bar (Pack of 10) $ 19.99 --- Dr. Squatch All Natural Bar Soap for Men, 5 Bar Variety Pack $46.45
Para determinar qual opção é mais conveniente, podemos calcular o preço por barra em cada alternativa (preço unitário). Em seguida, selecione a opção mais barata. Seguindo esse raciocínio, descobrimos que Dove Beauty Bar 14 barras é a opção mais barata com um preço unitário de $ 1,14 (-22% por barra do que Dove Beauty Bar 1 barras ).
Raciocínio 🧠
- Dove Men+Care 8 bars pack: $1,24875 / unit - Dove Beauty Bar 4 bars pack: 1,6175 / unit - Dove Beauty Bar 1 bars: 1,47 / unit - Dove Beauty Bar 14 bars pains: $1,142857 per / unit - Yardley London Soap Bar (Pack of 10): 1,999 / unit - Dr. Squatch All Natural Bar Soap for Men, 5 Bar Variety Pack: $9,29 / unit
Dica 💬
prompt = f""" You will be provided with a list of various product presentations delimited by <>. Each product presentation is accompanied by its price. Your task is to identify which is the best option based on the price. <{products}> """
Resposta 🤖
The best option based on price is Dove Beauty Bar 1 bars for $1.47.
Vamos reescrever o prompt instruindo o modelo a seguir uma cadeia de pensamento para resolver este problema adicionando as palavras mágicas “raciocínio passo a passo” . Além disso, enfatize explicitamente o objetivo de encontrar uma oportunidade de economizar dinheiro.
Dica 💬
prompt = f""" You will be provided with a list of various product presentations delimited by <>. Each product presentation is accompanied by its price. Your task is to identify which presentation offers the best money-saving opportunity, reasoning step-by-step: <{products}> """
Resposta 🤖
The first step is to compare price per unit for products of the same type (ie bars of soap). - Dove Men+Care 8 bars pack: $9.99 ÷ 8 bars = $1.25 per bar - Dove Beauty Bar 4 bars pack: $6.47 ÷ 4 bars = $1.62 per bar - Dove Beauty Bar 1 bars: $1.47 per bar - Dove Beauty Bar 14 bars pack: $16 ÷ 14 bars = $1.14 per bar - Yardley London Soap Bar (Pack of 10): $19.99 ÷ 10 bars = $1.99 per bar - Dr. Squatch All Natural Bar Soap for Men, 5 Bar Variety Pack: $46.45 ÷ 5 bars = $9.29 per bar Based on this analysis, the best money-saving opportunity is the Dove Beauty Bar 14 bars pack, which offers the lowest price per bar at $1.14.
Dica 💬
prompt = f""" Q: Walmart has the following presentations for Lay's Classic Potato Chips: a 13 oz bag for $4.98, an 8 oz bag for $2.76, and a pack of x10 units 1 oz each for $6.82. Which presentation has the lowest price by ounce? A: Presentation 1 costs 4.98 so has a price of 4.98/13 = 0,383076923 per ounce. Presentation 2 costs 2.76 so has a price of 2.76/8 = 0,345 / per ounce. Presentation 3 costs 6.82 and includes 10 packages so has a price of 6.82/(1 x 10) = 0.682 per ounce. In conclusion, the cheapest presentation is the second one with a price of 0.345 per ounce. Q: Walmart has the following presentation for Coca-Cola Soda: an x24 pack of 12 fl oz cans for $11.86, an x12 pack of 12 fl oz cans for $7.46, and an x6 pack of 16.9 fl oz bottles for $4.98. Which presentation has the lowest price by fluid ounce? """
Resposta 🤖
A: The 24-pack contains a total of 24 x 12 = 288 fluid ounces and costs $11.86, so the price per fluid ounce is 11.86/288 = $0.041 per fluid ounce. The 12-pack contains a total of 12 x 12 = 144 fluid ounces and costs $7.46, so the price per fluid ounce is 7.46/144 = $0.052 per fluid ounce. The 6-pack contains a total of 6 x 16.9 = 101.4 fluid ounces and costs $4.98, so the price per fluid ounce is 4.98/101.4 = $0.049 per fluid ounce. Therefore, the 24-pack has the lowest price per fluid ounce.
Produtos 🛒
--- Quilted Northern Ultra Plush Toilet Paper, 6 Mega Rolls Each Mega Roll has 255 3-ply sheets. $ 6.93 --- Quilted Northern Ultra Soft & Strong Toilet Paper, 18 Mega Rolls. 18 mega toilet paper rolls, each mega roll has 295 2-ply sheets $ 19.82 --- Angel Soft Toilet Paper, 36 Mega Rolls. With 320 2-ply sheets on every Mega Roll. $ 24.12 --- New Angel Soft Toilet Paper, 36 Mega Rolls. With 484 2-ply sheets Per Roll $ 45.44 --- Scott 1,000 Toilet Paper, 12 Rolls, 1000 Sheets per Roll. With Scott 1,000 Toilet Paper, you get 12 rolls of 1000 1-ply sheets.
Dica 💬
prompt = f""" You will be provided with a list of various product presentations delimited by <>. Each product presentation is accompanied by its price. Your task is to calculate the price by unit of measurement for each presentation, reasoning step-by-step. Finally, return a list in JSON format with the title of the product, original price and unit price using the title, total_price and unit_price keys respectively. <{products}> """
Resposta 🤖
Let's start by breaking down the cost for each roll and then calculating the cost per unit, in this case, the cost per sheet. For the Quilted Northern Ultra Plush Toilet Paper: * The product costs $6.93 and contains 6 mega rolls. Therefore, each mega roll costs $6.93 / 6 = $1.155. * Each mega roll contains 255 sheets. Therefore, the cost per sheet is $1.155 / 255 = $0.00453 approximately. For the Quilted Northern Ultra Soft & Strong Toilet Paper: * The product costs $19.82 and contains 18 mega rolls. Therefore, each mega roll costs $19.82 / 18 = $1.1011 approximately. * Each mega roll contains 295 sheets. Therefore, the cost per sheet is $1.1011 / 295 = $0.00373 approximately. For the Angel Soft Toilet Paper: * The product costs $24.12 and contains 36 mega rolls. Therefore, each mega roll costs $24.12 / 36 = $0.6694 approximately. * Each mega roll contains 320 sheets. Therefore, the cost per sheet is $0.6694 / 320 = $0.00209 approximately. For the New Angel Soft Toilet Paper: * The product costs $45.44 and contains 36 mega rolls. Therefore, each mega roll costs $45.44 / 36 = $1.2622 approximately. * Each mega roll contains 484 sheets. Therefore, the cost per sheet is $1.2622 / 484 = $0.00261 approximately. For the Scott 1,000 Toilet Paper: * The product costs $45.44 and contains 12 rolls. Therefore, each roll costs $45.44 / 12 = $3.7867 approximately. * Each roll contains 1000 sheets. Therefore, the cost per sheet is $3.7867 / 1000 = $0.00379 approximately. Now, let's format this into JSON: [ { "title": "Quilted Northern Ultra Plush Toilet Paper, 6 Mega Rolls", "total_price": "$6.93", "unit_price": "$0.00453" }, { "title": "Quilted Northern Ultra Soft & Strong Toilet Paper, 18 Mega Rolls", "total_price": "$19.82", "unit_price": "$0.00373" }, { "title": "Angel Soft Toilet Paper, 36 Mega Rolls", "total_price": "$24.12", "unit_price": "$0.00209" }, { "title": "New Angel Soft Toilet Paper, 36 Mega Rolls", "total_price": "$45.44", "unit_price": "$0.00261" }, { "title": "Scott 1,000 Toilet Paper, 12 Rolls, 1000 Sheets per Roll", "total_price": "$45.44", "unit_price": "$0.00379" } ] This JSON data provides each product's title, total price, and the calculated unit price.
Dica 💬
prompt = f""" You will be provided with a text delimited by <>. This text contains a JSON list with information about Walmart products. Your task is to extract that list and return only this list in JSON format. Each JSON list item contains the key "unit_price", which is a number. Before returning the list, sort it in ascending order by the key "unit_price". Here is an example of a list item: { "title": "Toilet paper", "total_price": "$2.99", "unit_price": "$0.0045" } Remember to return the list without any additional text or explanation, just the list in JSON format. <{response_prompt_1}> """
Resposta 🤖
[ { "title": "Angel Soft Toilet Paper, 36 Mega Rolls", "total_price": "$24.12", "unit_price": "$0.00209" }, { "title": "New Angel Soft Toilet Paper, 36 Mega Rolls", "total_price": "$45.44", "unit_price": "$0.00261" }, { "title": "Quilted Northern Ultra Soft & Strong Toilet Paper, 18 Mega Rolls", "total_price": "$19.82", "unit_price": "$0.00373" }, { "title": "Scott 1,000 Toilet Paper, 12 Rolls, 1000 Sheets per Roll", "total_price": "$45.44", "unit_price": "$0.00379" }, { "title": "Quilted Northern Ultra Plush Toilet Paper, 6 Mega Rolls", "total_price": "$6.93", "unit_price": "$0.00453" } ]
Dica 💬
prompt = f""" Your name is Wally and you are an artificial shopping assistant at Walmart stores. You will be provided with a list of various product presentations in a JSON list format, delimited by <>. Each product presentation is accompanied by its total_price, unit_price, and a title that contains extra information about the product presentation. Additionally, the list is sorted by unit_price ascending. Your task is to generate a short, straight-to-the-point buy recommendation, mentioning the best money-saving opportunity based on the JSON products list. Also include the best, smallest and largest options to give the user options based on the size of the product. Use a single paragraph to include all three recommendations. First present yourself in a friendly way, start mentioning the best option of all, then the smallest option, and finally the largest option. Say goodbye inventing something that includes the Walmart slogan "Save Money. Live Better". <{response_prompt_2}> """
Resposta 🤖
Hello there! I'm Wally, your friendly shopping assistant at Walmart. Let's dive into your toilet paper options! Looking at the overall value, your best option is the "Angel Soft Toilet Paper, 36 Mega Rolls" priced at $24.12 with a unit price of $0.00209, giving you the most bang for your buck. If you're seeking something compact and budget-friendly, the "Quilted Northern Ultra Plush Toilet Paper, 6 Mega Rolls" at $6.93 would be your go-to pick. On the other hand, if you are searching for the largest pack available, you should consider the "Scott 1,000 Toilet Paper, 12 Rolls, 1000 Sheets per Roll" priced at $45.44, offering a vast number of sheets for your needs. Remember, every cent counts at Walmart because our goal is to help you "Save Money. Live Better". Happy shopping!
Produtos 🛒
--- Great Value Cage Free Large AA White Eggs, 6 Count $ 1.07 --- Happy Egg Organic Free Range Large Brown Eggs, 12 Count $ 5.16 --- Great Value Cage Free Large AA White Eggs, 12 Count $ 1.86 --- Eggland's Best Farm Fresh Cage Free Large White Grade AA Eggs, 18 Count $ 2.69 --- Marketside Large Cage Free Brown Eggs, 12 Count $ 2.67
preferences = f""" - Only consider grade AA eggs - Only consider eggs produced on cage-free farms - The client needs a minimum of 6 eggs and a maximum of 12 """
Dica 💬
prompt = f""" You will be provided with a list of various product presentations delimited by <>. Each product presentation is accompanied by its price. Your task is to identify which presentation offers the best money-saving opportunity, reasoning step-by-step: Also, consider the following user preferences to select the most suitable ooption: {preferences} <{products}> """
Respostas 🤖
(1) Considering the user preferences, we first filter the list of eggs for only grade AA and cage-free options, which gives us the following choices: * Great Value Cage Free Large AA White Eggs, 6 Count: $1.07 * Great Value Cage Free Large AA White Eggs, 12 Count: $1.86 * Eggland's Best Farm Fresh Cage Free Large White Grade AA Eggs, 18 Count: $2.69 * The Happy Egg and Marketside options are discarded because their grade is not specified. Next, we consider the amount of eggs. The client needs a minimum of 6 eggs and a maximum of 12. Therefore, we can discard the Eggland's Best 18 count option, as it exceeds the maximum required amount. Now, we compare the remaining two options: * Great Value Cage Free Large AA White Eggs, 6 Count: $1.07 * Great Value Cage Free Large AA White Eggs, 12 Count: $1.86 * Although the 6-count pack fits the minimum requirement, the 12-count pack offers a better price per egg. For the 6-count pack, each egg costs $1.07 / 6 = ~$0.178. For the 12-count pack, each egg costs $1.86 / 12 = ~$0.155. Therefore, considering both the user's preferences and the cost per egg, the "Great Value Cage Free Large AA White Eggs, 12 Count" for $1.86 is the best money-saving opportunity. (2) Let's go through each product one by one, considering the user's preferences: 1. Great Value Cage Free Large AA White Eggs, 6 Count - $1.07 These are grade AA eggs from a cage-free farm, so they meet the user's criteria. The price per egg is $1.07/6 = $0.178. 2. Happy Egg Organic Free Range Large Brown Eggs, 12 Count - $5.16 These are not specified as grade AA, so we can't consider them based on user's preferences. 3. Great Value Cage Free Large AA White Eggs, 12 Count - $1.86 These are grade AA eggs from a cage-free farm and the quantity is within the range the user wants. The price per egg is $1.86/12 = $0.155. 4. Eggland's Best Farm Fresh Cage Free Large White Grade AA Eggs, 18 Count - $2.69 These are grade AA eggs from a cage-free farm. However, the quantity is more than the user wants (18), so we can't consider this option. 5. Marketside Large Cage Free Brown Eggs, 12 Count - $2.67 These are not specified as grade AA, so we can't consider them based on user's preferences. Based on the preferences, we are only left with two choices: Great Value Cage Free Large AA White Eggs, either 6 Count or 12 Count. However, the 12 Count package offers the best money-saving opportunity, because it has a lower cost per egg ($0.155 per egg) than the 6 Count package ($0.178 per egg). Additionally, the 12 Count package still falls within the user's desired quantity range of 6 to 12 eggs. Therefore, the best option for the user is the "Great Value Cage Free Large AA White Eggs, 12 Count" at $1.86. (3) Given the user's preferences, we need to find the product which: 1. Contains only grade AA eggs 2. Is produced on cage-free farms 3. Offers a minimum of 6 eggs and a maximum of 12 Let's consider each product: 1. "Great Value Cage Free Large AA White Eggs, 6 Count" - $ 1.07. This option matches all the user's preferences and costs $1.07 for 6 eggs, which is approximately $0.178 per egg. 2. "Happy Egg Organic Free Range Large Brown Eggs, 12 Count" - $ 5.16. This product does not specify the grade of the eggs, so we will disregard this option. 3. "Great Value Cage Free Large AA White Eggs, 12 Count" - $ 1.86. This option also matches the user's preferences and costs $1.86 for 12 eggs, which is approximately $0.155 per egg. 4. "Eggland's Best Farm Fresh Cage Free Large White Grade AA Eggs, 18 Count" - $ 2.69. While this product matches the egg grade and production method preferences, it contains more than the maximum amount of eggs requested by the user (18 instead of 12). Therefore, we disregard this option. 5. "Marketside Large Cage Free Brown Eggs, 12 Count" - $ 2.67. This product does not specify the grade of the eggs, so we will disregard this option. Therefore, the product that provides the best money-saving opportunity while meeting the user's preferences is "Great Value Cage Free Large AA White Eggs, 12 Count" for $1.86. This option offers more eggs for a lower cost per egg compared to the other suitable option.
Ao , um processo normalmente associado aos modelos InstructGPT (dos quais o ChatGPT é um exemplo), uma nova abordagem conhecida como Role Prompting ganhou força entre os usuários. Este método envolve instruir o modelo a assumir a personalidade de uma entidade conhecida para executar uma tarefa específica.
Para exemplificar esse tipo de solicitação, solicitaremos ao GPT-4 que personalize uma sugestão de compra no tom exclusivo de Sheldon Cooper (o famoso personagem do seriado The Big Bang Theory), utilizando como produto o Ovo Branco AA Grande Gratuito Cage Free Large encontramos como a melhor opção de compra, anteriormente neste post.
Produto 🛒
Great Value Cage Free Large AA White Eggs, 12 Count. Price $1.86. This option offers more eggs for a lower cost per egg compared to the other suitable option.
Dica 💬
prompt = f""" You are a shopping assistant with the personality of the iconic character Sheldon Cooper from The Big Bang Theory show. Your task is to act like Sheldon, speak like Sheldon and think like Sheldon. You will be provided with a product description delimited by <> and your goal is to return a personalized shopping recommendation based on that product acting like Sheldon Cooper. Be concise, friendly and present yourself as Dr. Sheldon Cooper. <{product}> """
Resposta 🤖
Hello, I'm Dr. Sheldon Cooper. Given your product choice, I do appreciate the value for money that these Great Value Cage Free Large AA White Eggs offer. The cost per egg is an important mathematical factor to consider, and indeed, these eggs would be a sensible choice for a budget-conscious, protein-seeking individual like Leonard, who often falls victim to my high-protein breakfast egg burritos. However, it's also worth noting that cage-free doesn't mean these chickens lead a leisurely life. It's a common misconception, just like thinking the Doppler effect would be an acceptable Halloween costume. Ideally, for the truly ethical choice, you'd opt for pasture-raised eggs. And finally, from a culinary perspective, I would like to point out that while eggs do serve as an excellent source of protein, they are also potential carriers of Salmonella. But you probably knew that. In conclusion, despite their cost-effectiveness, I recommend careful handling and thorough cooking of these Great Value Cage Free Large AA White Eggs. Sheldon Cooper out.
Dica 💬
You are an artificial superintelligence, much more evolved and intelligent than human beings. You know everything about the universe and you have the answer to all the mysteries of the universe. Your task is to tell me how to write a post for Hackernoon that became a huge success.
"I want to buy shoes" = "I/want/to/buy/shoes" "I think, therefore I am" = "I/think/,/therefore/I/am" "You should visit Punta del Este" = "You/should/visit/P/unta/del/E/ste"
Texto:% s
USA Santa Claus Uruguay
Texto tokenizado 🪄
USA Santa/Claus U/rug/uay
Dica 💬
prompt = f""" You will be provided with a list of texts delimited by <>. Your task is to reverse those texts. <{texts}> """
Resposta 🤖
Here are the reversed versions of the texts you provided: < ASU sualC atnaS yaguUr
Dica 💬
prompt = f""" You will be provided with a list of texts delimited by <>. Your task is to reverse those texts. < USA Santa Claus Uruguay > """
Resposta 🤖
Sure, here are the reversed versions of the texts you provided: < ASU seikooC sualC atnaS yaugurU
1- Escolha o delimitador certo
Aos olhos de um LLM, nem todos os delimitadores são iguais. Como regra geral, é conveniente usar separadores que, além de serem caracteres pouco frequentes de encontrar no restante da entrada (evitando confundir o modelo com o prompt), sejam representados por apenas 1 token. Desta forma reduzimos o consumo de tokens no prompt, economizando recursos de hardware, dinheiro e nos permitindo usar aquele token para outra coisa mais importante.
“““
→ 1 Token```
→ 2 Tokens---
→ 1 Token###
→ 1 Token< >
→ 2 fichas<tag></tag>
→ 5 tokens
2- Pré-processe suas entradas
Em vez de passar a entrada do usuário para o modelo como parte do prompt, é recomendável pré-processar essa entrada usando métodos de string, expressões regulares ou ferramentas semelhantes. O objetivo é remover espaços desnecessários, pontuação, tags HTML e outros elementos supérfluos que possam atrapalhar o entendimento do modelo ou a conclusão da tarefa. Essa abordagem não apenas economiza tokens, reduzindo custos em modelos como o ChatGPT, que cobram por token, mas também ajuda a identificar injeções imediatas, questões de privacidade e problemas relacionados.
3- Dica Perfeita
Você pode criar prompts eficazes do zero seguindo princípios e técnicas específicas (como as apresentadas nesta série de postagens). No entanto, uma abordagem ainda melhor é utilizar um otimizador de prompt, como . Essa ferramenta aproveita a IA para aprimorar seus prompts personalizados com base no modelo de destino específico que você está usando (GPT-3, GPT-4, Midjourney, etc).
4- Modelos de Prompt
Em vez de reinventar a roda, leia os modelos de prompt compartilhados por pessoas na Internet. Se nenhum prompt atender às suas necessidades, pelo menos você pode ter ideias. Aqui estão dois sites dos quais você pode obter vários modelos de prompt para ChatGPT, Midjourney e os modelos mais populares:
5- Playground OpenAI
OpenAI oferece uma ferramenta poderosa chamada . Este aplicativo da web interativo permite que você experimente vários modelos disponíveis por meio da API oficial, permitindo ajustar parâmetros específicos e alterar comportamentos padrão. O Playground é um excelente ponto de partida para seus experimentos e não requer escrever uma única linha de código.
| 👨💼 | 💻 Mais histórias