概述
集成详情
模型功能
设置
要访问 Amazon Nova 模型,您需要 获取 API 凭证 并安装langchain-amazon-nova 集成包。
安装
凭证
将您的 Nova API 凭证设置为环境变量:实例化
现在我们可以实例化模型对象并生成聊天补全:有关支持的参数及其描述的完整列表,请参阅 Amazon Nova 文档。
调用
内容块
Amazon Nova 消息可以包含单个字符串或内容块列表。您可以使用content_blocks 属性访问标准化的内容块:
content_blocks 将以与其他模型提供商一致的标准格式呈现内容。阅读更多关于 内容块 的信息。
流式传输
Amazon Nova 支持令牌级流式传输,用于实时响应生成:异步流式传输
对于异步应用程序,请使用astream:
工具调用
Amazon Nova 在兼容的模型上支持工具调用(函数调用)。您可以使用 LangChain 模型配置文件检查模型是否支持工具调用。有关 Nova 工具调用实现和可用参数的详细信息,请参阅 工具调用文档。
基本工具用法
使用 Pydantic 模型或 LangChain@tool 将工具绑定到模型:
tool_calls 属性以标准格式专门访问工具调用:
使用 LangChain 工具
您也可以使用标准的 LangChain 工具:控制工具选择
Amazon Nova 支持通过tool_choice 参数控制模型何时应使用工具:
tool_choice="required" 选项对于确保模型始终使用工具特别有用,例如在结构化输出场景中。
系统工具
Amazon Nova 提供内置系统工具,通过集成功能增强模型的能力。这些工具通过传递给模型初始化或作为调用参数来启用。可用系统工具
Amazon Nova 支持以下内置工具:Web grounding (nova_grounding)
grounding 工具允许模型搜索网络,并使用来自外部来源的实时信息来支撑其响应。代码解释器 (nova_code_interpreter)
代码解释器工具使模型能够在沙盒环境中编写和执行 Python 代码,适用于数学计算、数据分析和代码生成任务。组合系统工具
您可以同时启用多个系统工具:系统工具作为调用参数
您也可以在调用时指定系统工具,而不是在初始化期间:工具输出和引用使用系统工具时,模型的响应将包括:
- 主要文本响应
- 引用或参考文献(用于 grounding 工具)
- 代码执行结果(用于代码解释器)
response_metadata 中,可以访问以显示来源或进行调试。结构化输出
Amazon Nova 通过with_structured_output() 方法支持结构化输出,使您能够使用 Pydantic 模型或 JSON 模式以结构化格式获取 LLM 响应。
使用 Pydantic 的基本用法
您可以使用 Pydantic 模型约束 LLM 响应以匹配特定结构:JSON 模式支持
您也可以直接提供 JSON 模式:流式结构化输出
结构化输出适用于流式传输。一旦完整响应到达,将返回解析后的对象:访问原始消息
include_raw 参数允许同时访问解析后的输出和原始 AIMessage:
嵌套和复杂模式
您可以使用嵌套的 Pydantic 模型来处理复杂的数据结构:实现细节结构化输出在底层使用 Nova 的工具调用功能,并设置
tool_choice='required' 以确保一致的结构化响应。模式被转换为工具定义,工具调用响应被解析回请求的格式。模型配置文件
Amazon Nova 提供具有不同功能的不同模型。它包括对 LangChain 模型配置文件 的支持。异步操作
对于需要高吞吐量的生产应用程序,请使用原生异步操作:链式调用
Amazon Nova 模型与 LangChain 的 LCEL(LangChain 表达式语言)无缝协作,用于构建链:错误处理
该模型包含具有可配置参数的内置重试逻辑:with_retry 方法:
故障排除
连接问题
如果您遇到连接错误,请验证您的环境变量是否设置正确:压缩错误
ChatAmazonNova 客户端会自动禁用压缩以避免潜在的解压缩问题。工具调用验证错误
如果在绑定工具时收到验证错误,请确保模型支持工具调用。API 参考
有关所有ChatAmazonNova 功能和配置的详细文档,请访问 ChatAmazonNova API 参考。
有关 Amazon Nova 特定功能、模型详细信息和 API 规范,请参阅 Amazon Nova 文档。
将这些文档连接 到 Claude、VSCode 等,通过 MCP 获取实时答案。

