Adding Amazon Bedrock as an embedding provider #2383
Unanswered
doyeonyeah
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
The plugin supports amazon-bedrock for chat models but not for embedding models. Could Bedrock be added as an embedding provider, covering all embedding models available on Bedrock (Cohere, Amazon Titan, and any future additions)?
Motivation
My organization only has model access through Amazon Bedrock — direct Cohere / OpenAI keys aren't available to me. Bedrock hosts several embedding model families that would be useful for Copilot's vault indexing:
cohere.embed-multilingual-v3,cohere.embed-english-v3, andembed-v4.0in supported regionsamazon.titan-embed-text-v2:0,amazon.titan-embed-text-v1,amazon.titan-embed-image-v1Today the embedding provider dropdown offers OpenAI, Azure OpenAI, Cohere AI (direct), Google, Ollama, Mistral, Copilot Plus, 3rd-party OpenAI-format, and Jina — but no Bedrock. The chat side already has all the Bedrock plumbing (
BedrockChatModel, SigV4, region handling, API-key auth), so embeddings should beable to follow the same pattern.
Proposal
amazon-bedrockto the embedding provider list.cohere.embed-multilingual-v3amazon.titan-embed-text-v2:0cohere.*vsamazon.*) — Titan and Cohere use slightly different payloads, but both are straightforwardInvokeModelcalls.Workarounds considered
Happy to help test. Thanks for the plugin!
One small technical note worth keeping in mind (not for the issue body, just for you): Cohere and Titan use different request JSON on Bedrock — Cohere wants {texts: [...], input_type: "search_document"}, Titan wants {inputText: "..."} one at a time. Whoever implements it will need to branch on the model ID
prefix. That's why the "any model ID" ask in the proposal matters.
Beta Was this translation helpful? Give feedback.
All reactions