Descripción general de Azure OpenAI y finalizaciones de texto
Azure OpenAI Service proporciona acceso mediante la API de REST a los eficaces modelos de lenguaje de OpenAI, incluidas las series de modelos de inserciones GPT-3.5 y GPT-4. Estos modelos se pueden adaptar fácilmente a su tarea específica, entre las que se incluyen, entre otras, la generación de contenido, el resumen, la búsqueda semántica y la traducción de lenguaje natural a código.
Además del acceso a la API de REST, existe un SDK de .NET para acceder al servicio Azure OpenAI. Y eso es lo que usaremos para compilar la aplicación. Pero antes de compilar la aplicación, vamos a aprender un poco más sobre qué es Azure OpenAI y qué son las finalizaciones de texto. Saber eso nos proporciona la base que necesitamos para crear aplicaciones increíbles con inteligencia artificial.
Introducción a Azure OpenAI
Azure OpenAI Service proporciona a los clientes una inteligencia artificial de lenguaje de programación avanzado con los modelos OpenAI GPT-3.5, GPT-4, Codex y DALL-E y la promesa empresarial y de seguridad de Azure. Azure OpenAI desarrolla conjuntamente las API con OpenAI, lo que garantiza compatibilidad y una transición fluida de una a otra.
Con Azure OpenAI, los clientes obtienen las funcionalidades de seguridad de Microsoft Azure mientras ejecutan los mismos modelos que OpenAI. Azure OpenAI ofrece redes privadas, disponibilidad regional, filtrado de contenido de IA responsable y la capacidad de ampliar el modelo con sus propios datos.
El punto final de finalizaciones es el componente principal del servicio de API. Esta API proporciona acceso a la interfaz de entrada y salida de texto del modelo. Los usuarios solo tienen que proporcionar una solicitud de entrada que contenga el comando de texto en inglés y el modelo generará una finalización de texto.
Finalizaciones de texto
En esta unidad, veremos las finalizaciones de texto. El punto de conexión de las terminaciones puede utilizarse para una gran variedad de tareas. Proporciona una sencilla pero potente interfaz de entrada y salida de texto para cualquiera de los modelos de Azure OpenAI. El usuario ingresa un texto como pregunta, y el modelo generará una finalización de texto que intentará coincidir con el contexto o el patrón que se le haya dado. Por ejemplo, si le da a la API la pregunta "Como dijo Descartes, yo pienso, luego", con una alta probabilidad devolverá la finalización "soy".
Los resultados de finalización reales que se ven pueden diferir porque la API es estocástica de forma predeterminada. En otras palabras, es posible que obtenga una finalización ligeramente diferente cada vez que la llame, incluso si el mensaje permanece igual.
Esta sencilla interfaz de entrada y salida de texto significa que puede "programar" el modelo proporcionando instrucciones o solo algunos ejemplos de lo que le gustaría que hiciera. Su efectividad depende, en general, de la complejidad de la tarea y de la calidad de sus indicaciones. Una regla general es pensar en cómo escribiría un problema para que lo resuelva un alumno preadolescente. Un mensaje bien escrito proporciona suficiente información para que el modelo sepa lo que desea y cómo debe responder.
Echaremos un vistazo a cómo escribir un buen mensaje un poco más tarde, pero por ahora echemos un vistazo a los diferentes tipos de finalizaciones.
Tipos de finalizaciones de Azure OpenAI
Como se mencionó, pasará un mensaje a la API de Azure OpenAI que proporciona instrucciones sobre lo que quiere que haga. Y puedes hacer cosas como clasificar texto, generar ideas o incluso traducir texto en emoticonos.
clasificación
Para este primer tipo de finalización, profundizaremos en cómo "programar" el modelo con instrucciones.
Puede indicar al modelo que quiere que ordene los datos en categorías predefinidas. Este tipo de finalización se conoce como Clasificación.
Por ejemplo, puede pasar instrucciones o un mensaje similar al siguiente a la API de finalización:
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.
Después de mostrar al modelo cuatro ejemplos de una frase clasificadas por opinión, le proporcionamos una lista de ejemplos y luego una lista de clasificaciones de opiniones con el mismo índice numérico. La API puede recoger de esta forma cómo se supone que genera las opiniones clasificadas.
Y eso nos lleva a lo que queremos que haga el modelo: le damos 5 opiniones para que las clasifique y, a continuación, debería generar la clasificación de cada una en una lista ordenada.
Esto permite al modelo evaluar cinco ejemplos (e incluso más) en una sola llamada.
Puede empezar a ver cómo el mensaje o el texto pasado al modelo es el lenguaje de programación.
Generación
Una de las tareas más potentes y a la vez más sencillas que puede realizar con los distintos modelos de GPT es generar nuevas ideas o versiones de entrada. Puedes darle al modelo una lista de algunas ideas de historias y este tratará de agregarlas a esa lista. Hemos visto cómo creaba planes de negocio, descripciones de personajes y eslóganes de marketing con solo proporcionarle un puñado de ejemplos.
Conversación
El modelo es extremadamente hábil para mantener conversaciones con humanos e incluso consigo mismo. Con unas pocas líneas de instrucciones, hemos visto al modelo actuar como un bot de atención al cliente que responde de forma inteligente a las preguntas sin ponerse nunca nervioso o como un compañero de conversación sabelotodo que hace chistes y juegos de palabras.
Transformación
El modelo es un modelo de lenguaje que está familiarizado con una variedad de formas en las que las palabras y los caracteres se pueden utilizar para expresar información. Esto va desde el texto en lenguaje natural hasta el código y los lenguajes distintos del inglés. El modelo también es capaz de entender el contenido a un nivel que le permite resumirlo, convertirlo y expresarlo de diferentes maneras.
Traducción
El modelo ya tiene un conocimiento de muchos idiomas, como el francés, por lo que no es necesario enseñárselo. En su lugar, solo tiene que proporcionar suficientes ejemplos de la traducción en la solicitud para que entienda que se traduce de un idioma a otro.
Conversión
En este ejemplo convertimos el nombre de una película en emoji. Esto muestra la adaptabilidad del modelo para recoger patrones y trabajar con otros caracteres.
Aquí esperamos que la salida sea una representación con emoticonos de la película Spider-Man.
Back to Future: 👨👴🚗🕒
Batman: 🤵🦇
Transformers: 🚗🤖
Wonder Woman: 👸🏻👸🏼👸🏽👸🏾👸🏿
Spider-Man: 🕸🕷🕸🕸🕷🕸
Winnie the Pooh: 🐻🐼🐻
The Godfather: 👨👩👧🕵🏻♂️👲💥
Game of Thrones: 🏹🗡🗡🏹
Spider-Man:
Resumen
El modelo es capaz de captar el contexto del texto y reformularlo de diferentes maneras. Por ejemplo, puede tomar un bloque de texto y crear una explicación que sea entendida por un niño.
Completion
Si bien todas las indicaciones dan lugar a terminaciones, puede ser útil pensar en la finalización del texto como una tarea propia en los casos en que se desea que el modelo continúe donde lo dejó. Por ejemplo, si se le da esta indicación, el modelo continuará el hilo de pensamiento sobre la agricultura vertical.
Vertical farming provides a novel solution for producing food locally, reducing transportation costs and
Respuestas factuales
Los modelos de lenguaje grandes (LLM) tienen muchos conocimientos sobre los que han aprendido de los datos en los que se han entrenado. También tienen la capacidad de proporcionar respuestas que parecen reales, pero que en realidad son inventadas. Hay dos maneras de limitar la probabilidad de que la API se invente una respuesta.
1. Proporcionar una verdad de base para la API Si proporcionas a la API un cuerpo de texto para responder a las preguntas (como una entrada de Wikipedia) será menos probable que confabule una respuesta.
2. Usar una probabilidad baja y mostrar a la API cómo decir "no lo sé" Si el modelo entiende que en los casos en los que está menos segura de una respuesta, decir "no lo sé" o alguna variación es apropiado, estará menos inclinada a inventar respuestas.
En este ejemplo le damos a al modelo ejemplos de preguntas y respuestas que conoce y luego ejemplos de cosas que no sabría y le damos signos de interrogación. También ponemos la probabilidad a cero para que el modelo esté más dispuesto a responder con un "?" si hay alguna duda.
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.
Resumen
Azure OpenAI Service proporciona acceso mediante la API de REST a los eficaces modelos de lenguaje de OpenAI, incluidas las series de modelos de inserciones GPT-3.5 y GPT-4. También proporciona las características de seguridad y empresariales que ha venido a confiar en la nube de Azure.
Una de las características más útiles de los modelos de lenguaje OpenAI es la finalización de texto. Se pasa una solicitud o una descripción de lenguaje sin formato de lo que desea que haga el modelo y puede realizar tareas como la clasificación de texto, la generación de texto o el resumen de texto.