Skip to main content

AWS

The LangChain integrations related to Amazon AWS platform.

First-party AWS integrations are available in the langchain_aws package.

pip install langchain-aws

And there are also some community integrations available in the langchain_community package with the boto3 optional dependency.

pip install langchain-community boto3

Chat models

Bedrock Chat

Amazon Bedrock is a fully managed service that offers a choice of high-performing foundation models (FMs) from leading AI companies like AI21 Labs, Anthropic, Cohere, Meta, Stability AI, and Amazon via a single API, along with a broad set of capabilities you need to build generative AI applications with security, privacy, and responsible AI. Using Amazon Bedrock, you can easily experiment with and evaluate top FMs for your use case, privately customize them with your data using techniques such as fine-tuning and Retrieval Augmented Generation (RAG), and build agents that execute tasks using your enterprise systems and data sources. Since Amazon Bedrock is serverless, you don't have to manage any infrastructure, and you can securely integrate and deploy generative AI capabilities into your applications using the AWS services you are already familiar with.

See a usage example.

from langchain_aws import ChatBedrock
API Reference:ChatBedrock

Bedrock Converse

AWS has recently released the Bedrock Converse API which provides a unified conversational interface for Bedrock models. This API does not yet support custom models. You can see a list of all models that are supported here. To improve reliability the ChatBedrock integration will switch to using the Bedrock Converse API as soon as it has feature parity with the existing Bedrock API. Until then a separate ChatBedrockConverse integration has been released.

We recommend using ChatBedrockConverse for users who do not need to use custom models. See the docs and API reference for more detail.

from langchain_aws import ChatBedrockConverse
API Reference:ChatBedrockConverse

LLMs

Bedrock

See a usage example.

from langchain_aws import BedrockLLM
API Reference:BedrockLLM

Amazon API Gateway

Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale. APIs act as the "front door" for applications to access data, business logic, or functionality from your backend services. Using API Gateway, you can create RESTful APIs and WebSocket APIs that enable real-time two-way communication applications. API Gateway supports containerized and serverless workloads, as well as web applications.

API Gateway handles all the tasks involved in accepting and processing up to hundreds of thousands of concurrent API calls, including traffic management, CORS support, authorization and access control, throttling, monitoring, and API version management. API Gateway has no minimum fees or startup costs. You pay for the API calls you receive and the amount of data transferred out and, with the API Gateway tiered pricing model, you can reduce your cost as your API usage scales.

See a usage example.

from langchain_community.llms import AmazonAPIGateway
API Reference:AmazonAPIGateway

SageMaker Endpoint

Amazon SageMaker is a system that can build, train, and deploy machine learning (ML) models with fully managed infrastructure, tools, and workflows.

We use SageMaker to host our model and expose it as the SageMaker Endpoint.

See a usage example.

from langchain_aws import SagemakerEndpoint
API Reference:SagemakerEndpoint

Embedding Models

Bedrock

See a usage example.

from langchain_community.embeddings import BedrockEmbeddings
API Reference:BedrockEmbeddings

SageMaker Endpoint

See a usage example.

from langchain_community.embeddings import SagemakerEndpointEmbeddings
from langchain_community.llms.sagemaker_endpoint import ContentHandlerBase

Document loaders

AWS S3 Directory and File

Amazon Simple Storage Service (Amazon S3) is an object storage service. AWS S3 Directory AWS S3 Buckets

See a usage example for S3DirectoryLoader.

See a usage example for S3FileLoader.

from langchain_community.document_loaders import S3DirectoryLoader, S3FileLoader

Amazon Textract

Amazon Textract is a machine learning (ML) service that automatically extracts text, handwriting, and data from scanned documents.

See a usage example.

from langchain_community.document_loaders import AmazonTextractPDFLoader

Amazon Athena

Amazon Athena is a serverless, interactive analytics service built on open-source frameworks, supporting open-table and file formats.

See a usage example.

from langchain_community.document_loaders.athena import AthenaLoader
API Reference:AthenaLoader

AWS Glue

The AWS Glue Data Catalog is a centralized metadata repository that allows you to manage, access, and share metadata about your data stored in AWS. It acts as a metadata store for your data assets, enabling various AWS services and your applications to query and connect to the data they need efficiently.

See a usage example.

from langchain_community.document_loaders.glue_catalog import GlueCatalogLoader
API Reference:GlueCatalogLoader

Vector stores

Amazon OpenSearch Service

Amazon OpenSearch Service performs interactive log analytics, real-time application monitoring, website search, and more. OpenSearch is an open source, distributed search and analytics suite derived from Elasticsearch. Amazon OpenSearch Service offers the latest versions of OpenSearch, support for many versions of Elasticsearch, as well as visualization capabilities powered by OpenSearch Dashboards and Kibana.

We need to install several python libraries.

pip install boto3 requests requests-aws4auth

See a usage example.

