Cómo implementar modelos de Meta Llama con Azure AI Studio
Importante
Algunas de las características descritas en este artículo solo pueden estar disponibles en versión preliminar. Esta versión preliminar se ofrece sin acuerdo de nivel de servicio y no se recomienda para las cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
En este artículo, obtendrá información sobre los modelos de Meta Llama. También aprenderá a usar Inteligencia artificial de Azure Studio para implementar modelos de este conjunto en API sin servidor con facturación de pago por uso o en proceso administrado.
Importante
Obtenga más información sobre el anuncio de los modelos de Meta Llama 3 disponibles ahora en el catálogo de modelos de Azure AI: Blog de la comunidad tecnológica de Microsoft y desde Meta Announcement Blog.
Los modelos y herramientas de Meta Llama 3 son una colección de modelos de texto generativos previamente entrenados y ajustados que van desde 8 mil millones hasta 70 mil millones de parámetros. La familia de modelos también incluye versiones optimizadas para casos de uso de diálogo con aprendizaje de refuerzo de comentarios humanos (RLHF), denominadas Meta-Llama-3-8B-Instruct y Meta-Llama-3-70B-Instruct. Consulte los siguientes ejemplos de GitHub para explorar las integraciones con LangChain, LiteLLM, OpenAI y la API de Azure.
Implementación de modelos de Meta Llama como una API sin servidor
Algunos modelos del catálogo de modelos se pueden implementar como una API sin servidor con pago por uso, lo que proporciona una manera de consumirlos como una API sin hospedarlos en su suscripción, a la vez que se cumplen las necesidades de las organizaciones de seguridad y cumplimiento empresariales. Esta opción de implementación no requiere cuota de la suscripción.
Los modelos Meta Llama 3 se implementan como API sin servidor con facturación de pago por uso a través de Microsoft Azure Marketplace y pueden agregar más términos de uso y precios.
Ofertas de modelos de Azure Marketplace
Los siguientes modelos están disponibles en Azure Marketplace para Llama 3 cuando se implementa como servicio con pago por uso:
Si necesita implementar un modelo diferente, impleméntelo en un proceso administrado en su lugar.
Requisitos previos
Una suscripción de Azure con un método de pago válido. Las suscripciones gratuitas o de evaluación de Azure no funcionarán. Si no tiene una suscripción de Azure, cree una cuenta de Azure de pago para comenzar.
-
Importante
Para los modelos meta Llama 3, la oferta de implementación de modelos de pago por uso solo está disponible con centros creados en Este de EE. UU. 2 y regiones de Centro de Suecia.
Un proyecto de AI Studio en Azure AI Studio.
Los controles de acceso basado en rol de Azure (RBAC de Azure) se usan para conceder acceso a las operaciones en la inteligencia artificial de Azure Studio. Para realizar los pasos descritos en este artículo, la cuenta de usuario debe tener asignado el rol de propietario o colaborador para la suscripción de Azure. Como alternativa, a la cuenta se le puede asignar un rol personalizado que tenga los permisos siguientes:
En la suscripción de Azure: para suscribir el proyecto de AI Studio a la oferta de Azure Marketplace, una vez para cada proyecto, por oferta:
Microsoft.MarketplaceOrdering/agreements/offers/plans/read
Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
Microsoft.SaaS/register/action
En el grupo de recursos, para crear y usar el recurso de SaaS:
Microsoft.SaaS/resources/read
Microsoft.SaaS/resources/write
En el proyecto de AI Studio: para implementar puntos de conexión (el rol desarrollador de Azure AI ya contiene estos permisos):
Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*
Para más información sobre los permisos, consulte control de acceso basado en rol en Inteligencia artificial de Azure Studio.
Crear una nueva implementación
Para crear una implementación:
Inicie sesión en Azure AI Studio.
Elija el modelo que desea implementar en el catálogo de modelos de la inteligencia artificial de Azure Studio.
Como alternativa, puede iniciar la implementación empezando por el proyecto en AI Studio. Seleccione un proyecto y, a continuación, seleccione Implementaciones>+ Crear.
En la página Detalles del modelo, seleccione Implementar y, a continuación, seleccione API sin servidor con Seguridad del contenido de Azure AI.
Seleccione el proyecto en el que desea implementar los modelos. Para usar la oferta de implementación de modelos de pago por uso, el área de trabajo debe pertenecer al Este de EE. UU. 2 o región Centro de Suecia.
En el Asistente para la implementación, seleccione el vínculo a Términos de Azure Marketplace para obtener más información sobre los términos de uso. También puede seleccionar la pestaña Detalles de la oferta de Marketplace para obtener información sobre los precios del modelo seleccionado.
Si esta es la primera vez que implementa el modelo en el proyecto, debe suscribir el proyecto para la oferta concreta (por ejemplo, Meta-Llama-3-70B) desde Azure Marketplace. Este paso requiere que la cuenta tenga los permisos de suscripción de Azure y los permisos del grupo de recursos enumerados en los requisitos previos. Cada proyecto tiene su propia suscripción a la oferta concreta de Azure Marketplace, lo que le permite controlar y supervisar los gastos. Seleccione Suscribir e implementar.
Nota:
La suscripción de un proyecto a una oferta determinada de Azure Marketplace (en este caso, Meta-Llama-3-70B) requiere que la cuenta tenga acceso de colaborador o propietario en el nivel de suscripción donde se crea el proyecto. Como alternativa, a la cuenta de usuario se le puede asignar un rol personalizado que tenga los permisos de suscripción de Azure y los permisos del grupo de recursos enumerados en los requisitos previos.
Una vez que registre el proyecto para la oferta concreta de Azure Marketplace, las implementaciones posteriores de la misma oferta en el mismo proyecto no requieren la suscripción de nuevo. Por lo tanto, no es necesario tener los permisos de nivel de suscripción para las implementaciones posteriores. Si este escenario se aplica a usted, seleccione Continuar para implementar.
Asigne un nombre a la implementación. Este nombre forma parte de la dirección URL de la API de implementación. Esta dirección URL debe ser única en cada región de Azure.
Seleccione Implementar. Espere hasta que la implementación esté lista y se le redirigirá a la página Implementaciones.
Seleccione Abrir en el área de juegos para empezar a interactuar con el modelo.
Puede volver a la página Implementaciones, seleccionar la implementación y anotar la URL de destino del punto de conexión y la clave secreta, que puede usar para llamar a la implementación y generar finalizaciones.
Siempre puede encontrar los detalles, la dirección URL y las claves de acceso del punto de conexión; para ello, vaya a la página del proyecto y seleccione Implementaciones en el menú de la izquierda.
Para obtener información sobre la facturación de los modelos de Meta Llama implementados con pago por uso, consulte Consideraciones de costos y cuotas para los modelos de Llama 3 implementados como servicio.
Consumo de modelos de Meta Llama como servicio
Los modelos implementados como servicio se pueden consumir mediante la API de finalizaciones o chat, en función del tipo de modelo que haya implementado.
Seleccione el proyecto o el centro y, a continuación, seleccione Implementaciones en el menú de la izquierda.
Busque y seleccione la implementación que ha creado.
Seleccione Abrir en el área de juegos.
Seleccione Ver código y copie la URL del Punto de conexión y el valor de Clave.
Realice una solicitud de API en función del tipo de modelo que implementó.
- Para los modelos de finalizaciones, como
Meta-Llama-3-8B
, use la API/completions
. - Para los modelos de chat, como
Meta-Llama-3-8B-Instruct
, use la API/chat/completions
.
Para obtener más información sobre el uso de las API, consulte la sección de referencia.
- Para los modelos de finalizaciones, como
Referencia de los modelos de Meta Llama implementados como servicio
Los modelos Llama aceptan tanto la API de inferencia de modelos de Azure AI en la ruta /chat/completions
o una API de chat de Llama en /v1/chat/completions
. De la misma manera, se pueden generar finalizaciones de texto mediante la API de inferencia de modelos de Azure AI en la ruta /completions
o una API de finalizaciones de Llama en /v1/completions
El esquema API de inferencia de modelos de Azure AI se puede encontrar en el artículo Referencia para finalizaciones de chat y se Puede obtener una especificación de OpenAPI del propio punto de conexión.
API de finalizaciones
Use el método POST
para enviar la solicitud a la ruta /v1/completions
:
Solicitar
POST /v1/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json
Esquema de solicitud
Payload es una cadena con formato JSON que contiene los parámetros siguientes:
Clave | Tipo | Valor predeterminado | Descripción |
---|---|---|---|
prompt |
string |
No hay valor predeterminado. Este valor debe especificarse. | Mensaje que se va a enviar al modelo. |
stream |
boolean |
False |
El streaming permite que los tokens generados se envíen como eventos enviados por el servidor de solo datos cada vez que estén disponibles. |
max_tokens |
integer |
16 |
El número máximo de tokens a generar en la finalización. El número de tokens de su pregunta más max_tokens no puede exceder la longitud del contexto del modelo. |
top_p |
float |
1 |
Alternativa al muestreo con temperatura, llamada muestreo de núcleo, donde el modelo considera los resultados de los tokens con masa de probabilidad top_p . Así, 0,1 significa que solo se consideran los tokens que comprenden la masa de probabilidad del 10% superior. Por lo general, recomendamos modificar top_p o temperature , pero no ambos. |
temperature |
float |
1 |
Temperatura de muestreo que se va a usar, entre 0 y 2. Los valores más altos significan que el modelo muestrea de forma más amplia la distribución de los tokens. Cero significa muestreo excesivo. Recomendamos modificar esto o top_p , pero no ambos. |
n |
integer |
1 |
Cuántas terminaciones generar para cada pregunta. Nota: Dado que este parámetro genera muchas finalizaciones, puede consumir rápidamente la cuota de tokens. |
stop |
array |
null |
Cadena o una lista de cadenas que contienen la palabra donde la API deja de generar tokens adicionales. El texto devuelto no contendrá la secuencia de detención. |
best_of |
integer |
1 |
Genera las terminaciones best_of del lado del servidor y devuelve la "mejor" (la que tiene la menor probabilidad logarítmica por token). Los resultados no se pueden transmitir. Cuando se usa con n , best_of controla el número de finalizaciones candidatas y n especifica cuántos devolver: best_of debe ser mayor que n . Nota: Dado que este parámetro genera muchas finalizaciones, puede consumir rápidamente la cuota de tokens. |
logprobs |
integer |
null |
Un número que indica que se incluyan las probabilidades de registro en los tokens más probables de logprobs , así como los tokens elegidos. Por ejemplo, si logprobs es 10, la API devolverá una lista de los 10 tokens más probables. La API siempre devolverá el logprob del token muestreado, por lo que puede haber hasta logprobs +1 elementos en la respuesta. |
presence_penalty |
float |
null |
Número entre 2.0 y 2.0. Los valores positivos penalizan los nuevos tokens en función de su aparición en el texto hasta el momento, aumentando la probabilidad de que el modelo hable de nuevos temas. |
ignore_eos |
boolean |
True |
Si se omite el token EOS y continúa generando tokens después de que se genere el token EOS. |
use_beam_search |
boolean |
False |
Si se va a usar la búsqueda de haz en lugar del muestreo. En tal caso, best_of debe ser mayor que 1 y temperature debe ser 0 . |
stop_token_ids |
array |
null |
Lista de identificadores para tokens que, cuando se generan, detienen más generación de tokens. La salida devuelta contiene los tokens de detención a menos que los tokens de detención sean tokens especiales. |
skip_special_tokens |
boolean |
null |
Si se omiten los tokens especiales en la salida. |
Ejemplo
Cuerpo
{
"prompt": "What's the distance to the moon?",
"temperature": 0.8,
"max_tokens": 512
}
Esquema de respuesta
La carga de respuesta es un diccionario con los campos siguientes.
Clave | Tipo | Descripción |
---|---|---|
id |
string |
Identificador único para la finalización. |
choices |
array |
La lista de opciones de finalización que el modelo generó para el mensaje de entrada. |
created |
integer |
Marca de tiempo de Unix (en segundos) de cuando se creó la finalización. |
model |
string |
El model_id usado para la finalización. |
object |
string |
Tipo de objeto, que siempre es text_completion . |
usage |
object |
Estadísticas de uso de la solicitud de finalización. |
Sugerencia
En el modo de streaming, para cada fragmento de respuesta, finish_reason
es siempre null
, excepto a partir del último que está terminado por una carga [DONE]
.
El objeto choices
es un diccionario con los campos siguientes.
Clave | Tipo | Descripción |
---|---|---|
index |
integer |
Índice de elección. Cuando best_of > 1, es posible que el índice de esta matriz no esté en orden y que no sea de 0 a n-1. |
text |
string |
Resultado de finalización. |
finish_reason |
string |
Motivo por el que el modelo dejó de generar tokens: - stop : el modelo alcanza un punto de parada natural o una secuencia de detención proporcionada. - length : si se ha alcanzado el número máximo de tokens. - content_filter : cuando RAI modera y CMP fuerza la moderación. - content_filter_error : error durante la moderación y no pudo tomar decisiones sobre la respuesta. - null : la respuesta de la API sigue en curso o incompleta. |
logprobs |
object |
Probabilidades de registro de los tokens generados en el texto de salida. |
El objeto usage
es un diccionario con los campos siguientes.
Clave | Tipo | Valor |
---|---|---|
prompt_tokens |
integer |
Número de tokens en el símbolo del sistema. |
completion_tokens |
integer |
Número de tokens generados en la finalización. |
total_tokens |
integer |
Total de tokens. |
El objeto logprobs
es un diccionario con los siguientes campos:
Clave | Tipo | Valor |
---|---|---|
text_offsets |
array de integers |
Posición o índice de cada token en la salida de finalización. |
token_logprobs |
array de float |
Seleccionado logprobs en el diccionario de la matriz top_logprobs . |
tokens |
array de string |
Tokens seleccionados. |
top_logprobs |
array de dictionary |
Matriz de diccionario. En cada diccionario, la clave es el token y el valor es la probabilidad. |
Ejemplo
{
"id": "12345678-1234-1234-1234-abcdefghijkl",
"object": "text_completion",
"created": 217877,
"choices": [
{
"index": 0,
"text": "The Moon is an average of 238,855 miles away from Earth, which is about 30 Earths away.",
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 7,
"total_tokens": 23,
"completion_tokens": 16
}
}
Chat API
Use el método POST
para enviar la solicitud a la ruta /v1/chat/completions
:
Solicitar
POST /v1/chat/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json
Esquema de solicitud
Payload es una cadena con formato JSON que contiene los parámetros siguientes:
Clave | Tipo | Valor predeterminado | Descripción |
---|---|---|---|
messages |
string |
No hay valor predeterminado. Este valor debe especificarse. | El mensaje o historial de mensajes con los que se solicitará al modelo. |
stream |
boolean |
False |
El streaming permite que los tokens generados se envíen como eventos enviados por el servidor de solo datos cada vez que estén disponibles. |
max_tokens |
integer |
16 |
El número máximo de tokens a generar en la finalización. El número de tokens de su pregunta más max_tokens no puede exceder la longitud del contexto del modelo. |
top_p |
float |
1 |
Alternativa al muestreo con temperatura, llamada muestreo de núcleo, donde el modelo considera los resultados de los tokens con masa de probabilidad top_p . Así, 0,1 significa que solo se consideran los tokens que comprenden la masa de probabilidad del 10% superior. Por lo general, recomendamos modificar top_p o temperature , pero no ambos. |
temperature |
float |
1 |
Temperatura de muestreo que se va a usar, entre 0 y 2. Los valores más altos significan que el modelo muestrea de forma más amplia la distribución de los tokens. Cero significa muestreo excesivo. Recomendamos modificar esto o top_p , pero no ambos. |
n |
integer |
1 |
Cuántas terminaciones generar para cada pregunta. Nota: Dado que este parámetro genera muchas finalizaciones, puede consumir rápidamente la cuota de tokens. |
stop |
array |
null |
Cadena o una lista de cadenas que contienen la palabra donde la API deja de generar tokens adicionales. El texto devuelto no contendrá la secuencia de detención. |
best_of |
integer |
1 |
Genera las terminaciones best_of del lado del servidor y devuelve la "mejor" (la que tiene la menor probabilidad logarítmica por token). Los resultados no se pueden transmitir. Cuando se usa con n , best_of controla el número de finalizaciones candidatas y n especifica cuántos devolver: best_of debe ser mayor que n . Nota: Dado que este parámetro genera muchas finalizaciones, puede consumir rápidamente la cuota de tokens. |
logprobs |
integer |
null |
Un número que indica que se incluyan las probabilidades de registro en los tokens más probables de logprobs , así como los tokens elegidos. Por ejemplo, si logprobs es 10, la API devolverá una lista de los 10 tokens más probables. La API siempre devolverá el logprob del token muestreado, por lo que puede haber hasta logprobs +1 elementos en la respuesta. |
presence_penalty |
float |
null |
Número entre 2.0 y 2.0. Los valores positivos penalizan los nuevos tokens en función de su aparición en el texto hasta el momento, aumentando la probabilidad de que el modelo hable de nuevos temas. |
ignore_eos |
boolean |
True |
Si se omite el token EOS y continúa generando tokens después de que se genere el token EOS. |
use_beam_search |
boolean |
False |
Si se va a usar la búsqueda de haz en lugar del muestreo. En tal caso, best_of debe ser mayor que 1 y temperature debe ser 0 . |
stop_token_ids |
array |
null |
Lista de identificadores para tokens que, cuando se generan, detienen más generación de tokens. La salida devuelta contiene los tokens de detención a menos que los tokens de detención sean tokens especiales. |
skip_special_tokens |
boolean |
null |
Si se omiten los tokens especiales en la salida. |
El objeto messages
tiene los siguientes campos:
Clave | Tipo | Valor |
---|---|---|
content |
string |
Contenido del mensaje. El contenido es necesario para todos los mensajes. |
role |
string |
Rol del autor del mensaje. Uno desystem , user o assistant . |
Ejemplo
Cuerpo
{
"messages":
[
{
"role": "system",
"content": "You are a helpful assistant that translates English to Italian."},
{
"role": "user",
"content": "Translate the following sentence from English to Italian: I love programming."
}
],
"temperature": 0.8,
"max_tokens": 512,
}
Esquema de respuesta
La carga de respuesta es un diccionario con los campos siguientes.
Clave | Tipo | Descripción |
---|---|---|
id |
string |
Identificador único para la finalización. |
choices |
array |
La lista de opciones de finalización que el modelo generó para los mensajes de entrada. |
created |
integer |
Marca de tiempo de Unix (en segundos) de cuando se creó la finalización. |
model |
string |
El model_id usado para la finalización. |
object |
string |
Tipo de objeto, que siempre es chat.completion . |
usage |
object |
Estadísticas de uso de la solicitud de finalización. |
Sugerencia
En el modo de streaming, para cada fragmento de respuesta, finish_reason
es siempre null
, excepto a partir del último que está terminado por una carga [DONE]
. En cada objeto choices
, la clave de messages
se cambia por delta
.
El objeto choices
es un diccionario con los campos siguientes.
Clave | Tipo | Descripción |
---|---|---|
index |
integer |
Índice de elección. Cuando best_of > 1, es posible que el índice de esta matriz no esté en orden y que no sea de 0 a n-1 . |
messages o delta |
string |
Resultado de la finalización del chat en objeto messages . Cuando se usa el modo streaming, se usa la clave de delta . |
finish_reason |
string |
Motivo por el que el modelo dejó de generar tokens: - stop : el modelo alcanza un punto de parada natural o una secuencia de detención proporcionada. - length : si se ha alcanzado el número máximo de tokens. - content_filter : cuando RAI modera y CMP fuerza la moderación - content_filter_error : un error durante la moderación y no pudo tomar decisiones sobre la respuesta - null : la respuesta de la API sigue en curso o incompleta. |
logprobs |
object |
Probabilidades de registro de los tokens generados en el texto de salida. |
El objeto usage
es un diccionario con los campos siguientes.
Clave | Tipo | Valor |
---|---|---|
prompt_tokens |
integer |
Número de tokens en el símbolo del sistema. |
completion_tokens |
integer |
Número de tokens generados en la finalización. |
total_tokens |
integer |
Total de tokens. |
El objeto logprobs
es un diccionario con los siguientes campos:
Clave | Tipo | Valor |
---|---|---|
text_offsets |
array de integers |
Posición o índice de cada token en la salida de finalización. |
token_logprobs |
array de float |
Seleccionado logprobs en el diccionario de la matriz top_logprobs . |
tokens |
array de string |
Tokens seleccionados. |
top_logprobs |
array de dictionary |
Matriz de diccionario. En cada diccionario, la clave es el token y el valor es la probabilidad. |
Ejemplo
Lo siguiente es una respuesta a ejemplo:
{
"id": "12345678-1234-1234-1234-abcdefghijkl",
"object": "chat.completion",
"created": 2012359,
"model": "",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "Sure, I\'d be happy to help! The translation of ""I love programming"" from English to Italian is:\n\n""Amo la programmazione.""\n\nHere\'s a breakdown of the translation:\n\n* ""I love"" in English becomes ""Amo"" in Italian.\n* ""programming"" in English becomes ""la programmazione"" in Italian.\n\nI hope that helps! Let me know if you have any other sentences you\'d like me to translate."
}
}
],
"usage": {
"prompt_tokens": 10,
"total_tokens": 40,
"completion_tokens": 30
}
}
Implementación de modelos de Meta Llama en un proceso administrado
Además de implementar con el servicio administrado de pago por uso, también puede implementar modelos de Meta Llama en procesos administrados en AI Studio. Cuando se implementa en procesos administrados, puede seleccionar todos los detalles sobre la infraestructura que ejecuta el modelo, incluidas las máquinas virtuales que se usan para usarlo y el número de instancias para controlar la carga que espera. Los modelos implementados en el proceso administrado consumen cuota de la suscripción. Todos los modelos de la familia Llama se pueden implementar en un proceso administrado.
Siga estos pasos para implementar un modelo como Llama-2-7b-chat
en un punto de conexión en tiempo real en Inteligencia artificial de Azure Studio.
Elija el modelo que desea implementar en el catálogo de modelos de la inteligencia artificial de Azure Studio.
Como alternativa, puede iniciar la implementación empezando por el proyecto en AI Studio. Seleccione su proyecto y, a continuación, seleccione Implementaciones>+ Crear.
En la página Detalles del modelo, seleccione Implementar junto al botón Ver licencia.
En la página Implementar con seguridad de contenido de Azure AI (versión preliminar), seleccione Omitir la seguridad del contenido de Azure AI para poder seguir implementando el modelo mediante la interfaz de usuario.
Sugerencia
En general, se recomienda seleccionar Habilitar la seguridad del contenido de Azure AI (recomendado) para la implementación del modelo Llama. Esta opción de implementación solo se admite actualmente con el SDK de Python y se produce en un cuaderno.
Seleccione Continuar.
Seleccione el proyecto en el que desea crear una implementación.
Sugerencia
Si no tiene suficiente cuota disponible en el proyecto seleccionado, puede usar la opción Quiero usar la cuota compartida y reconozco que este punto de conexión se eliminará en 168 horas.
Seleccione la Máquina virtual y el recuento de instancias que desea asignar a la implementación.
Seleccione si desea crear esta implementación como parte de un nuevo punto de conexión o uno existente. Los puntos de conexión pueden hospedar varias implementaciones al tiempo que mantienen la configuración de recursos exclusiva para cada una de ellas. Las implementaciones en el mismo punto de conexión comparten el URI del punto de conexión y sus claves de acceso.
Indique si quiere habilitar la Recopilación de datos de referencia (versión preliminar).
Seleccione Implementar. Después de unos instantes, se abre la página Detalles del punto de conexión.
Espere a que finalice la creación y la implementación del punto de conexión. Este paso puede llevar varios minutos.
Seleccione la pestaña Consumir de la implementación para obtener ejemplos de código que se pueden usar para consumir el modelo implementado en la aplicación.
Consumo de modelos de Llama 2 implementados en proceso administrado
Para obtener referencia sobre cómo invocar modelos de Llama implementados en un proceso administrado, consulte la tarjeta del modelo en el catálogo de modelos de Inteligencia artificial de Azure Studio. La tarjeta de cada modelo tiene una página de información general que incluye una descripción del modelo, ejemplos para la inferencia basada en código, ajustes precisos y evaluación del modelo.
Más ejemplos de inferencia
Package | Cuaderno de ejemplo |
---|---|
CLI mediante solicitudes web de Python y CURL: Command R | command-r.ipynb |
CLI mediante solicitudes web de Python y CURL: Command R+ | command-r-plus.ipynb |
SDK de OpenAI (experimental) | openaisdk.ipynb |
LangChain | langchain.ipynb |
SDK de Cohere | cohere-sdk.ipynb |
SDK de LiteLLM | litellm.ipynb |
Coste y cuotas
Consideraciones de costos y cuotas para los modelos Llama implementados como servicio
Los modelos de Llama implementados como servicio son ofrecidos por Meta a través de Azure Marketplace e integrados con Inteligencia artificial de Azure Studio para su uso. Puede encontrar los precios de Azure Marketplace al implementar o ajustar los modelos.
Cada vez que un proyecto se suscribe a una oferta determinada de Azure Marketplace, se crea un nuevo recurso para realizar un seguimiento de los costos asociados a su consumo. El mismo recurso se usa para hacer un seguimiento de los costos asociados con la inferencia y la optimización. Sin embargo, hay varios medidores disponibles para hacer un seguimiento de cada escenario de forma independiente.
Para más información sobre cómo realizar un seguimiento de los costos, consulte Supervisar los costos de los modelos ofrecidos en Azure Marketplace.
La cuota se administra por implementación. Cada implementación tiene un límite de velocidad de 200 000 tokens por minuto y 1000 solicitudes de API por minuto. Sin embargo, actualmente limitamos una implementación por modelo por proyecto. Póngase en contacto con el Soporte técnico de Microsoft Azure si los límites de velocidad actuales no son suficientes para sus escenarios.
Consideraciones de costos y cuotas para los modelos Llama implementados como proceso administrado
Para la implementación e inferencia de modelos de Llama con proceso administrado, se consume la cuota de núcleos de máquina virtual (VM) asignada a la suscripción por región. Al registrarse en Inteligencia artificial de Azure Studio, recibirá una cuota de máquina virtual predeterminada para varias familias de máquinas virtuales disponibles en la región. Puede seguir creando implementaciones hasta alcanzar el límite de cuota. Una vez que alcance este límite, puede solicitar un aumento de cuota.
Filtrado de contenido
Los modelos implementados como API sin servidor con pago por uso están protegidos por la Seguridad del contenido de Azure AI. Cuando se implementa en un proceso administrado, puede optar por dejar de usar esta funcionalidad. Con la seguridad de contenido de Azure AI habilitada, tanto la solicitud como la finalización pasan por un conjunto de modelos de clasificación destinados a detectar y evitar la salida de contenido dañino. El sistema de filtrado de contenido detecta y toma medidas en categorías específicas de contenido potencialmente perjudicial tanto en solicitudes de entrada como en finalizaciones de salida. Obtenga más información sobre Seguridad del contenido de Azure AI.
Pasos siguientes
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de