Adding endpoint_url to embeddings/bedrock.py and updated docs (#7927)

BedrockEmbeddings does not have endpoint_url so that switching to custom
endpoint is not possible. I have access to Bedrock custom endpoint and
cannot use BedrockEmbeddings

---------

Co-authored-by: Bagatur <baskaryan@gmail.com>
pull/8014/head
Dwai Banerjee 1 year ago committed by GitHub
parent ea028b66ab
commit d8c40253c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -27,7 +27,9 @@
"source": [
"from langchain.embeddings import BedrockEmbeddings\n",
"\n",
"embeddings = BedrockEmbeddings(credentials_profile_name=\"bedrock-admin\")"
"embeddings = BedrockEmbeddings(\n",
" credentials_profile_name=\"bedrock-admin\", endpoint_url=\"custom_endpoint_url\"\n",
")"
]
},
{

@ -34,7 +34,9 @@
"from langchain.llms.bedrock import Bedrock\n",
"\n",
"llm = Bedrock(\n",
" credentials_profile_name=\"bedrock-admin\", model_id=\"amazon.titan-tg1-large\"\n",
" credentials_profile_name=\"bedrock-admin\",\n",
" model_id=\"amazon.titan-tg1-large\",\n",
" endpoint_url=\"custom_endpoint_url\",\n",
")"
]
},

@ -60,6 +60,9 @@ class BedrockEmbeddings(BaseModel, Embeddings):
model_kwargs: Optional[Dict] = None
"""Key word arguments to pass to the model."""
endpoint_url: Optional[str] = None
"""Needed if you don't want to default to us-east-1 endpoint"""
class Config:
"""Configuration for this pydantic object."""
@ -85,6 +88,9 @@ class BedrockEmbeddings(BaseModel, Embeddings):
if values["region_name"]:
client_params["region_name"] = values["region_name"]
if values["endpoint_url"]:
client_params["endpoint_url"] = values["endpoint_url"]
values["client"] = session.client("bedrock", **client_params)
except ImportError:

Loading…
Cancel
Save