This guide provides a quick overview for getting started with Amazon Nova chat models. Amazon Nova models are OpenAI-compatible and accessed via the OpenAI SDK pointed at Nova’s endpoint, providing seamless integration with LangChain’s standard interfaces. The Amazon Nova API is free tier with rate limits. For production deployments requiring higher throughput and enterprise features, consider using Amazon Nova models via Amazon Bedrock. You can find information about Amazon Nova’s models, their features, and API details in the Amazon Nova documentation.Documentation Index
Fetch the complete documentation index at: https://docs.langchain.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Integration details
| Class | Package | Serializable | JS/TS Support | Downloads | Latest Version |
|---|---|---|---|---|---|
ChatAmazonNova | langchain-amazon-nova | beta | ❌ |
Model features
| Tool calling | Structured output | Image input | Audio input | Video input | Token-level streaming | Native async | Token usage | Logprobs |
|---|---|---|---|---|---|---|---|---|
| ✅ | ✅ | Model-dependent | ❌ | Model-dependent (Nova 2) | ✅ | ✅ | ✅ | ❌ |
Setup
To access Amazon Nova models, you’ll need to obtain API credentials and install thelangchain-amazon-nova integration package.
Installation
Credentials
Set your Nova API credentials as environment variables:Instantiation
Now we can instantiate our model object and generate chat completions:For a complete list of supported parameters and their descriptions, see the Amazon Nova documentation.
Invocation
Content blocks
Amazon Nova messages can contain either a single string or a list of content blocks. You can access standardized content blocks using thecontent_blocks property:
content_blocks will render the content in a standard format that is consistent across other model providers. Read more about content blocks.
Streaming
Amazon Nova supports token-level streaming for real-time response generation:Async streaming
For async applications, useastream:
Tool calling
Amazon Nova supports tool calling (function calling) on compatible models. You can check if a model supports tool calling using LangChain model profiles.For details on Nova’s tool calling implementation and available parameters, see the tool calling documentation.
Basic tool usage
Bind tools to the model using Pydantic models or LangChain@tool:
tool_calls attribute:
Using LangChain tools
You can also use standard LangChain tools:Controlling tool choice
Amazon Nova supports controlling when the model should use tools via thetool_choice parameter:
tool_choice="required" option is particularly useful for ensuring the model always uses tools, such as in structured output scenarios.
System tools
Amazon Nova provides built-in system tools that enhance the model’s capabilities with integrated functionality. These tools are enabled by passing them to the model initialization or as invocation parameters.Available system tools
Amazon Nova supports the following built-in tools:Web grounding (nova_grounding)
The grounding tool allows the model to search the web and ground its responses with real-time information from external sources.Code interpreter (nova_code_interpreter)
The code interpreter tool enables the model to write and execute Python code in a sandboxed environment, useful for mathematical computations, data analysis, and code generation tasks.Combining system tools
You can enable multiple system tools simultaneously:System tools as invocation parameters
You can also specify system tools at invocation time instead of during initialization:Tool outputs and citationsWhen using system tools, the model’s response will include:
- The main text response
- Citations or references (for grounding tool)
- Code execution results (for code interpreter)
response_metadata and can be accessed for displaying sources or debugging.Structured output
Amazon Nova supports structured output through thewith_structured_output() method, enabling you to get LLM responses in structured formats using Pydantic models or JSON schemas.
Basic usage with Pydantic
You can constrain LLM responses to match a specific structure using Pydantic models:JSON schema support
You can also provide JSON schemas directly:Streaming structured output
Structured output works with streaming. The parsed object is returned once the complete response arrives:Accessing raw messages
Theinclude_raw parameter allows access to both the parsed output and the raw AIMessage:
Nested and complex schemas
You can use nested Pydantic models for complex data structures:Implementation detailsStructured output uses Nova’s tool calling capabilities under the hood with
tool_choice='required' to ensure consistent structured responses. The schema is converted to a tool definition, and the tool call response is parsed back into the requested format.Model profile
Amazon Nova provides different models with varying capabilities. It includes support for LangChain model profiles.Model capabilities vary by modelSome Amazon Nova models support vision inputs while others do not. Always check model capabilities before using multimodal features.For a complete list of available models and their capabilities, see the Amazon Nova documentation.
Async operations
For production applications requiring high throughput, use native async operations:Chaining
Amazon Nova models work seamlessly with LangChain’s LCEL (LangChain Expression Language) for building chains:Error handling
The model includes built-in retry logic with configurable parameters:with_retry method:
Troubleshooting
Connection issues
If you encounter connection errors, verify your environment variables are set correctly:Compression errors
The
ChatAmazonNova client automatically disables compression to avoid potential decompression issues.Tool calling validation errors
If you receive a validation error when binding tools, ensure the model supports tool calling.API reference
For detailed documentation of allChatAmazonNova features and configurations, head to the ChatAmazonNova API reference.
For Amazon Nova-specific features, model details, and API specifications, see the Amazon Nova documentation.
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

