Cómo implementar modelos Embed de Cohere con Inteligencia artificial de Azure 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, aprenderá a utilizar Azure AI Studio para implementar los modelos Cohere Embed como API sin servidor con facturación basada en tokens de pago por uso.
Cohere ofrece dos modelos Embed en Inteligencia artificial de Azure Studio. Estos modelos están disponibles como API sin servidor con la facturación basada en tokens de pago por uso. Puede examinar la familia Cohere de modelos en el Catálogo de modelos filtrando por la colección Cohere.
Modelos de Cohere Embed
En esta sección, usted aprenderá acerca de los dos modelos de Cohere Embed que están disponibles en el catálogo de modelos:
- Cohere Embed v3 : inglés
- Cohere Embed v3 : multilingüe
Puede examinar la familia Cohere de modelos en el Catálogo de modelos filtrando por la colección Cohere.
Cohere Embed v3 : inglés
Cohere Embed en inglés es el modelo de representación de texto líder del mercado que se usa para la búsqueda semántica, la generación aumentada por recuperación (RAG), la clasificación y la agrupación en clústeres. La iniciativa Embed English obtiene los mejores resultados en la prueba de referencia HuggingFace MTEB y obtiene buenos resultados en casos de uso para diversos sectores, como el financiero, el jurídico y el corporativo de uso general. Embed English también tiene los siguientes atributos:
- Embed en inglés tiene 1024 dimensiones.
- La ventana de contexto del modelo es de 512 tokens
Cohere Embed v3: multilingüe
Cohere Embed multilingüe es el modelo de representación de texto líder del mercado que se usa para la búsqueda semántica, la generación aumentada por recuperación (RAG), la clasificación y la agrupación en clústeres. Embed multilingüe admite más de 100 idiomas y se puede usar para buscar dentro de un idioma (por ejemplo, buscar con una consulta en francés en documentos en francés) y entre idiomas (por ejemplo, buscar con una consulta en inglés en documentos chinos). Embed multilingual ofrece el mejor rendimiento en pruebas multilingües como Miracl. Embed Multilingual también tiene los siguientes atributos:
- Embed multilingüe tiene 1024 dimensiones.
- La ventana de contexto del modelo es de 512 tokens
Implementación como API sin servidor
Algunos modelos del catálogo de modelos pueden implementarse como API sin servidor con facturación de pago por uso. Este tipo de implementación proporciona una manera de consumir modelos como una API sin hospedarlos en la suscripción, a la vez que mantiene la seguridad empresarial y el cumplimiento que necesitan las organizaciones. Esta opción de implementación no requiere cuota de la suscripción.
Los modelos de Cohere mencionados anteriormente se pueden implementar como un servicio con facturación de pago por uso y son ofrecidos por Cohere a través de Microsoft Azure Marketplace. Cohere puede cambiar o actualizar las condiciones de uso y los precios de estos modelos.
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
En el caso de los modelos de la familia Cohere, la oferta de implementación de modelos de API sin servidor solo está disponible con centros creados en las regiones Este de EE. UU. 2 o Centro de Suecia.
Un proyecto de AI Studio en Azure AI Studio.
Los controles de acceso basado en rol 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 Desarrollador de Azure AI en el grupo de recursos. 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
Los siguientes pasos demuestran la implementación de Cohere Embed v3 - Inglés, pero puede utilizar los mismos pasos para implementar Cohere Embed v3 - Multilingüe reemplazando el nombre del modelo.
Para crear una implementación:
Inicie sesión en Azure AI Studio.
Seleccione Catálogo de modelos en la barra lateral izquierda.
Busque Cohere.
Seleccione Cohere-embed-v3-english para abrir la página Detalles del modelo.
Seleccione Implementar para abrir una ventana de implementación de API sin servidor para el modelo.
Como alternativa, puedes iniciar una implementación empezando por el proyecto en AI Studio.
En la barra lateral de la izquierda del proyecto, seleccione Componentes>Implementaciones.
Seleccione + Crear implementación.
Busque y seleccione Cohere-embed-v3-english. para abrir la página Detalles del modelo.
Seleccione Confirmar para abrir una ventana de implementación de API sin servidor para el modelo.
Selecciona el proyecto en el que deseas implementar el modelo. Para implementar el modelo, el proyecto debe estar en la región Este de EE. UU. 2 o Centro de Suecia.
En el Asistente para la implementación, selecciona el vínculo a Términos de Azure Marketplace para obtener más información sobre los términos de uso.
Seleccione la pestaña Precios y términos para obtener información sobre los precios del modelo seleccionado.
Seleccione el botón Suscribir e implementar. Si esta es la primera vez que implementas el modelo en el proyecto, debes suscribirte al proyecto para la oferta concreta. Para este paso es necesario que la cuenta tenga los permisos del rol Desarrollador de Azure AI en el grupo de recursos, como se muestra en los requisitos previos. Cada proyecto tiene su propia suscripción a la oferta concreta de Azure Marketplace del modelo, lo que te permite controlar y supervisar los gastos. Actualmente solo puede tener una implementación para cada modelo dentro de un proyecto.
Una vez que suscribas 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. Si este escenario le afecta, podrá seleccionar la opción 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.
Vuelva a la página Implementaciones, seleccione la implementación y anote la URL de Objetivo del punto de conexión y la Clave secreta. Para obtener más información sobre el uso de las API, consulte la sección de referencia.
Puede encontrar los detalles, la dirección URL y las claves de acceso del punto de conexión si navega a la página Información general del proyecto. Después, en la barra lateral de la izquierda del proyecto, seleccione Componentes>Implementaciones.
Para obtener información sobre la facturación de los modelos Cohere implementados como API sin servidor con facturación basada en tokens de pago por uso, consulte Consideraciones sobre costes y cuotas para los modelos Cohere implementados como servicio.
Consumo de los modelos de Cohere Embed como servicio
Estos modelos se pueden consumir mediante la API de Embed.
En la página Información general del proyecto, vaya a la barra lateral de la izquierda y seleccione Componentes>Implementaciones.
Busque y seleccione la implementación que ha creado.
Copia la dirección URL de destino y el valor clave.
Cohere expone dos rutas para la inferencia con los modelos Embed v3 en inglés y Embed v3 multilingüe.
v1/embeddings
se adhiere al esquema de API de mensajes generativos de Azure AI yv1/embed
admite el esquema de API nativa de Cohere.Para obtener más información sobre el uso de las API, consulte la sección de referencia.
Referencia de API para insertar modelos de Cohere Embed implementados como servicio
Cohere Embed v3 - English y Embed v3 - Multilingual aceptan tanto la API Azure AI Model Inference en la ruta /embeddings
como la API nativa Cohere Embed v3 en /embed
.
API de inferencia de modelos de Azure AI
El esquema de la API Azure AI Model Inference se puede encontrar en el artículo de referencia para Embeddings y se puede obtener una especificación OpenAPI del propio punto de conexión.
Cohere Embed v3
A continuación encontrará información detallada sobre la API de Cohere Embed v3.
Solicitar
POST /v1/embed HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json
Esquema de solicitud v1/embed
Cohere Embed v3 en inglés y Embed v3 multilingüe aceptan estos parámetros para una llamada API v1/embed
:
Clave | Tipo | Valor predeterminado | Descripción |
---|---|---|---|
texts |
array of strings |
Obligatorio | Matriz de cadenas para que el modelo se inserte. El número máximo de textos por llamada es 96. Se recomienda reducir la longitud de cada texto a menos de 512 tokens para obtener una calidad óptima. |
input_type |
enum string |
Obligatorio | Antepone tokens especiales para diferenciar cada tipo entre sí. No debe combinar tipos diferentes, excepto cuando se mezclan tipos para la búsqueda y recuperación. En este caso, inserte el corpus con el tipo search_document y las consultas insertadas con tipo search_query . search_document – En casos de uso de búsqueda, use search_document al codificar documentos para inserciones que almacene en una base de datos vectorial. search_query – Use search_query al consultar la base de datos vectorial para buscar documentos pertinentes. classification – Use la clasificación con las inserciones como entrada para un clasificador de texto. clustering : Use la agrupación en clústeres para agrupar las inserciones. |
truncate |
enum string |
NONE |
NONE : Devuelve un error cuando la entrada supera la longitud máxima del token de entrada. START : Descarta el inicio de la entrada. END : Descarta el final de la entrada. |
embedding_types |
array of strings |
float |
Especifica los tipos de inserciones que quiere recuperar. Puede ser uno o varios de los siguientes tipos. float , int8 , uint8 , binary , ubinary |
Esquema de respuesta v1/embed
Cohere Embed v3 en inglés y Embed v3 multilingüe incluyen los siguientes campos en la respuesta:
Clave | Tipo | Descripción |
---|---|---|
response_type |
enum |
El tipo de respuesta. Devuelve embeddings_floats cuando no se especifica embedding_types o devuelve embeddings_by_type cuando se especifica embeddings_types . |
id |
integer |
Identificador de la respuesta. |
embeddings |
array o array of objects |
Matriz de inserciones, donde cada inserción es una matriz de floats con 1024 elementos. La longitud de la matriz de inserciones es la misma que la longitud de la matriz de textos originales. |
texts |
array of strings |
Entradas de texto para las que se devolvieron las incrustaciones. |
meta |
string |
Datos de uso de API, incluidos los tokens facturables y la versión actual. |
Para obtener más información, vea https://docs.cohere.com/reference/embed.
Ejemplos de v1/embed
Respuesta de embeddings_floats
Solicitud:
{
"input_type": "clustering",
"truncate": "START",
"texts":["hi", "hello"]
}
Respuesta:
{
"id": "da7a104c-e504-4349-bcd4-4d69dfa02077",
"texts": [
"hi",
"hello"
],
"embeddings": [
[
...
],
[
...
]
],
"meta": {
"api_version": {
"version": "1"
},
"billed_units": {
"input_tokens": 2
}
},
"response_type": "embeddings_floats"
}
Respuesta de Embeddings_by_types
Solicitud:
{
"input_type": "clustering",
"embedding_types": ["int8", "binary"],
"truncate": "START",
"texts":["hi", "hello"]
}
Respuesta:
{
"id": "b604881a-a5e1-4283-8c0d-acbd715bf144",
"texts": [
"hi",
"hello"
],
"embeddings": {
"binary": [
[
...
],
[
...
]
],
"int8": [
[
...
],
[
...
]
]
},
"meta": {
"api_version": {
"version": "1"
},
"billed_units": {
"input_tokens": 2
}
},
"response_type": "embeddings_by_type"
}
Más ejemplos de inferencia
Package | Cuaderno de ejemplo |
---|---|
CLI mediante CURL y solicitudes web de Python | cohere-embed.ipynb |
SDK de OpenAI (experimental) | openaisdk.ipynb |
LangChain | langchain.ipynb |
SDK de Cohere | cohere-sdk.ipynb |
SDK de LiteLLM | litellm.ipynb |
Generación aumentada de recuperación (RAG) y ejemplos de uso de herramientas
Descripción | Paquete | Cuaderno de ejemplo |
---|---|---|
Creación de un índice de vectores de búsqueda de similitud de IA de Facebook local (FAISS), mediante incrustaciones de Cohere: Langchain | langchain , langchain_cohere |
cohere_faiss_langchain_embed.ipynb |
Uso de Cohere Command R/R+ para responder preguntas de datos en el índice de vectores de FAISS local: Langchain | langchain , langchain_cohere |
command_faiss_langchain.ipynb |
Uso de Cohere Command R/R+ para responder preguntas de datos en el índice de vectores de búsqueda de IA: Langchain | langchain , langchain_cohere |
cohere-aisearch-langchain-rag.ipynb |
Uso de Cohere Command R/R+ para responder preguntas de datos en el índice de vectores de búsqueda de IA: SDK de Cohere | cohere , azure_search_documents |
cohere-aisearch-rag.ipynb |
Llamada a herramientas o funciones de Command R+, mediante LangChain | cohere , langchain , langchain_cohere |
command_tools-langchain.ipynb |
Coste y cuotas
Consideraciones de costos y cuotas para los modelos implementados como servicio
Los modelos de Cohere implementados como una API sin servidor con facturación de pago por uso se ofrecen mediante Cohere a través de Azure Marketplace y se integran con inteligencia artificial de Azure Studio para su uso. Puedes encontrar los precios de Azure Marketplace al implementar 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; 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.
Filtrado de contenido
Los modelos implementados como una API sin servidor están protegidos por Seguridad del contenido de Azure AI. Con la seguridad de contenido de Azure AI, 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. Puede encontrar más información sobre el filtrado de contenido aquí.
Contenido relacionado
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