Visão geral do Azure OpenAI e finalizações de texto
O Serviço OpenAI do Azure fornece acesso à 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, sumarização, pesquisa semântica e linguagem natural para tradução de código.
Além do acesso à API REST, existe um SDK .NET para acessar o Serviço OpenAI do Azure. E é isso que usaremos para construir nosso aplicativo. Mas antes de criar o aplicativo, vamos aprender um pouco mais sobre o que é o Azure OpenAI e o que são finalizações de texto. Saber disso nos dá a base de que precisamos para construir aplicativos incríveis com IA.
Visão geral do Azure OpenAI
O Serviço OpenAI do Azure oferece aos clientes IA de linguagem avançada com modelos OpenAI GPT-3.5, GPT-4, Codex e DALL-E com a promessa empresarial e de segurança do Azure. O Azure OpenAI codesenvolve as APIs com a OpenAI, garantindo compatibilidade e uma transição suave de uma para a outra.
Com o Azure OpenAI, os clientes obtêm os recursos de segurança do Microsoft Azure enquanto executam os mesmos modelos do OpenAI. O Azure OpenAI oferece rede privada, disponibilidade regional, filtragem responsável de conteúdo de IA e a capacidade de estender o modelo com seus próprios dados.
O ponto de extremidade de conclusão é o componente principal do serviço de API. Esta API fornece acesso à interface text-in, text-out do modelo. Os usuários simplesmente precisam fornecer um prompt de entrada contendo o comando de texto em inglês, e o modelo gera uma conclusão de texto.
Conclusão de texto
Nesta unidade vamos aprender sobre preenchimentos de texto. O ponto de extremidade de conclusão pode ser usado para uma ampla variedade de tarefas. Ele fornece uma interface simples, mas poderosa, de entrada e saída de texto para qualquer um dos modelos OpenAI do Azure. Você insere algum texto como um prompt, e o modelo gera uma conclusão de texto que tenta corresponder a qualquer contexto ou padrão que você lhe deu. Por exemplo, se você der à API o prompt "Como Descartes disse, eu acho, portanto", ela retorna a conclusão "Eu sou" com alta probabilidade.
Os resultados reais de conclusão que você vê podem diferir porque a IA é estocástica por padrão. Em outras palavras, você pode obter uma conclusão ligeiramente diferente toda vez que você chamá-lo, mesmo que seu prompt permaneça o mesmo.
Esta interface simples, "text in, text out" significa que você pode "programar" o modelo fornecendo instruções ou apenas alguns exemplos do que você gostaria que ele fizesse. Seu sucesso geralmente depende da complexidade da tarefa e da qualidade do seu prompt. Uma regra geral é pensar em como você escreveria um problema de palavras para um jovem estudante resolver. Um prompt bem escrito fornece informações suficientes para que o modelo saiba o que você deseja e como ele deve responder.
Vamos dar uma olhada em como escrever um bom prompt um pouco mais tarde, mas por enquanto vamos olhar para os diferentes tipos de conclusão.
Tipos de conclusão do Azure OpenAI
Como mencionado, você passa um prompt para a API OpenAI do Azure que fornece instruções sobre o que você deseja que ele faça. E você pode fazê-lo fazer coisas como classificar texto, gerar ideias ou até mesmo traduzir texto em emojis.
Classificação
Para este primeiro tipo de conclusão, vamos mergulhar fundo em como "programar" o modelo com instruções.
Você pode dizer ao modelo que deseja que ele classifique os dados em categorias predefinidas. Este tipo de conclusão é conhecido como Classificação.
Por exemplo, você pode passar instruções ou um prompt, semelhante ao seguinte para a API de conclusão:
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.
Depois de mostrar o modelo 4 exemplos de uma frase classificada por sentimento, fornecemos uma lista de exemplos e, em seguida, uma lista de classificações de sentimento com o mesmo índice numérico. A API é capaz de captar a partir disso como é suposto produzir os sentimentos classificados.
E isso leva-nos ao que queremos que o modelo faça: damos-lhe 5 sentimentos para ele classificar e depois deve sair a classificação de cada um numa lista ordenada.
Isso permite que o modelo classifique cinco (e até mais) exemplos em apenas uma chamada para ele.
Você pode começar a ver como o prompt, ou o texto passado para o modelo é a linguagem de programação.
Geração
Uma das tarefas mais poderosas e simples que você pode realizar com os vários modelos GPT é gerar novas ideias ou versões de entrada. Você pode dar ao modelo uma lista de algumas ideias de história e ele tenta adicionar a essa lista. Vimos ele criar planos de negócios, descrições de personagens e slogans de marketing apenas fornecendo um punhado de exemplos.
Conversação
O modelo é extremamente hábil em manter conversas com humanos e até consigo mesmo. Com apenas algumas linhas de instrução, vimos o modelo funcionar como um chatbot de atendimento ao cliente que responde a perguntas de forma inteligente sem nunca ficar confuso ou um parceiro de conversa sábio que faz piadas e trocadilhos.
Transformação
O modelo é um modelo de linguagem que está familiarizado com uma variedade de maneiras pelas quais palavras e caracteres podem ser usados para expressar informações. Isso varia de texto em linguagem natural a código e outros idiomas além 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 diferentes maneiras.
Tradução
O modelo já tem um domínio de muitas línguas, como o francês, então você não precisa ensiná-lo. Em vez disso, você só precisa 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 adaptabilidade do modelo para pegar padrões e trabalhar com outros personagens.
Aqui esperamos que a saída seja uma representação emoji do filme do Homem-Aranha.
Back to Future: 👨👴🚗🕒
Batman: 🤵🦇
Transformers: 🚗🤖
Wonder Woman: 👸🏻👸🏼👸🏽👸🏾👸🏿
Spider-Man: 🕸🕷🕸🕸🕷🕸
Winnie the Pooh: 🐻🐼🐻
The Godfather: 👨👩👧🕵🏻♂️👲💥
Game of Thrones: 🏹🗡🗡🏹
Spider-Man:
Resumo
O modelo é capaz de compreender 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.
Conclusão
Embora todos os prompts resultem em conclusão, pode ser útil pensar na conclusão de texto como sua própria tarefa nos casos em que você deseja que o modelo continue de onde parou. Por exemplo, se receber essa solicitação, o modelo continuará a linha de pensamento sobre a agricultura vertical.
Vertical farming provides a novel solution for producing food locally, reducing transportation costs and
Respostas factuais
Os modelos de linguagem grande (LLMs) têm muito conhecimento que aprenderam com os dados em que treinaram. Eles também têm a capacidade de fornecer respostas que parecem reais, mas na verdade são inventadas. Há duas maneiras de limitar a probabilidade de LLMs inventarem uma resposta.
1. Forneça uma verdade básica para a API Se você fornecer ao modelo um corpo de texto para responder a perguntas sobre (como uma entrada da Wikipédia), é menos provável que confabule uma resposta.
2. Use uma baixa probabilidade e mostre à API como dizer "Eu não sei" Se o modelo entende que, nos casos em que é menos certo sobre uma resposta que dizer "eu não sei" ou alguma variação é apropriado, ele está menos inclinado a inventar respostas.
Neste exemplo, damos ao modelo exemplos de perguntas e respostas que ele sabe e, em seguida, exemplos de coisas que ele não saberia e fornecemos pontos de interrogação. Também definimos a probabilidade como zero para que o modelo tenha mais probabilidade de responder com um "?" se houver 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 à API REST aos poderosos modelos de linguagem da OpenAI, incluindo as séries de modelos GPT-3.5 e GPT-4. Ele também oferece os recursos corporativos e de segurança nos quais você confia na nuvem do Azure.
Um dos recursos mais úteis dos modelos de linguagem OpenAI é a conclusão de texto. Você passa um prompt ou uma descrição em linguagem simples do que deseja que o modelo faça e ele pode executar tarefas como classificação de texto, geração de texto ou resumo de texto.