from langchain_community.vectorstores import OpenSearchVectorSearch

Amazon DocumentDB (with MongoDB Compatibility) makes it easy to set up, operate, and scale MongoDB-compatible databases in the cloud. With Amazon DocumentDB, you can run the same application code and use the same drivers and tools that you use with MongoDB. Vector search for Amazon DocumentDB combines the flexibility and rich querying capability of a JSON-based document database with the power of vector search.

Installation and Setup

See detail configuration instructions.

We need to install the pymongo python package.

pip install pymongo

Deploy DocumentDB on AWS

Amazon DocumentDB (with MongoDB Compatibility) is a fast, reliable, and fully managed database service. Amazon DocumentDB makes it easy to set up, operate, and scale MongoDB-compatible databases in the cloud.

AWS offers services for computing, databases, storage, analytics, and other functionality. For an overview of all AWS services, see Cloud Computing with Amazon Web Services.

See a usage example.

from langchain_community.vectorstores import DocumentDBVectorSearch

Amazon MemoryDB

Amazon MemoryDB is a durable, in-memory database service that delivers ultra-fast performance. MemoryDB is compatible with Redis OSS, a popular open source data store, enabling you to quickly build applications using the same flexible and friendly Redis OSS APIs, and commands that they already use today.

InMemoryVectorStore class provides a vectorstore to connect with Amazon MemoryDB.

from langchain_aws.vectorstores.inmemorydb import InMemoryVectorStore

vds = InMemoryVectorStore.from_documents(
chunks,
embeddings,
redis_url="rediss://cluster_endpoint:6379/ssl=True ssl_cert_reqs=none",
vector_schema=vector_schema,
index_name=INDEX_NAME,
)
API Reference:InMemoryVectorStore

See a usage example.

Retrievers

Amazon Kendra

Amazon Kendra is an intelligent search service provided by Amazon Web Services (AWS). It utilizes advanced natural language processing (NLP) and machine learning algorithms to enable powerful search capabilities across various data sources within an organization. Kendra is designed to help users find the information they need quickly and accurately, improving productivity and decision-making.

With Kendra, we can search across a wide range of content types, including documents, FAQs, knowledge bases, manuals, and websites. It supports multiple languages and can understand complex queries, synonyms, and contextual meanings to provide highly relevant search results.

We need to install the langchain-aws library.

pip install langchain-aws

See a usage example.

from langchain_aws import AmazonKendraRetriever
API Reference:AmazonKendraRetriever

Amazon Bedrock (Knowledge Bases)

Knowledge bases for Amazon Bedrock is an Amazon Web Services (AWS) offering which lets you quickly build RAG applications by using your private data to customize foundation model response.

We need to install the langchain-aws library.

pip install langchain-aws

See a usage example.

from langchain_aws import AmazonKnowledgeBasesRetriever

Tools

AWS Lambda

Amazon AWS Lambda is a serverless computing service provided by Amazon Web Services (AWS). It helps developers to build and run applications and services without provisioning or managing servers. This serverless architecture enables you to focus on writing and deploying code, while AWS automatically takes care of scaling, patching, and managing the infrastructure required to run your applications.

We need to install boto3 python library.

pip install boto3

See a usage example.

Memory

AWS DynamoDB

AWS DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.

We have to configure the AWS CLI.

We need to install the boto3 library.

pip install boto3

See a usage example.

from langchain_community.chat_message_histories import DynamoDBChatMessageHistory

Graphs

Amazon Neptune with Cypher

See a usage example.

from langchain_community.graphs import NeptuneGraph
from langchain_community.graphs import NeptuneAnalyticsGraph
from langchain_community.chains.graph_qa.neptune_cypher import NeptuneOpenCypherQAChain

Amazon Neptune with SPARQL

See a usage example.

from langchain_community.graphs import NeptuneRdfGraph
from langchain_community.chains.graph_qa.neptune_sparql import NeptuneSparqlQAChain

Callbacks

Bedrock token usage

from langchain_community.callbacks.bedrock_anthropic_callback import BedrockAnthropicTokenUsageCallbackHandler

SageMaker Tracking

Amazon SageMaker is a fully managed service that is used to quickly and easily build, train and deploy machine learning (ML) models.

Amazon SageMaker Experiments is a capability of Amazon SageMaker that lets you organize, track, compare and evaluate ML experiments and model versions.

We need to install several python libraries.

pip install google-search-results sagemaker

See a usage example.

from langchain_community.callbacks import SageMakerCallbackHandler

Chains

Amazon Comprehend Moderation Chain

Amazon Comprehend is a natural-language processing (NLP) service that uses machine learning to uncover valuable insights and connections in text.

We need to install the boto3 and nltk libraries.

pip install boto3 nltk

See a usage example.

from langchain_experimental.comprehend_moderation import AmazonComprehendModerationChain

Was this page helpful?