langchain-aws

LangChain AWS integration — ChatBedrockConverse (Claude/Nova/Llama/Mistral on Bedrock), BedrockEmbeddings, AmazonKnowledgeBasesRetriever, BedrockAgentsRunnable, BedrockRerank, BedrockPromptCachingMiddleware, CodeInterpreterToolkit, BrowserToolkit (computer use), Neptune graph chains, and SageMaker endpoint.

11 stars

Best use case

langchain-aws is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

LangChain AWS integration — ChatBedrockConverse (Claude/Nova/Llama/Mistral on Bedrock), BedrockEmbeddings, AmazonKnowledgeBasesRetriever, BedrockAgentsRunnable, BedrockRerank, BedrockPromptCachingMiddleware, CodeInterpreterToolkit, BrowserToolkit (computer use), Neptune graph chains, and SageMaker endpoint.

Teams using langchain-aws should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/langchain-aws/SKILL.md --create-dirs "https://raw.githubusercontent.com/enuno/claude-command-and-control/main/skills/langchain-aws/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/langchain-aws/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How langchain-aws Compares

Feature / Agentlangchain-awsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

LangChain AWS integration — ChatBedrockConverse (Claude/Nova/Llama/Mistral on Bedrock), BedrockEmbeddings, AmazonKnowledgeBasesRetriever, BedrockAgentsRunnable, BedrockRerank, BedrockPromptCachingMiddleware, CodeInterpreterToolkit, BrowserToolkit (computer use), Neptune graph chains, and SageMaker endpoint.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# LangChain AWS Skill

Expert assistance for `langchain-aws`: connect LangChain to AWS services — Bedrock chat models, embeddings, Knowledge Base RAG, Bedrock Agents, prompt caching, computer use tools (code interpreter + browser), Neptune graph, SageMaker, and Amazon Q.

**Install**: `pip install -U langchain-aws`  
**Setup**: Configure AWS credentials via `~/.aws/credentials`, env vars, or IAM role.

Reference: `references/api.md` (500 KB — full API reference).

## When to Use This Skill

Activate when:
- **Using Bedrock chat models** — `ChatBedrockConverse` with Claude, Nova, Llama, Mistral, or Titan
- **Generating embeddings on Bedrock** — `BedrockEmbeddings` (text or multimodal)
- **RAG from Bedrock Knowledge Base** — `AmazonKnowledgeBasesRetriever`
- **Running Bedrock Agents** — `BedrockAgentsRunnable` or `BedrockInlineAgentsRunnable`
- **Prompt caching on Bedrock** — `BedrockPromptCachingMiddleware`
- **Reranking documents** — `BedrockRerank` for improved RAG relevance
- **Computer use (code interpreter)** — `CodeInterpreterToolkit` / `create_code_interpreter_toolkit()`
- **Computer use (browser)** — `BrowserToolkit` / `create_browser_toolkit()`
- **Neptune graph Q&A** — `create_neptune_opencypher_qa_chain()` or SPARQL chain
- **SageMaker LLM endpoints** — `SagemakerEndpoint`
- **Amazon Q Business** — `AmazonQ` runnable
- **Bedrock document reranking** — `BedrockRerank`

## Quick Reference

### ChatBedrockConverse — Bedrock chat models

```python
from langchain_aws import ChatBedrockConverse

model = ChatBedrockConverse(
    model="anthropic.claude-3-5-sonnet-20241022-v2:0",
    temperature=0,
    max_tokens=None,
    region_name="us-east-1",              # AWS region
    # credentials_profile_name="default", # AWS profile (optional)
)

# Invoke
messages = [
    ("system", "You are a helpful assistant."),
    ("human", "Explain quantum entanglement."),
]
response = model.invoke(messages)
print(response.content)

# Stream
for chunk in model.stream(messages):
    print(chunk.content, end="", flush=True)
```

### Tool calling and structured output

```python
from langchain_aws import ChatBedrockConverse
from langchain_core.tools import tool
from pydantic import BaseModel

model = ChatBedrockConverse(model="anthropic.claude-3-haiku-20240307-v1:0")

@tool
def get_weather(city: str) -> str:
    """Get weather for a city."""
    return f"Sunny, 22°C in {city}"

# Tool calling
model_with_tools = model.bind_tools([get_weather])
result = model_with_tools.invoke("What's the weather in Paris?")

# Structured output
class Review(BaseModel):
    rating: int
    summary: str

structured = model.with_structured_output(Review)
review = structured.invoke("Review the AWS re:Invent conference.")
```

### BedrockEmbeddings

```python
from langchain_aws import BedrockEmbeddings

# Text embeddings
embeddings = BedrockEmbeddings(
    model_id="amazon.titan-embed-text-v2:0",
    region_name="us-east-1",
)
vec = embeddings.embed_query("What is RAG?")
vecs = embeddings.embed_documents(["LangChain doc 1", "LangChain doc 2"])

# Multimodal embeddings (text + image)
embeddings = BedrockEmbeddings(
    model_id="amazon.nova-2-multimodal-embeddings-v1:0",
    dimensions=256,
    region_name="us-east-1",
)
```

