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