Visão geral do OpenAI do Azure e do preenchimento de textos
O Serviço OpenAI do Azure fornece acesso de API REST aos poderosos modelos de linguagem da OpenAI, incluindo as séries de modelos GPT-3.5 e GPT-4. Esses modelos podem ser facilmente adaptados à sua tarefa específica, incluindo, entre outros, geração de conteúdo, resumo, pesquisa semântica e tradução de linguagem natural para código.
Além do acesso à API REST, temos um SDK do .NET para acessar o Serviço OpenAI do Azure. E é esse SDK que vamos usar para compilar nosso aplicativo. Mas antes de compilar o aplicativo, vamos aprender um pouco mais sobre o que é o OpenAI do Azure e o que são preenchimentos de textos. Esse conhecimento nos dará a base de que precisamos para compilar aplicativos incríveis com a IA.
Visão geral do OpenAI do Azure
O Serviço OpenAI do Azure oferece aos clientes uma IA de linguagem avançada com os modelos GPT-3.5, GPT-4, Codex e DALL-E da OpenAI, com a promessa empresarial e de segurança do Azure. O OpenAI do Azure desenvolve as APIs em conjunto com a OpenAI, garantindo a compatibilidade e uma transição suave de uma para a outra.
Com o OpenAI do Azure, os clientes obtêm os recursos de segurança do Microsoft Azure enquanto executam os mesmos modelos que o OpenAI. O OpenAI do Azure oferece uma rede privada, disponibilidade regional, uma filtragem responsável do conteúdo de IA e a capacidade de ampliar o modelo com seus próprios dados.
O ponto de extremidade de conclusões é o componente principal do serviço de API. Essa API fornece acesso à interface entrada e saída do modelo. Os usuários precisam apenas fornecer um prompt de inserção contendo o comando de texto em inglês; o modelo irá gerar um preenchimento de texto.
Preenchimentos de textos
Nessa unidade, vamos aprender o que são preenchimentos de textos. O ponto de extremidade de conclusões pode ser usado para uma ampla variedade de tarefas. O recurso fornece uma interface simples, mas poderosa, com inserções e emissões de texto para qualquer modelo do OpenAI do Azure. Você insere um texto como um prompt e o modelo gera um preenchimento de texto que tenta se equiparar a qualquer contexto ou padrão que você forneceu. Por exemplo, se você fornecer à API o prompt "Como Descartes disse, eu penso, logo", ela retornará o preenchimento "existo" com alta probabilidade.
Os resultados reais do preenchimento que você vê podem ser diferentes porque a IA é aleatória por padrão. Em outras palavras, você pode obter uma conclusão um pouco diferente sempre que chamá-la, mesmo que o prompt permaneça o mesmo.
Essa interface simples "de texto de entrada, texto de saída" significa que você pode "programar" o modelo fornecendo instruções ou apenas alguns exemplos do que gostaria que ele fizesse. Seu sucesso geralmente depende da complexidade da tarefa e da qualidade do prompt. Uma regra geral é pensar em como você escreveria um problema de palavras para um aluno do ensino médio resolver. Um prompt bem escrito fornece informações suficientes para que o modelo saiba o que você deseja e como ele deve responder.
Daqui a pouco vamos explicar como escrever um bom prompt. Por enquanto, vamos examinar os diferentes tipos de preenchimentos.
Tipos de preenchimentos do OpenAI do Azure
Conforme já mencionamos, você transmite um prompt para a API do OpenAI do Azure, que fornece instruções sobre o que você quer que ele faça. E você pode fazer coisas como classificar texto, gerar ideias ou até mesmo traduzir um texto em emojis.
classificação
Para esse primeiro tipo de preenchimento, vamos nos aprofundar em como "programar" o modelo com instruções.
Você pode dizer ao modelo que quer classificar dados em categorias predefinidas. Esse tipo de preenchimento é conhecido como Classificação.
Por exemplo, você pode transmitir à API de preenchimento algumas instruções, ou um prompt, que se pareçam com o seguinte:
This is a sentiment classifier
Example: "I loved the new movie!"
Sentiment: Positive
Example: "I hate it when my phone battery dies"
Sentiment: Negative
Example: "My day has been 👍"
Sentiment: Positive
Example: "This is the link to the article"
Sentiment: Neutral
Examples:
1. "I loved the new Batman movie!"
2. "I hate it when my phone battery dies"
3. "My day has been 👍"
4. "This is the link to the article"
5. "This new music video blew my mind"
Examples sentiment ratings:
1: Positive
2: Negative
3: Positive
4: Neutral
5: Positive
Create sentiments for:
1. "I can't stand homework"
2. "This is no fun. I'm bored 😠"
3. "I can't wait for Halloween!!!"
4. "My cat is adorable ❤️❤️"
5. "I hate chocolate"
Sentiment classifications:
1.
Após mostrarmos ao modelo quatro exemplos de uma frase sendo classificada pelo sentimento, fornecemos a ele uma lista de exemplos e, em seguida, uma lista de classificações de sentimentos com o mesmo índice numérico. A API é capaz de detectar, a partir disso, de que forma os sentimentos classificados devem ser gerados.
E isso nos leva àquilo que queremos que o modelo faça: damos a ele cinco sentimentos para serem classificados e, em seguida, ele deve gerar a classificação de cada um em uma lista ordenada.
Isso permite que o modelo classifique cinco (e até mais) exemplos em apenas uma chamada.
Você já pode começar a ver como o prompt ou o texto transmitidos para o modelo constituem a linguagem de programação.
Generation
Uma das tarefas mais poderosas e, ainda assim, mais simples que você pode executar com os diversos modelos GPT é gerar novas ideias ou versões de uma inserção. Você pode fornecer ao modelo uma lista de algumas ideias para uma história e ele tentará desenvolver essa lista. Vimos isso criar planos de negócios, descrições de caracteres e slogans de marketing apenas fornecendo-lhe um punhado de exemplos.
Conversa
O modelo é extremamente hábil em manter uma conversação com humanos e até mesmo consigo mesmo. Com apenas algumas linhas de instruções, vimos o modelo funcionar como um chatbot de atendimento ao cliente que responde às perguntas de forma inteligente sem nunca perder a calma, ou como um parceiro de conversa cheio de sabedoria que faz piadas e trocadilhos.
Transformação
O modelo é um modelo de linguagem que está acostumado com uma variedade de maneiras pelas quais palavras e caracteres podem ser usados para expressar informações. Isso varia de texto de idioma natural a código e idiomas diferentes do inglês. O modelo também é capaz de entender o conteúdo em um nível que lhe permite resumi-lo, convertê-lo e expressá-lo de maneiras diferentes.
Tradução
O modelo já tem uma boa noção de diversos idiomas, como o francês, então você não precisa ensinar nada. Você precisa apenas fornecer exemplos suficientes da tradução no prompt para que ele entenda que está traduzindo de um idioma para outro.
Conversão
Neste exemplo, convertemos o nome de um filme em emoji. Isso mostra a capacidade de adaptação do modelo para captar padrões e trabalhar com outros caracteres.
Aqui, esperamos que o resultado seja uma representação do filme Homem-Aranha em emojis.
Back to Future: 👨👴🚗🕒
Batman: 🤵🦇
Transformers: 🚗🤖
Wonder Woman: 👸🏻👸🏼👸🏽👸🏾👸🏿
Spider-Man: 🕸🕷🕸🕸🕷🕸
Winnie the Pooh: 🐻🐼🐻
The Godfather: 👨👩👧🕵🏻♂️👲💥
Game of Thrones: 🏹🗡🗡🏹
Spider-Man:
Resumo
O modelo é capaz de captar o contexto do texto e reformulá-lo de diferentes maneiras. Por exemplo, pode pegar um bloco de texto e criar uma explicação que uma criança entenderia.
Completion
Embora todos os prompts resultem em preenchimentos, pode ser útil pensar no preenchimento do texto como uma tarefa por si só, em instâncias nas quais você quer que o modelo retome de onde parou. Por exemplo, se receber esse prompt, o modelo irá prosseguir na sequência de pensamentos sobre agricultura vertical.
Vertical farming provides a novel solution for producing food locally, reducing transportation costs and
Respostas factuais
Os modelos de linguagem grandes (LLMs) têm um amplo conhecimento daquilo que aprenderam com os dados nos quais foram treinados. Também têm a capacidade de fornecer respostas que soam muito reais, mas na verdade são inventadas. Existem duas maneiras de limitar a probabilidade de que um LLM invente uma resposta.
1. Forneça uma verdade básica para a API: se você fornecer ao modelo um corpo de texto sobre o qual responder perguntas (como uma inserção da Wikipédia) será menos provável que ele fantasie uma resposta.
2. Use uma probabilidade baixa e mostre à API como dizer "Eu não sei": se entender que, nos casos em que tiver menos certeza de uma resposta é melhor responder "Eu não sei" ou alguma variação disso, o modelo ficará menos propenso a inventar respostas.
Nesse exemplo, demos ao modelo exemplos de perguntas e respostas que ele conhece e, em seguida, exemplos de coisas que ele provavelmente não sabe acrescidas de pontos de interrogação. Também definimos a probabilidade como zero para que o modelo fique mais propensa a responder com um "?" se tiver alguma dúvida.
Q: Who is Batman?
A: Batman is a fictional comic book character.
Q: What is torsalplexity?
A: ?
Q: What is Devz9?
A: ?
Q: Who is George Lucas?
A: George Lucas is American film director and producer famous for creating Star Wars.
Resumo
O Serviço OpenAI do Azure fornece acesso de API REST aos poderosos modelos de linguagem da OpenAI, incluindo as séries de modelos GPT-3.5 e GPT-4. Também lhe fornece os recursos corporativos e de segurança da nuvem do Azure nos quais você se acostumou a confiar.
Um dos recursos mais úteis dos modelos de linguagem da OpenAI é o preenchimento de textos. Você transmite um prompt ou uma descrição em linguagem simples do que quer que o modelo faça e ele consegue executar tarefas como classificação de texto, geração de texto ou resumo de textos.