Criando um índice vetorial programaticamente
Você pode criar programaticamente um recurso de índice vetorial para recuperar com eficiência trechos de texto de documentos armazenados em um armazenamento de dados vetoriais.
Você pode escolher entre diferentes tipos de armazenamentos de dados vetoriais para indexar seus documentos de aterramento. Para obter detalhes sobre armazenamentos vetoriais, incluindo configurações de vetorização e pesquisa, tipos de arquivos de documentos compatíveis e modelos de codificadores compatíveis, consulte Configurações do índice vetorial.
Antes de iniciar
- Antes de poder usar a API, seu administrador deve instalar os modelos de incorporação que você deseja usar ao criar um ativo de índice vetorial.
Você só pode usar o ms-marco-minilm-l-12-v2 modelo para reclassificar os resultados da pesquisa a partir de um índice vetorial criado com a API. Seu administrador deve instalar o modelo de reclassificação para habilitar a reclassificação dos resultados da pesquisa.
Você deve ter a função de administrador ou editor em um projeto.
Você deve gerar credenciais para se autenticar nas APIs do watsonx.ai. Para obter detalhes, consulte Gerando um token de portador.
Como alternativa, você pode usar ferramentas gráficas da interface do usuário do watsonx.ai para criar índices vetoriais. Consulte Criando um índice vetorial a partir da interface do usuário.
Procedimento
Você pode usar a API REST watsonx.ai para criar e gerenciar um recurso de índice vetorial em seu projeto. Para obter detalhes, consulte os índices vetoriais - APIs transacionais na documentação de referência da API watsonx.ai.
As etapas gerais que você segue para criar um ativo de índice vetorial com a API REST são praticamente as mesmas para cada tipo de armazenamento de dados vetoriais. As principais diferenças são os valores a serem incluídos no corpo da solicitação para o ativo de índice vetorial e estão destacadas no procedimento a seguir:
Carregue seus documentos de base como ativos de dados no projeto e anote os IDs dos ativos para seus arquivos.
Para recuperar o ID do recurso do seu arquivo:
Na guia Ativos do projeto, selecione o tipo de ativo Dados > Ativos de dados.
Clique no nome do seu arquivo de documento de base.
O ID pode ser recuperado da parte do URL após
data-assets/. O formato URL é o seguinte:https://<host-name>/projects/<project-id>/data-assets/<asset-id>
Crie um recurso de índice vetorial para o seu armazenamento de dados vetoriais. A solicitação da API REST cria o ativo de índice e gera as incorporações de texto para os documentos armazenados no armazenamento de dados vetoriais. Os documentos são referenciados usando seus IDs de ativos de dados e os resultados da pesquisa vetorial são reclassificados.
Restrição: você não pode ajustar as configurações de resultado de pesquisa e reclassificação para um ativo de índice vetorial criado com a API.- Armazenamento vetorial na memória
A seguinte solicitação de API REST de exemplo cria um ativo de índice vetorial em seu projeto para um armazenamento vetorial na memória:
curl --location --request POST 'https://cpd-<namespace-name>.apps.<OCP-domain>/v1/transactional_vector_indexes?version=2026-01-05' \ --header 'Authorization: Bearer ${TOKEN}' \ --header 'Content-Type: application/json' \ --data-raw '{ "project_id": "4e34d515-c61f-4f18-92b4-758be78d0a58", "name": "transactional-flow-external-inmemory", "description": "Create vector index with API", "data_assets": [ "df9ea6b4-2382-4ab7-aa54-d82e9432db34", "2ee31d21-f57b-4c76-b492-6cdb3c0d8389" ], "store": { "type": "memory" }, "settings": { "chunk_size": 2000, "chunk_overlap": 200, "top_k": 3, "split_pdf_pages": true, "rerank": true, "embedding_model_id": "sentence-transformers/all-minilm-l6-v2" } }'- Elasticsearch armazenamento vetorial
Crie uma conexão com o armazenamento vetorial Elasticsearch antes de usar o ID da conexão para criar o índice vetorial. Para obter detalhes, consulte Configurando um armazenamento de vetores Elasticsearch.
A seguinte solicitação de API REST de exemplo cria um ativo de índice vetorial em seu projeto para um armazenamento vetorial Elasticsearch :
curl --location --request POST 'https://cpd-<namespace-name>.apps.<OCP-domain>/v1/transactional_vector_indexes?version=2026-01-05' \ --header 'Authorization: Bearer ${TOKEN}' \ --header 'Content-Type: application/json' \ --data '{ "project_id": "4e34d515-c61f-4f18-92b4-758be78d0a58", "name": "transactional-flow-external-elastic", "description": "My first vector index", "data_assets": [ "5aa17ada-fdf9-4453-82dd-cf9ea84ab569" ], "store": { "type": "elasticsearch", "connection_id": "697dbae3-13b1-4ca9-8b65-16248e2d2675", "index": "wx-newindex", "new_index": true, "database": "rag" }, "settings": { "chunk_size": 2000, "chunk_overlap": 200, "top_k": 3, "split_pdf_pages": true, "rerank": true, "embedding_model_id": ".elser_model_2", "schema_fields": { "document_name": "metadata.document_name", "text": "text", "page_number": "metadata.page", "vector_query": "vector" } }'- watsonx.data Milvus armazenamento vetorial
Crie uma conexão com o armazenamento vetorial watsonx.data Milvus antes de usar o ID da conexão para criar o índice vetorial. Para obter detalhes, consulte Configurando um armazenamento de vetores watsonx.data Milvus.
A seguinte solicitação de API REST de exemplo cria um ativo de índice vetorial em seu projeto para um armazenamento vetorial watsonx.data Milvus :
curl --location --request POST 'https://cpd-<namespace-name>.apps.<OCP-domain>/v1/transactional_vector_indexes?version=2026-01-05' \ --header 'Authorization: Bearer ${TOKEN}' \ --header 'Content-Type: application/json' \ --data '{ "project_id": "4e34d515-c61f-4f18-92b4-758be78d0a58", "name": "transactional-flow-external-milvus-may29", "description": "My first vector index", "data_assets": [ "09dcb221-e262-4bba-9c72-18be5e5fe9e8" ], "store": { "type": "watsonx.data", "connection_id": "a02785b4-aa31-4a54-8a12-52df08c56b38", "index": "wx_milvusindex", "new_index": true, "database": "default" }, "settings": { "chunk_size": 2000, "chunk_overlap": 200, "top_k": 3, "split_pdf_pages": true, "rerank": true, "embedding_model_id": "sentence-transformers/all-minilm-l6-v2", "schema_fields": { "document_name": "document_name", "text": "text", "page_number": "page" } }'
Apenas para armazenamentos de vetores externos: a resposta da API REST retorna o ID do ativo do índice do vetor e o ID do ativo do notebook Python para um notebook que inicia a execução do trabalho para gerar incorporações de texto no armazenamento de vetores externo. A resposta também contém o ID da tarefa de geração de incorporações.
Você pode gerenciar o ativo do índice vetorial atualizando o notebook Python, as configurações de vetorização e os ativos de dados.
Execute a seguinte solicitação de API REST de exemplo para editar as configurações de vetorização do recurso de índice vetorial:
curl --location --request POST 'https://cpd-<namespace-name>.apps.<OCP-domain>/v1/transactional_vector_indexes/<vector-index-asset-id>' \ --header 'Authorization: Bearer ${TOKEN}' \ --header 'Content-Type: application/json' \ --data-raw '{ "settings": { "chunk_size": 2000, "chunk_overlap": 200, "top_k": 3, "split_pdf_pages": true, "rerank": false, "embedding_model_id": "ibm/granite-embedding-278m-multilingual", "schema_fields": { "document_name": "document_name", "text": "text", "page_number": "page" } } }'
O que fazer em seguida
Agora você pode experimentar padrões de geração aumentada por recuperação (RAG) com o recurso de índice vetorial que armazena seu conjunto de documentos. Salve a lógica do prompt em um caderno que você possa usar em seu aplicativo de IA generativa. Para obter detalhes, consulte Salvando seu trabalho e Geração aumentada por recuperação.