Bases: OpenSearchVectorStoreDriver
A Vector Store Driver for Amazon OpenSearch.
Attributes:
Name |
Type |
Description |
session |
Session
|
The boto3 session to use.
|
http_auth |
Optional[str | Tuple[str, str]]
|
The HTTP authentication credentials to use. Defaults to using credentials in the boto3 session.
|
client |
Optional[OpenSearch]
|
An optional OpenSearch client to use. Defaults to a new client using the host, port, http_auth, use_ssl, and verify_certs attributes.
|
Source code in griptape/griptape/drivers/vector/amazon_opensearch_vector_store_driver.py
| @define
class AmazonOpenSearchVectorStoreDriver(OpenSearchVectorStoreDriver):
"""A Vector Store Driver for Amazon OpenSearch.
Attributes:
session: The boto3 session to use.
http_auth: The HTTP authentication credentials to use. Defaults to using credentials in the boto3 session.
client: An optional OpenSearch client to use. Defaults to a new client using the host, port, http_auth, use_ssl, and verify_certs attributes.
"""
session: Session = field(kw_only=True)
http_auth: Optional[str | Tuple[str, str]] = field(
default=Factory(
lambda self: import_optional_dependency("requests_aws4auth").AWS4Auth(
self.session.get_credentials().access_key,
self.session.get_credentials().secret_key,
self.session.region_name,
"es",
),
takes_self=True,
)
)
client: Optional[OpenSearch] = field(
default=Factory(
lambda self: import_optional_dependency("opensearchpy").OpenSearch(
hosts=[{"host": self.host, "port": self.port}],
http_auth=self.http_auth,
use_ssl=self.use_ssl,
verify_certs=self.verify_certs,
connection_class=import_optional_dependency("opensearchpy").RequestsHttpConnection,
),
takes_self=True,
)
)
|
client: Optional[OpenSearch] = field(default=Factory(lambda : import_optional_dependency('opensearchpy').OpenSearch(hosts=[{'host': self.host, 'port': self.port}], http_auth=self.http_auth, use_ssl=self.use_ssl, verify_certs=self.verify_certs, connection_class=import_optional_dependency('opensearchpy').RequestsHttpConnection), takes_self=True))
class-attribute
instance-attribute
http_auth: Optional[str | Tuple[str, str]] = field(default=Factory(lambda : import_optional_dependency('requests_aws4auth').AWS4Auth(self.session.get_credentials().access_key, self.session.get_credentials().secret_key, self.session.region_name, 'es'), takes_self=True))
class-attribute
instance-attribute
session: Session = field(kw_only=True)
class-attribute
instance-attribute