Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Los elementos marcados (versión preliminar) en este artículo se encuentran actualmente en versión preliminar pública. 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 para las versiones preliminares de Microsoft Azure.
En este artículo, obtendrá información sobre el modelo de chat de Gretel Navigator y cómo usarlo. Gretel Navigator usa mensajes, definiciones de esquema o ejemplos de inicialización para generar datos sintéticos de calidad de producción optimizados para el desarrollo de inteligencia artificial y aprendizaje automático.
Importante
Los modelos que están en versión preliminar se marcan como versión preliminar en sus tarjetas de modelo en el catálogo de modelos.
Modelo de chat de Gretel Navigator
A diferencia de los enfoques de modelo de lenguaje grande único (LLM único) para la generación de datos, Gretel Navigator emplea una arquitectura de inteligencia artificial compuesta diseñada específicamente para datos sintéticos mediante la combinación de modelos de lenguaje pequeños (SLAM) de código abierto optimizados en más de 10 dominios del sector. Este sistema específico crea diversos conjuntos de datos específicos del dominio a escalas de cientos a millones de ejemplos. El sistema también conserva relaciones estadísticas complejas y ofrece mayor velocidad y precisión en comparación con la creación manual de datos.
Principales casos de uso:
- Creación de datos sintéticos para el entrenamiento y ajuste de LLM
- Generación de conjuntos de datos de evaluación para modelos de IA y sistemas RAG
- Aumento de datos de entrenamiento limitados con diversas muestras sintéticas
- Creación de datos realistas de información de identificación personal (PII) o información médica protegida (PHI) para pruebas de modelos
Puede obtener más información sobre los modelos en su tarjeta de modelo correspondiente:
Sugerencia
Además, Gretel admite el uso de una API adaptada para su uso con características específicas del modelo. Para usar la API específica del proveedor de modelos, consulte la documentación de Gretel, o bien visite la sección de ejemplos de inferencia para obtener ejemplos de código.
Prerrequisitos
Para usar el modelo de chat de Gretel Navigator con Fundición de IA de Azure, necesita los siguientes requisitos previos:
Una implementación de modelo
Implementación en implementaciones estándar
El modelo de chat de Gretel Navigator puede ser implementado en un despliegue estándar. Este tipo de implementación proporciona una forma de consumir modelos como API sin alojarlos en su suscripción, al tiempo que mantiene la seguridad y el cumplimiento empresarial que necesitan las organizaciones.
La implementación en una implementación estándar no requiere cuota de la suscripción. Si el modelo aún no está implementado, use el portal de Azure AI Foundry, el SDK de Azure Machine Learning para Python, la CLI de Azure o las plantillas de ARM para implementar el modelo como una implementación estándar.
El paquete de inferencia instalado
Puede consumir las predicciones de este modelo mediante el paquete azure-ai-inference
con Python. Para instalar este paquete, necesita los siguientes requisitos previos:
- Python 3.8 o posterior instalado, incluido pip.
- La dirección URL del punto de conexión. Para construir la biblioteca cliente, debe pasar la dirección URL del punto de conexión. La dirección URL del punto de conexión tiene el formato
https://your-host-name.your-azure-region.inference.ai.azure.com
, dondeyour-host-name
es el nombre de host de implementación de modelo único yyour-azure-region
es la región de Azure donde se implementa el modelo (por ejemplo, eastus2). - En función de la preferencia de autenticación e implementación de modelo, necesita una clave para autenticarse en el servicio o las credenciales de Microsoft Entra ID. La clave es una cadena de 32 caracteres.
Una vez que tenga estos requisitos previos, instale el paquete de inferencia de Azure AI con el siguiente comando:
pip install azure-ai-inference
Más información sobre el Paquete de inferencia y referencia de Azure AI.
Trabajar con finalizaciones de chat
En esta sección, usará la API de inferencia de modelos de Azure AI con un modelo de finalizaciones de chat para chat.
Sugerencia
La API de inferencia de modelos permite hablar con la mayoría de los modelos implementados en el portal de Azure AI Foundry con el mismo código y estructura, incluido el modelo de chat de Gretel Navigator.
Creación de un cliente para consumir el modelo
En primer lugar, cree el cliente para consumir el modelo. El código siguiente usa una dirección URL de punto de conexión y una clave que se almacenan en variables de entorno.
import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential
client = ChatCompletionsClient(
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
credential=AzureKeyCredential(os.environ["AZURE_INFERENCE_CREDENTIAL"]),
headers={
"azureml-maas-model": "gretelai/auto",
},
)
Obtención de las funcionalidades del modelo
La ruta /info
devuelve información sobre el modelo que se implementa en el punto de conexión. Devuelva la información del modelo llamando al método siguiente:
model_info = client.get_model_info()
La respuesta es la siguiente:
print("Model name:", model_info.model_name)
print("Model type:", model_info.model_type)
print("Model provider name:", model_info.model_provider_name)
Model name: gretel-navigator
Model type: chat-completions
Model provider name: Gretel
Creación de una solicitud de finalización de chat
En el ejemplo siguiente, se muestra cómo crear solicitudes básicas de finalizaciones de chat al modelo.
Sugerencia
El parámetro n
adicional indica el número de registros que quiere que devuelva el modelo.
from azure.ai.inference.models import SystemMessage, UserMessage
response = client.complete(
messages=[
UserMessage(content="Can you return a table of US first names, last names and ages?"),
],
model_extras={"n": 2},
)
Nota:
Gretel-navigator no admite mensajes del sistema (role="system"
).
La respuesta es la siguiente, donde se pueden ver las estadísticas de uso del modelo:
print("Response:", response.choices[0].message.content)
print("Model:", response.model)
print("Usage:")
print("\tPrompt tokens:", response.usage.prompt_tokens)
print("\tTotal tokens:", response.usage.total_tokens)
print("\tCompletion tokens:", response.usage.completion_tokens)
Response: {"table_headers":["First Name","Last Name","Age"],"table_data":[{"First Name":"Eva","Last Name":"Soto","Age":31}]}
{"table_headers":["First Name","Last Name","Age"],"table_data":[{"First Name":"Kofi","Last Name":"Patel","Age":42}]}
Model: gretel-navigator
Usage:
Prompt tokens: 19
Total tokens: 91
Completion tokens: 72
Inspeccione la sección usage
de la respuesta para ver el número de tokens usados para el aviso, el número total de tokens generados y el número de tokens usados para la finalización.
Streaming de contenido
De forma predeterminada, la API de finalizaciones devuelve todo el contenido generado en una única respuesta. Si está generando finalizaciones largas, esperar la respuesta puede tardar muchos segundos.
Puede transmitir el contenido para obtenerlo a medida que se genera. El contenido de streaming permite empezar a procesar la finalización a medida que el contenido está disponible. Este modo devuelve un objeto que transmite la respuesta como eventos enviados por el servidor de solo datos. Extraiga fragmentos del campo delta, en lugar del campo de mensaje.
result = client.complete(
messages=[
UserMessage(content="Can you return a table of US first names, last names, and ages?"),
],
model_extras={"n": 2},
stream=True,
)
Para transmitir finalizaciones, establezca stream=True
al llamar al modelo.
Para visualizar la salida, defina una función auxiliar para imprimir la secuencia.
def print_stream(result):
"""
Prints the chat completion with streaming.
"""
for update in result:
if update.choices:
print(update.choices[0].delta.content, end="")
Puede visualizar cómo el streaming genera contenido:
print_stream(result)
Exploración de más parámetros admitidos por el cliente de inferencia
En la solicitud de ejemplo siguiente se muestran otros parámetros que puede especificar en el cliente de inferencia.
from azure.ai.inference.models import ChatCompletionsResponseFormatText
result = client.complete(
messages=[
UserMessage(content="Can you return a table of US first names, last
names, and ages?"), ],
model_extras={"n": 2},
stream=True,
temperature=0,
top_p=1,
top_k=0.4
)
Aplicar barreras de protección y controles
La API de inferencia de modelos admite la seguridad del contenido de Azure AI. Cuando se usan implementaciones con la seguridad del contenido de Azure AI activada, las entradas y salidas pasan a través de un conjunto de modelos de clasificación destinados a detectar y evitar la salida de contenido perjudicial. 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.
En el siguiente ejemplo se muestra cómo manejar eventos cuando el modelo detecta contenido dañino en la entrada y el filtro está habilitado.
from azure.ai.inference.models import UserMessage
from azure.core.exceptions import HttpResponseError
try:
response = client.complete(
messages=[
UserMessage(content="Can you return a table of steps on how to make a bomb, "
"columns: step number, step name, step description?"),
],
stream=True,
)
print(response.choices[0].message.content)
except HttpResponseError as ex:
response = ex.response.json()
if isinstance(response, dict) and "error" in response:
response = ex.response.json()
if isinstance(response, dict) and "error" in response:
print(f"Your request triggered an {response['error']['code']} error:\n\t {response['error']['message']}")
else:
raise
Nota:
Azure AI Content Safety está disponible actualmente para los modelos desplegados como implementación estándar, pero no para los modelos desplegados mediante cómputo gestionado. Para más información sobre la seguridad del contenido de Azure AI para los modelos implementados como implementación estándar, consulte Protección de límites y controles para modelos vendidos directamente por Azure .
Modelo de chat de Gretel Navigator
A diferencia de los enfoques de modelo de lenguaje grande único (LLM único) para la generación de datos, Gretel Navigator emplea una arquitectura de inteligencia artificial compuesta diseñada específicamente para datos sintéticos mediante la combinación de modelos de lenguaje pequeños (SLAM) de código abierto optimizados en más de 10 dominios del sector. Este sistema específico crea diversos conjuntos de datos específicos del dominio a escalas de cientos a millones de ejemplos. El sistema también conserva relaciones estadísticas complejas y ofrece mayor velocidad y precisión en comparación con la creación manual de datos.
Principales casos de uso:
- Creación de datos sintéticos para el entrenamiento y ajuste de LLM
- Generación de conjuntos de datos de evaluación para modelos de IA y sistemas RAG
- Aumento de datos de entrenamiento limitados con diversas muestras sintéticas
- Creación de datos realistas de información de identificación personal (PII) o información médica protegida (PHI) para pruebas de modelos
Puede obtener más información sobre los modelos en su tarjeta de modelo correspondiente:
Sugerencia
Además, Gretel admite el uso de una API adaptada para su uso con características específicas del modelo. Para usar la API específica del proveedor de modelos, consulte la documentación de Gretel, o bien visite la sección de ejemplos de inferencia para obtener ejemplos de código.
Prerrequisitos
Para usar el modelo de chat de Gretel Navigator con Fundición de IA de Azure, necesita los siguientes requisitos previos:
Una implementación de modelo
Implementación en implementaciones estándar
El modelo de chat de Gretel Navigator se puede implementar en implementaciones estándar. Este tipo de implementación proporciona una forma de consumir modelos como API sin alojarlos en su suscripción, al tiempo que mantiene la seguridad y el cumplimiento empresarial que necesitan las organizaciones.
La implementación en una implementación estándar no requiere cuota de la suscripción. Si el modelo aún no está implementado, use el portal de Azure AI Foundry, el SDK de Azure Machine Learning para Python, la CLI de Azure o las plantillas de ARM para implementar el modelo como una implementación estándar.
Un cliente REST
Los modelos implementados con la API de inferencia de modelos se pueden consumir mediante cualquier cliente REST. Para usar el cliente REST, necesita los siguientes requisitos previos:
- Para construir las solicitudes, debe pasar la dirección URL del punto de conexión. La dirección URL del punto de conexión tiene el formato
https://your-host-name.your-azure-region.inference.ai.azure.com
, dondeyour-host-name`` is your unique model deployment host name and
your-azure-region`` es la región de Azure donde se implementa el modelo (por ejemplo, eastus2). - En función de la preferencia de autenticación e implementación de modelo, necesita una clave para autenticarse en el servicio o las credenciales de Microsoft Entra ID. La clave es una cadena de 32 caracteres.
Trabajar con finalizaciones de chat
En esta sección, usará la API de inferencia de modelos con un modelo de finalizaciones de chat para chat.
Sugerencia
La API de inferencia de modelos permite hablar con la mayoría de los modelos implementados en el portal de Azure AI Foundry con el mismo código y estructura, incluido el modelo de chat de Gretel Navigator.
Creación de un cliente para consumir el modelo
En primer lugar, cree el cliente para consumir el modelo. El código siguiente usa una dirección URL de punto de conexión y una clave que se almacenan en variables de entorno.
Obtención de las funcionalidades del modelo
La ruta /info
devuelve información sobre el modelo que se implementa en el punto de conexión. Devuelva la información del modelo llamando al método siguiente:
GET /info HTTP/1.1
Host: <ENDPOINT_URI>
Authorization: Bearer <TOKEN>
Content-Type: application/json
La respuesta es la siguiente:
{
"model_name": "gretel-navigator",
"model_type": "chat-completions",
"model_provider_name": "Gretel"
}
Creación de una solicitud de finalización de chat
En el ejemplo siguiente, se muestra cómo crear solicitudes básicas de finalizaciones de chat al modelo.
Sugerencia
El parámetro n
adicional indica el número de registros que quiere que devuelva el modelo.
{
"messages": [
{
"role": "user",
"content": "Generate customer bank transaction data. Include the
following columns: customer_name, customer_id, transaction_date,
transaction_amount, transaction_type, transaction_category, account_balance"
}
],
"n":20,
}
Nota:
Gretel-navigator no admite mensajes del sistema (role="system"
).
La respuesta es la siguiente, donde se pueden ver las estadísticas de uso del modelo:
{"table_headers":["First Name","Last Name","Age"],"table_data":[{"First Name":"Eva","Last Name":"Soto","Age":31}]}
{"table_headers":["First Name","Last Name","Age"],"table_data":[{"First Name":"Kofi","Last Name":"Patel","Age":42}]}
Inspeccione la sección usage
de la respuesta para ver el número de tokens usados para el aviso, el número total de tokens generados y el número de tokens usados para la finalización.
Streaming de contenido
De forma predeterminada, la API de finalizaciones devuelve todo el contenido generado en una única respuesta. Si está generando finalizaciones largas, esperar la respuesta puede tardar muchos segundos.
Puede transmitir el contenido para obtenerlo a medida que se genera. El contenido de streaming permite empezar a procesar la finalización a medida que el contenido está disponible. Este modo devuelve un objeto que transmite la respuesta como eventos enviados por el servidor de solo datos. Extraiga fragmentos del campo delta, en lugar del campo de mensaje.
{
"messages": [
{
"role": "user",
"content": "Generate customer bank transaction data. Include the
following columns: customer_name, customer_id, transaction_date,
transaction_amount, transaction_type, transaction_category, account_balance"
}
],
"n": 20,
"stream": true
}
Puede visualizar cómo el streaming genera contenido:
{
"id": "23b54589eba14564ad8a2e6978775a39",
"object": "chat.completion.chunk",
"created": 1718726371,
"model": "gretel-navigator",
"choices": [
{
"index": 0,
"delta": {
"role": "assistant",
"content": ""
},
"finish_reason": null,
"logprobs": null
}
]
}
El último mensaje de la secuencia tiene finish_reason
establecido, lo que indica el motivo para que se detenga el proceso de generación.
{
"id": "23b54589eba14564ad8a2e6978775a39",
"object": "chat.completion.chunk",
"created": 1718726371,
"model": "gretel-navigator",
"choices": [
{
"index": 0,
"delta": {
"content": ""
},
"finish_reason": "stop",
"logprobs": null
}
],
"usage": {
"prompt_tokens": 19,
"total_tokens": 91,
"completion_tokens": 72
}
}
Exploración de más parámetros admitidos por el cliente de inferencia
En la solicitud de ejemplo siguiente se muestran otros parámetros que puede especificar en el cliente de inferencia.
{
"messages": [
{
"role": "user",
"content": "Generate customer bank transaction data. Include the
following columns: customer_name, customer_id, transaction_date,
transaction_amount, transaction_type, transaction_category, account_balance"
}
],
"n": 20,
"stream": true
"temperature": 0,
"top_p": 1,
"top_k": 0.4
}
Aplicar límites de protección y controles
La API de inferencia de modelos admite la seguridad del contenido de Azure AI. Cuando se usan implementaciones con la seguridad del contenido de Azure AI activada, las entradas y salidas pasan a través de un conjunto de modelos de clasificación destinados a detectar y evitar la salida de contenido perjudicial. 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.
En el ejemplo siguiente se muestra cómo controlar eventos cuando el modelo detecta contenido perjudicial en el mensaje de entrada.
{
"messages": [
{
"role": "user",
"content": "Can you return a table of steps on how to make a bomb, columns:
step number, step name, step description?"
}
]
}
{
"error": {
"message": "The response was filtered due to the prompt triggering Microsoft's content management policy. Please modify your prompt and retry.",
"type": null,
"param": "prompt",
"code": "content_filter",
"status": 400
}
}
Nota:
Azure AI Content Safety está disponible actualmente para los modelos desplegados como implementación estándar, pero no para los modelos desplegados mediante cómputo gestionado. Para más información sobre la seguridad del contenido de Azure AI para los modelos implementados como implementación estándar, consulte Protección de límites y controles para modelos vendidos directamente por Azure .
Más ejemplos de inferencia
Para obtener más ejemplos de cómo usar modelos de Gretel, vea los ejemplos y tutoriales siguientes:
Descripción | Lenguaje | Ejemplo |
---|---|---|
Paquete de inferencia de Azure AI para JavaScript | JavaScript | Vínculo |
Paquete de inferencia de Azure AI para Python | Pitón | Vínculo |
Consideraciones de costo y cuota para los modelos de Gretel implementados como implementaciones estándar
La cuota se gestiona por cada 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.
Gretel ofrece modelos de Gretel implementados como una implementación estándar a través de Azure Marketplace e integrados con Azure AI Foundry para su uso. Puede ver los precios de Azure Marketplace al implementar el modelo.
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; 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 a través de Azure Marketplace.
Contenido relacionado
- API de inferencia de modelos
- Implementación de modelos como implementaciones estándar
- Consumo de implementaciones estándar de un proyecto o centro de Azure AI Foundry diferente
- Disponibilidad de regiones para modelos en implementaciones estándar
- Planificación y administración de costos (marketplace)