# AWS The `LangChain` integrations related to [Amazon AWS](https://aws.amazon.com/) platform. ## LLMs ### Bedrock >[Amazon Bedrock](https://aws.amazon.com/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](/docs/integrations/llms/bedrock). ```python from langchain_community.llms.bedrock import Bedrock ``` ### Amazon API Gateway >[Amazon API Gateway](https://aws.amazon.com/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](/docs/integrations/llms/amazon_api_gateway). ```python from langchain_community.llms import AmazonAPIGateway ``` ### SageMaker Endpoint >[Amazon SageMaker](https://aws.amazon.com/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](/docs/integrations/llms/sagemaker). ```python from langchain_community.llms import SagemakerEndpoint from langchain_community.llms.sagemaker_endpoint import LLMContentHandler ``` ## Chat models ### Bedrock Chat See a [usage example](/docs/integrations/chat/bedrock). ```python from langchain_community.chat_models import BedrockChat ``` ## Embedding Models ### Bedrock See a [usage example](/docs/integrations/text_embedding/bedrock). ```python from langchain_community.embeddings import BedrockEmbeddings ``` ### SageMaker Endpoint See a [usage example](/docs/integrations/text_embedding/sagemaker-endpoint). ```python 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)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html) > is an object storage service. >[AWS S3 Directory](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html) >[AWS S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html) See a [usage example for S3DirectoryLoader](/docs/integrations/document_loaders/aws_s3_directory). See a [usage example for S3FileLoader](/docs/integrations/document_loaders/aws_s3_file). ```python from langchain_community.document_loaders import S3DirectoryLoader, S3FileLoader ``` ### Amazon Textract >[Amazon Textract](https://docs.aws.amazon.com/managedservices/latest/userguide/textract.html) is a machine > learning (ML) service that automatically extracts text, handwriting, and data from scanned documents. See a [usage example](/docs/integrations/document_loaders/amazon_textract). ```python from langchain_community.document_loaders import AmazonTextractPDFLoader ``` ### Amazon Athena >[Amazon Athena](https://aws.amazon.com/athena/) is a serverless, interactive analytics service built >on open-source frameworks, supporting open-table and file formats. See a [usage example](/docs/integrations/document_loaders/athena). ```python from langchain_community.document_loaders.athena import AthenaLoader ``` ## Vector stores ### Amazon OpenSearch Service > [Amazon OpenSearch Service](https://aws.amazon.com/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. ```bash pip install boto3 requests requests-aws4auth ``` See a [usage example](/docs/integrations/vectorstores/opensearch#using-aos-amazon-opensearch-service). ```python from langchain_community.vectorstores import OpenSearchVectorSearch ``` ### Amazon DocumentDB Vector Search >[Amazon DocumentDB (with MongoDB Compatibility)](https://docs.aws.amazon.com/documentdb/) 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](/docs/integrations/vectorstores/documentdb). We need to install the `pymongo` python package. ```bash pip install pymongo ``` #### Deploy DocumentDB on AWS [Amazon DocumentDB (with MongoDB Compatibility)](https://docs.aws.amazon.com/documentdb/) 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](https://aws.amazon.com/what-is-aws/). See a [usage example](/docs/integrations/vectorstores/documentdb). ```python from langchain.vectorstores import DocumentDBVectorSearch ``` ## Retrievers ### Amazon Kendra > [Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html) 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 `boto3` library. ```bash pip install boto3 ``` See a [usage example](/docs/integrations/retrievers/amazon_kendra_retriever). ```python from langchain.retrievers import AmazonKendraRetriever ``` ### Amazon Bedrock (Knowledge Bases) > [Knowledge bases for Amazon Bedrock](https://aws.amazon.com/bedrock/knowledge-bases/) 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 `boto3` library. ```bash pip install boto3 ``` See a [usage example](/docs/integrations/retrievers/bedrock). ```python from langchain.retrievers import AmazonKnowledgeBasesRetriever ``` ## Tools ### AWS Lambda >[`Amazon AWS Lambda`](https://aws.amazon.com/pm/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. ```bash pip install boto3 ``` See a [usage example](/docs/integrations/tools/awslambda). ## Memory ### AWS DynamoDB >[AWS DynamoDB](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dynamodb/index.html) > is a fully managed `NoSQL` database service that provides fast and predictable performance with seamless scalability. We have to configure the [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html). We need to install the `boto3` library. ```bash pip install boto3 ``` See a [usage example](/docs/integrations/memory/aws_dynamodb). ```python from langchain.memory import DynamoDBChatMessageHistory ``` ## Callbacks ### SageMaker Tracking >[Amazon SageMaker](https://aws.amazon.com/sagemaker/) is a fully managed service that is used to quickly > and easily build, train and deploy machine learning (ML) models. >[Amazon SageMaker Experiments](https://docs.aws.amazon.com/sagemaker/latest/dg/experiments.html) 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. ```bash pip install google-search-results sagemaker ``` See a [usage example](/docs/integrations/callbacks/sagemaker_tracking). ```python from langchain.callbacks import SageMakerCallbackHandler ``` ## Chains ### Amazon Comprehend Moderation Chain >[Amazon Comprehend](https://aws.amazon.com/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. ```bash pip install boto3 nltk ``` See a [usage example](/docs/guides/productionization/safety/amazon_comprehend_chain). ```python from langchain_experimental.comprehend_moderation import AmazonComprehendModerationChain ```