### AmazonKnowledgeBasesRetriever — RAG from Bedrock KB

```python
from langchain_aws import AmazonKnowledgeBasesRetriever

retriever = AmazonKnowledgeBasesRetriever(
    knowledge_base_id="ABCDEF1234",      # Bedrock Knowledge Base ID
    retrieval_config={
        "vectorSearchConfiguration": {
            "numberOfResults": 5,
        }
    },
    region_name="us-east-1",
    # min_score_confidence=0.5,          # filter low-confidence results
)

docs = retriever.invoke("What is our return policy?")
for doc in docs:
    print(doc.page_content[:200])
    print(doc.metadata)   # source location, score, etc.
```

### BedrockRerank — improve RAG with cross-encoder reranking

```python
from langchain_aws import BedrockRerank
from langchain_aws import AmazonKnowledgeBasesRetriever

reranker = BedrockRerank(
    model_id="amazon.rerank-v1:0",
    region_name="us-east-1",
    top_n=3,                             # return top-3 after reranking
)

# Use as a ContextualCompressionRetriever
from langchain.retrievers import ContextualCompressionRetriever

retriever = AmazonKnowledgeBasesRetriever(knowledge_base_id="ABCDEF1234")
compression_retriever = ContextualCompressionRetriever(
    base_compressor=reranker,
    base_retriever=retriever,
)
docs = compression_retriever.invoke("return policy for electronics")
```

### BedrockPromptCachingMiddleware

```python
from langchain_aws import ChatBedrockConverse
from langchain_aws.middleware.prompt_caching import BedrockPromptCachingMiddleware

model = ChatBedrockConverse(model="anthropic.claude-3-5-sonnet-20241022-v2:0")

# Wrap model with prompt caching
cached_model = BedrockPromptCachingMiddleware(model=model)

# First call: populates cache
response1 = cached_model.invoke([("human", "Explain the AWS Shared Responsibility Model.")])

# Second call: uses cache (faster + cheaper)
response2 = cached_model.invoke([("human", "Summarize the AWS Shared Responsibility Model.")])
```

### BedrockAgentsRunnable — run Bedrock Agents

```python
from langchain_aws.agents import BedrockAgentsRunnable

agent = BedrockAgentsRunnable(
    agent_id="AGENT_ID_HERE",
    agent_alias_id="AGENT_ALIAS_ID",
    region_name="us-east-1",
)

response = agent.invoke({"input": "What is my account balance?"})
print(response["output"])
```

### CodeInterpreterToolkit — Bedrock computer use (code)

```python
from langchain_aws.tools.code_interpreter_toolkit import create_code_interpreter_toolkit
from langchain_aws import ChatBedrockConverse
from langgraph.prebuilt import create_react_agent

# Create toolkit for Bedrock code interpreter
tools = create_code_interpreter_toolkit(
    sandbox_id="SANDBOX_ID",
    region_name="us-east-1",
)

model = ChatBedrockConverse(model="amazon.nova-pro-v1:0")
agent = create_react_agent(model, tools)
result = agent.invoke({"messages": [("human", "Plot a histogram of the dataset and save it as chart.png")]})
```

### BrowserToolkit — Bedrock computer use (web)

```python
from langchain_aws.tools.browser_toolkit import create_browser_toolkit
from langchain_aws import ChatBedrockConverse
from langgraph.prebuilt import create_react_agent

tools = create_browser_toolkit(
    session_id="SESSION_ID",
    region_name="us-east-1",
)

model = ChatBedrockConverse(model="amazon.nova-pro-v1:0")
agent = create_react_agent(model, tools)
result = agent.invoke({"messages": [("human", "Go to langchain.com and summarize the homepage.")]})
```

## Key Bedrock Model IDs

| Provider | Model ID | Notes |
|----------|----------|-------|
| Anthropic | `anthropic.claude-3-5-sonnet-20241022-v2:0` | Recommended Claude |
| Anthropic | `anthropic.claude-3-haiku-20240307-v1:0` | Fast/cheap Claude |
| Amazon | `amazon.nova-pro-v1:0` | Nova Pro (multimodal) |
| Amazon | `amazon.nova-lite-v1:0` | Nova Lite (fast) |
| Amazon | `amazon.nova-micro-v1:0` | Nova Micro (text only) |
| Meta | `meta.llama3-1-8b-instruct-v1:0` | Llama 3.1 8B |
| Mistral | `mistral.mistral-large-2402-v1:0` | Mistral Large |
| Embeddings | `amazon.titan-embed-text-v2:0` | Titan text embeddings |
| Embeddings | `amazon.nova-2-multimodal-embeddings-v1:0` | Nova multimodal |
| Reranking | `amazon.rerank-v1:0` | Bedrock reranker |

