I’m integrating AWS Bedrock Knowledge Bases (VECTOR) with Pinecone Serverless as the vector store. Embeddings are Amazon Titan Text Embeddings v2 (1024 dims, cosine). When my Pinecone index is empty, I can create/connect the KB. As soon as I insert vectors and try to retrieve, Bedrock returns an error — and if I try to re-create the KB pointing to a non-empty index/namespace, I get a storage configuration validation error.
Pinecone index details
-
Type: Serverless (Dense)
-
Cloud/Region: aws / us-west-2
-
Dimensions: 1024
-
Metric: cosine
-
Namespaces tested:
-
""
(empty / default) -
"vitacasa"
-
I can upsert and fetch vectors directly via Pinecone HTTP API.
- Bedrock retrieve (index has data)
aws bedrock-agent-runtime retrieve \
--region us-west-2 \
--knowledge-base-id 123 \
--retrieval-query '{ "text": "comprar una propiedad en México notario preventa Zapopan" }' \
--retrieval-configuration '{"vectorSearchConfiguration":{"numberOfResults":5}}'
Returns:
An error occurred (DependencyFailedException) when calling the Retrieve operation: Internal Server Exception
- Bedrock create-knowledge-base (pointing to a non-empty index / namespace)
- If I include
"namespace":"vitacasa"
(or any non-empty), I get:
ValidationException: The knowledge base storage configuration provided is invalid, please check your configuration.
-
If I omit the namespace (so default/empty), KB creation succeeds only when the index is empty; once the index has data, retrieval later fails with the same
DependencyFailedException
.Questions:
- Could Bedrock be calling Pinecone endpoints like
/namespaces
without theX-Pinecone-API-Version
header during validation or retrieval, causing Pinecone to return an error and Bedrock to surfaceValidationException
/DependencyFailedException
? - Are there constraints on metadata that could cause Pinecone to reject/400 something Bedrock sends (e.g., large
text
metadata, field names liketext
/url
, stringified numbers, etc.)? Any reserved keys?