AWS
與 Amazon AWS 平台相關的 LangChain
整合。
第一方 AWS 整合可在 langchain_aws
套件中使用。
pip install langchain-aws
在 langchain_community
套件中也有一些社群整合,並具有 boto3
選用相依性。
pip install langchain-community boto3
聊天模型
Bedrock Chat
Amazon Bedrock 是一項完全託管的服務,透過單一 API 提供來自領先 AI 公司(如
AI21 Labs
、Anthropic
、Cohere
、Meta
、Stability AI
和Amazon
)的多種高效能基礎模型 (FM) 選擇,以及您建構生成式 AI 應用程式所需的廣泛功能,並具備安全性、隱私權和負責任的 AI。透過使用Amazon Bedrock
,您可以輕鬆地針對您的使用案例試驗和評估頂級 FM,使用微調和「檢索增強生成」(RAG
) 等技術,以您的資料私下客製化模型,並建構使用您的企業系統和資料來源執行任務的代理程式。由於Amazon Bedrock
是無伺服器架構,因此您不必管理任何基礎設施,並且可以使用您已熟悉的 AWS 服務,將生成式 AI 功能安全地整合和部署到您的應用程式中。
請參閱使用範例。
from langchain_aws import ChatBedrock
Bedrock Converse
AWS 最近發布了 Bedrock Converse API,為 Bedrock 模型提供統一的對話式介面。此 API 尚不支援自訂模型。您可以查看此處支援的所有模型清單。為了提高可靠性,ChatBedrock 整合將在 Bedrock Converse API 與現有的 Bedrock API 具有功能對等性後,立即切換為使用 Bedrock Converse API。在此之前,已發布個別的 ChatBedrockConverse 整合。
我們建議不需要使用自訂模型的使用者使用 ChatBedrockConverse
。請參閱 文件 和 API 參考 以取得更多詳細資訊。
from langchain_aws import ChatBedrockConverse
LLM
Bedrock
請參閱使用範例。
from langchain_aws import BedrockLLM
Amazon API Gateway
Amazon API Gateway 是一項完全託管的服務,讓開發人員可以輕鬆地建立、發布、維護、監控和保護任何規模的 API。API 作為應用程式存取後端服務中的資料、業務邏輯或功能的「前門」。透過使用
API Gateway
,您可以建立 RESTful API 和 WebSocket API,以實現即時雙向通訊應用程式。API Gateway
支援容器化和無伺服器工作負載以及 Web 應用程式。
API Gateway
處理接受和處理多達數十萬個並行 API 呼叫所涉及的所有任務,包括流量管理、CORS 支援、授權和存取控制、節流、監控和 API 版本管理。API Gateway
沒有最低費用或啟動成本。您只需為收到的 API 呼叫和傳輸出的資料量付費,並且透過API Gateway
分層定價模型,您可以隨著 API 使用量的擴展而降低成本。
請參閱使用範例。
from langchain_community.llms import AmazonAPIGateway
SageMaker Endpoint
Amazon SageMaker 是一個系統,可以使用完全託管的基礎架構、工具和工作流程來建構、訓練和部署機器學習 (ML) 模型。
我們使用 SageMaker
來託管我們的模型,並將其公開為 SageMaker Endpoint
。
請參閱使用範例。
from langchain_aws import SagemakerEndpoint
嵌入模型
Bedrock
請參閱使用範例。
from langchain_aws import BedrockEmbeddings
SageMaker Endpoint
請參閱使用範例。
from langchain_community.embeddings import SagemakerEndpointEmbeddings
from langchain_community.llms.sagemaker_endpoint import ContentHandlerBase
文件載入器
AWS S3 目錄和檔案
Amazon Simple Storage Service (Amazon S3) 是一個物件儲存服務。AWS S3 目錄 AWS S3 儲存貯體
請參閱 S3FileLoader 的使用範例。
from langchain_community.document_loaders import S3DirectoryLoader, S3FileLoader
Amazon Textract
Amazon Textract 是一項機器學習 (ML) 服務,可自動從掃描的文件中擷取文字、手寫字和資料。
請參閱使用範例。
from langchain_community.document_loaders import AmazonTextractPDFLoader
Amazon Athena
Amazon Athena 是一項以開放原始碼架構為基礎建構的無伺服器互動式分析服務,支援開放表格和檔案格式。
請參閱使用範例。
from langchain_community.document_loaders.athena import AthenaLoader
AWS Glue
AWS Glue Data Catalog 是一個集中式中繼資料儲存庫,可讓您管理、存取和共用有關儲存在 AWS 中的資料的中繼資料。它作為資料資產的中繼資料儲存庫,使各種 AWS 服務和您的應用程式能夠有效率地查詢和連線到它們所需的資料。
請參閱使用範例。
from langchain_community.document_loaders.glue_catalog import GlueCatalogLoader
向量儲存
Amazon OpenSearch Service
Amazon OpenSearch Service 執行互動式日誌分析、即時應用程式監控、網站搜尋等。
OpenSearch
是一個衍生自Elasticsearch
的開放原始碼分散式搜尋和分析套件。Amazon OpenSearch Service
提供最新版本的OpenSearch
、對多個版本的Elasticsearch
的支援,以及由OpenSearch Dashboards
和Kibana
支援的可視化功能。
我們需要安裝幾個 Python 程式庫。
pip install boto3 requests requests-aws4auth
請參閱使用範例。
from langchain_community.vectorstores import OpenSearchVectorSearch
Amazon DocumentDB Vector Search
Amazon DocumentDB (與 MongoDB 相容) 讓您能夠輕鬆地在雲端設定、操作和擴展與 MongoDB 相容的資料庫。透過 Amazon DocumentDB,您可以執行相同的應用程式程式碼,並使用與 MongoDB 相同的驅動程式和工具。Amazon DocumentDB 的向量搜尋結合了基於 JSON 的文件資料庫的彈性和豐富的查詢功能與向量搜尋的強大功能。
安裝與設定
請參閱詳細組態說明。
我們需要安裝 pymongo
Python 套件。
pip install pymongo
在 AWS 上部署 DocumentDB
Amazon DocumentDB (與 MongoDB 相容) 是一項快速、可靠且完全託管的資料庫服務。Amazon DocumentDB 讓您能夠輕鬆地在雲端設定、操作和擴展與 MongoDB 相容的資料庫。
AWS 提供用於運算、資料庫、儲存、分析和其他功能的服務。如需所有 AWS 服務的概述,請參閱使用 Amazon Web Services 進行雲端運算。
請參閱使用範例。
from langchain_community.vectorstores import DocumentDBVectorSearch
Amazon MemoryDB
Amazon MemoryDB 是一項持久的記憶體內資料庫服務,可提供超快速效能。MemoryDB 與 Redis OSS(一種流行的開放原始碼資料儲存區)相容,使您能夠使用他們今天已在使用的相同彈性且友善的 Redis OSS API 和命令,快速建構應用程式。
InMemoryVectorStore 類別提供一個向量儲存,用於連線到 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,
)
請參閱使用範例。
檢索器
Amazon Kendra
Amazon Kendra 是由
Amazon Web Services
(AWS
) 提供的智慧搜尋服務。它利用先進的自然語言處理 (NLP) 和機器學習演算法,在組織內的各種資料來源中實現強大的搜尋功能。Kendra
旨在協助使用者快速準確地找到他們需要的資訊,從而提高生產力和決策能力。
透過
Kendra
,我們可以跨廣泛的內容類型進行搜尋,包括文件、常見問題、知識庫、手冊和網站。它支援多種語言,並且可以理解複雜的查詢、同義詞和語境含義,以提供高度相關的搜尋結果。
我們需要安裝 langchain-aws
程式庫。
pip install langchain-aws
請參閱使用範例。
from langchain_aws import AmazonKendraRetriever
Amazon Bedrock (知識庫)
Amazon Bedrock 的知識庫 是
Amazon Web Services
(AWS
) 提供的一項服務,可讓您透過使用您的私有資料自訂基礎模型回應,快速建構 RAG 應用程式。
我們需要安裝 langchain-aws
程式庫。
pip install langchain-aws
請參閱使用範例。
from langchain_aws import AmazonKnowledgeBasesRetriever
工具
AWS Lambda
Amazon AWS Lambda
是由Amazon Web Services
(AWS
) 提供的無伺服器運算服務。它協助開發人員建置和執行應用程式和服務,而無需佈建或管理伺服器。這種無伺服器架構使您能夠專注於編寫和部署程式碼,而 AWS 會自動處理擴展、修補和管理執行應用程式所需的基础設施。
我們需要安裝 boto3
python 程式庫。
pip install boto3
請參閱使用範例。
記憶體
AWS DynamoDB
AWS DynamoDB 是一項完全託管的
NoSQL
資料庫服務,可提供快速且可預測的效能以及無縫的可擴展性。
我們必須設定 AWS CLI。
我們需要安裝 boto3
程式庫。
pip install boto3
請參閱使用範例。
from langchain_community.chat_message_histories import DynamoDBChatMessageHistory
圖形
Amazon Neptune
Amazon Neptune 是一個高效能圖形分析和無伺服器資料庫,可提供卓越的可擴展性和可用性。
對於以下的 Cypher 和 SPARQL 整合,我們需要安裝 langchain-aws
程式庫。
pip install langchain-aws
搭配 Cypher 的 Amazon Neptune
請參閱使用範例。
from langchain_aws.graphs import NeptuneGraph
from langchain_aws.graphs import NeptuneAnalyticsGraph
from langchain_aws.chains import create_neptune_opencypher_qa_chain
搭配 SPARQL 的 Amazon Neptune
請參閱使用範例。
from langchain_aws.graphs import NeptuneRdfGraph
from langchain_aws.chains import create_neptune_sparql_qa_chain
回呼
Bedrock 權杖用量
from langchain_community.callbacks.bedrock_anthropic_callback import BedrockAnthropicTokenUsageCallbackHandler
SageMaker 追蹤
Amazon SageMaker 是一項完全託管的服務,用於快速且輕鬆地建置、訓練和部署機器學習 (ML) 模型。
Amazon SageMaker Experiments 是
Amazon SageMaker
的一項功能,可讓您組織、追蹤、比較和評估 ML 實驗和模型版本。
我們需要安裝幾個 Python 程式庫。
pip install google-search-results sagemaker
請參閱使用範例。
from langchain_community.callbacks import SageMakerCallbackHandler
鏈
Amazon Comprehend 審核鏈
Amazon Comprehend 是一項自然語言處理 (NLP) 服務,它使用機器學習來發現文字中寶貴的見解和連結。
我們需要安裝 boto3
和 nltk
程式庫。
pip install boto3 nltk
請參閱使用範例。
from langchain_experimental.comprehend_moderation import AmazonComprehendModerationChain