Você pode acessar os modelos de IA do Voyage usando a API de incorporação e reclassificação, disponível por meio do MongoDB Atlas. Use os seguintes métodos para acessar a API:
API REST: para acesso independente de idioma.
cliente Python: cliente oficial para facilidade de uso.
cliente TypeScript: cliente oficial para aplicativos TypeScript e JavaScript.
Esta página resume como acessar a API. Para obter detalhes completos sobre a API, incluindo limites de taxa e níveis de uso, consulte a Referência da API.
Chaves de API
A Embedding and Reranking API usa chaves de API para monitorar o uso e gerenciar permissões. Para criar e gerenciar suas chaves de API de modelo, use a IU do MongoDB Atlas. Para obter instruções, consulte gerenciar Voyage AI Model API Keys.
REST API
Os exemplos a seguir demonstram como chamar o serviço de embedding por meio da REST API. A API oferece suporte a solicitações cURL e HTTP de qualquer linguagem de programação.
A autenticação é tratada por meio da chave de API do modelo, que você deve incluir no cabeçalho de autorização de cada solicitação de API como um token de portador.
Para saber mais, consulte a especificação completa da API.
Pontos de extremidade com escopo
Se a chave API do seu modelo estiver no escopo de uma Geografia, envie suas solicitações para o ponto de extremidade dessa Geografia em vez de ai.mongodb.com. O corpo da solicitação, os cabeçalhos e o formato da resposta não mudam. Apenas o hospedar muda.
Endpoint | Geograficamente |
|---|---|
| Não delimitado. O Atlas pode servir à solicitação de qualquer geografia. |
| Europa |
| Estados Unidos |
Pontos de extremidade com escopo seguem o padrão <geography>.ai.mongodb.com, onde <geography> é o valor geography da chave de API do modelo que você envia com a solicitação.
Para adaptar qualquer um dos exemplos anteriores, substitua o hospedar na URL da solicitação. Por exemplo, uma chave com escopo na Europa usa a seguinte URL para gerar embeddings:
https://eu.ai.mongodb.com/v1/embeddings
Uma chave com escopo funciona apenas contra seu ponto de extremidade correspondente. Enviar uma chave com escopo na Europa para us.ai.mongodb.com ou para ai.mongodb.com falha.
Para aprender o que é uma Geografia e quando associar uma chave a uma, consulte Geografias para Inferência do Voyage AI.
Cliente Python
Para instalar o pacote oficial do Python usando o pip:
pip install --upgrade voyageai
Use a opção --upgrade ou -U para instalar a versão mais recente do pacote. Isso lhe dá acesso aos recursos e correções de bugs mais recentes. Para parâmetros específicos do modelo, consulte os exemplos de uso para cada página de modelo.
Importante
Você deve usar a versão 0.3.7 ou posterior da biblioteca do cliente Python. Esta versão adiciona suporte para a API de incorporação e reclassificação.
A classe voyageai.Client fornece uma interface síncrona para invocar a API do Voyage. Crie um objeto de cliente e use-o para acessar os modelos de IA do Voyage.
Exemplo
O exemplo a seguir mostra como inicializar o cliente com configurações personalizadas e gerar incorporações:
import voyageai # Initialize the client with custom settings vo = voyageai.Client( api_key="<model-api-key>", # Or use VOYAGE_API_KEY environment variable max_retries=3, # Retry up to 3 times on rate limit errors timeout=30 # Timeout after 30 seconds ) # Generate embeddings result = vo.embed( texts=["MongoDB is redefining what a database is in the AI era."], model="voyage-4-large" ) print(f"Embedding dimension: {len(result.embeddings[0])}") print(f"Total tokens used: {result.total_tokens}")
A tabela a seguir descreve os parâmetros que você pode passar ao inicializar o cliente:
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| String | No | Chave API do modelo. O padrão é Nenhum. Se Nenhum, o cliente procurará a chave API na seguinte ordem:
NOTA: o cliente Python roteia automaticamente as solicitações para o ponto de extremidade da API correto com base no formato da chave da API:
Você pode substituir este comportamento configurando o parâmetro |
| Inteiro | No | Número máximo de tentativas para cada solicitação de API em caso de erros de limite de taxa ou indisponibilidade temporária do servidor . Padrão é 0. O cliente emprega uma estratégia de esperar e tentar novamente para lidar com esses erros e gerar uma exceção ao atingir o limite máximo de tentativas. Por padrão, o cliente não tenta novamente. |
| Inteiro | No | Tempo máximo, em segundos, para aguardar uma resposta da API antes de abortar a solicitação. O padrão é Nenhum. Se o tempo limite especificado for excedido, a solicitação será encerrada e uma exceção de tempo limite será gerada. Por padrão, nenhuma restrição de tempo limite é imposta. |
| String | No | URL base personalizada para solicitações de API. Por padrão, o cliente detecta automaticamente o ponto de extremidade correto com base na chave de API fornecida. |
TypeScript cliente
Para instalar o pacote oficial do TypeScript usando npm:
npm install voyageai
A classe VoyageAIClient fornece uma interface assíncrona para invocar a API do Voyage a partir de aplicativos TypeScript e JavaScript. Crie um objeto de cliente e use-o para acessar os modelos de IA do Voyage.
Ao contrário do cliente Python, o cliente TypeScript envia solicitações para o ponto de extremidade da plataforma Voyage (https://api.voyageai.com/v1) por padrão. Para usar a API de incorporação e reclassificação com sua chave de API de modelo, defina a opção environment como https://ai.mongodb.com/v1 ao criar o cliente.
Exemplo
O exemplo a seguir mostra como inicializar o cliente para a API de incorporação e reclassificação e gerar incorporações:
import { VoyageAIClient } from "voyageai"; // Initialize the client for the Embedding and Reranking API const client = new VoyageAIClient({ apiKey: process.env.VOYAGE_API_KEY, // Model API key environment: "https://ai.mongodb.com/v1", maxRetries: 3, // Retry up to 3 times timeoutInSeconds: 30 // Time out after 30 seconds }); // Generate embeddings const result = await client.embed({ input: ["MongoDB is redefining what a database is in the AI era."], model: "voyage-4-large" }); console.log(`Embedding dimension: ${result.data[0].embedding.length}`); console.log(`Total tokens used: ${result.usage.totalTokens}`);
A tabela a seguir descreve as opções que você pode passar ao inicializar o cliente:
Opção | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| String | Sim | Chave de API do modelo. Se você não definir esta opção, o cliente usará a variável de ambiente |
| String | No | URL base para solicitações de API. O padrão é |
| Número | No | Número máximo de tentativas para cada solicitação de API em caso de erros de limite de taxa ou indisponibilidade temporária do servidor . Padrão é 2. O cliente emprega uma estratégia de espera e repetição para lidar com esses erros e lança uma exceção ao atingir o limite máximo de repetições. |
| Número | No | Tempo máximo, em segundos, para aguardar uma resposta da API antes de abortar a solicitação. Padrão é 60. Se a solicitação exceder o tempo limite especificado, o cliente encerra a solicitação e lança uma exceção de tempo limite. |
| Objeto | No | HTTP headers adicionais para enviar com cada solicitação de API. |
Além embed do, o cliente fornece os rerank multimodalEmbed contextualizedEmbed métodos, e. Para parâmetros específicos do modelo, consulte os exemplos de uso para cada página de modelo.