概述
集成详情
模型功能
设置
要访问 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 支持以下内置工具:网络基础(nova_grounding)
基础工具允许模型搜索网络,并使用来自外部源的实时信息为基础来生成响应。代码解释器(nova_code_interpreter)
代码解释器工具使模型能够在沙盒环境中编写和执行 Python 代码,适用于数学计算、数据分析和代码生成任务。组合系统工具
您可以同时启用多个系统工具:作为调用参数的系统工具
您也可以在调用时指定系统工具,而不是在初始化期间:工具输出和引用使用系统工具时,模型的响应将包括:
- 主要文本响应
- 引用或参考(用于基础工具)
- 代码执行结果(用于代码解释器)
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 文档。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