## AWS Authentication

```python
# Option 1: Default credentials (IAM role, env vars, ~/.aws/credentials)
model = ChatBedrockConverse(model="...", region_name="us-east-1")

# Option 2: Named profile
model = ChatBedrockConverse(
    model="...",
    credentials_profile_name="my-profile",
    region_name="us-east-1",
)

# Option 3: Explicit credentials
model = ChatBedrockConverse(
    model="...",
    aws_access_key_id="...",
    aws_secret_access_key="...",
    aws_session_token="...",    # optional
    region_name="us-east-1",
)
```

## Reference Files

| File | Size | Contents |
|------|------|----------|
| `references/api.md` | 500 KB | Full API reference |
| `references/llms.md` | 28 KB | Doc index |
| `references/llms-full.md` | 500 KB | Complete page content |

Source: `https://reference.langchain.com/python/langchain-aws`  
GitHub: `https://github.com/langchain-ai/langchain-aws`  
Bedrock setup: `https://docs.aws.amazon.com/bedrock/latest/userguide/setting-up.html`

Related Skills

langchain

11
from enuno/claude-command-and-control

LangChain Python package — new create_agent() factory (builds a LangGraph agent from a model string + tools + middleware), plus a comprehensive middleware system covering HITL, PII redaction, model fallback, rate limiting, auto-summarization, context editing, shell tools, and todo planning.

langchain-redis

11
from enuno/claude-command-and-control

LangChain Redis integration — RedisVectorStore for RAG, RedisCache and RedisSemanticCache for LLM response caching, RedisChatMessageHistory for persistent conversation memory, and RedisConfig for connection management. Requires Redis Stack (redis/redis-stack-server).

langchain-postgres

11
from enuno/claude-command-and-control

LangChain PostgreSQL integration — PGVectorStore (v2, recommended) and PGVector (v1 legacy) for pgvector RAG, PostgresChatMessageHistory for persistent chat, HNSW/IVFFlat index management, hybrid search, async-first engine via PGEngine, and custom metadata columns.

langchain-perplexity

11
from enuno/claude-command-and-control

LangChain Perplexity AI integration — ChatPerplexity (chat model with built-in web search and date/domain filtering), PerplexitySearchRetriever for RAG, PerplexitySearchResults tool, PerplexityEmbeddings, and reasoning output parsers (ReasoningJsonOutputParser, strip_think_tags).

langchain-openrouter

11
from enuno/claude-command-and-control

LangChain OpenRouter integration — ChatOpenRouter gives access to hundreds of models (Claude, GPT-4o, Gemini, Llama, etc.) through a single API key. Supports provider routing preferences, reasoning models, plugins, tool calling, structured output, and request attribution/tracing.

langchain-ollama

11
from enuno/claude-command-and-control

LangChain Ollama integration — run local LLMs with ChatOllama (chat completions, tool calling, structured output, reasoning/thinking mode), OllamaLLM (raw text completions), and OllamaEmbeddings. Connects to a local Ollama server at localhost:11434.

langchain-neo4j

11
from enuno/claude-command-and-control

LangChain Neo4j integration — Neo4jGraph for Cypher queries and schema inspection, GraphCypherQAChain for natural-language-to-Cypher Q&A, Neo4jVector for vector/hybrid RAG, Neo4jSaver LangGraph checkpointer, Neo4jChatMessageHistory, and GraphDocument/Node/Relationship for knowledge graph construction.

langchain-mcp-adapters

11
from enuno/claude-command-and-control

LangChain MCP Adapters — connect LangChain agents to MCP (Model Context Protocol) servers. Load MCP tools, prompts, and resources as LangChain-compatible objects. Supports stdio, SSE, StreamableHTTP, and WebSocket transports. Includes interceptors, callbacks, and multi-server management.

langchain-exa

11
from enuno/claude-command-and-control

LangChain Exa integration — semantic web search with ExaSearchRetriever (RAG), ExaSearchResults (agent tool), and ExaFindSimilarResults (find similar URLs). Unique features: use_autoprompt (LLM query rewriting), highlights (excerpts), summary (per-result LLM summaries), livecrawl (real-time), and date filtering.

langchain-deepagents

11
from enuno/claude-command-and-control

LangChain Deep Agents (Python) — build, deploy, and customize stateful long-running agents with virtual filesystems, subagents, human-in-the-loop, and LangSmith observability. Also covers LangGraph, LangChain OSS chains/retrievers, and Agent Server API.

langchainjs

11
from enuno/claude-command-and-control

LangChain.js - TypeScript framework for building LLM-powered applications with agents, chains, RAG, tools, memory, and integrations for OpenAI, Anthropic, Google, and hundreds of other providers

web-artifacts-builder

11
from enuno/claude-command-and-control

Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.