

# Amazon Nova Sonic 的代码示例
<a name="speech-code-examples"></a>

**注意**  
本文档适用于 Amazon Nova 版本 1。如需 Amazon Nova 2 Sonic 指南，请访问[代码示例](https://docs.aws.amazon.com/nova/latest/nova2-userguide/sonic-code-examples.html)。

这些代码示例有助于您快速开始使用 Amazon Nova Sonic。您可以在 [Amazon Nova Sonic GitHub 示例](https://github.com/aws-samples/amazon-nova-samples/tree/main/speech-to-speech)页面中访问示例的完整列表。

## 入门示例
<a name="speech-code-examples-basic"></a>

如需旨在帮助您开始使用 Amazon Nova Sonic 的简单示例，请参阅以下实现方式：
+ [Nova Sonic 基本实现（Python）](https://github.com/aws-samples/amazon-nova-samples/blob/main/speech-to-speech/sample-codes/console-python/nova_sonic_simple.py)：这是一种演示如何在双向流式 API 中构建事件的基本实现。此版本不支持插入功能（打断正在说话的助手），也未实现真正的双向通信。
+ [功能齐全的 Nova Sonic 实现（Python）](https://github.com/aws-samples/amazon-nova-samples/blob/main/speech-to-speech/sample-codes/console-python/nova_sonic.py)：这是一种功能齐全的实现，具有真正的双向通信和插入支持。此版本支持更自然的对话，用户可以打断正在说话的助手，类似于人类对话。
+ [Nova Sonic 的工具使用（Python）](https://github.com/aws-samples/amazon-nova-samples/blob/main/speech-to-speech/sample-codes/console-python/nova_sonic_tool_use.py)：这是一种高级实现，通过“工具使用”示例扩展双向通信功能。此版本演示了 Amazon Nova Sonic 如何与外部工具和 API 交互以提供增强功能。
+ [Java WebSocket 实现（Java）](https://github.com/aws-samples/amazon-nova-samples/tree/main/speech-to-speech/sample-codes/websocket-java)：此示例实现了一个基于 WebSocket 的双向音频流应用程序，该应用程序与 Amazon Nova Sonic 模型集成，可使用 Java 进行实时的语音转语音对话。该应用程序通过 Web 接口实现自然的对话互动，同时利用 Amazon 强大的全新语音转语音模型来处理和生成回复。
+ [NodeJS Websocket 实现（NodeJS）](https://github.com/aws-samples/amazon-nova-samples/tree/main/speech-to-speech/sample-codes/websocket-nodejs)：此示例实现了一个基于 WebSocket 的双向音频流应用程序，该应用程序与 Amazon Nova Sonic 模型集成，可使用 NodeJS 进行实时的语音转语音对话。该应用程序通过 Web 接口实现自然的对话互动，同时利用 Amazon 强大的全新语音转语音模型来处理和生成回复。

## 高级应用场景
<a name="speech-code-examples-advanced"></a>

有关演示更复杂应用场景的高级示例，请参阅以下实现：
+ [Amazon Bedrock 知识库实现（NodeJS）](https://github.com/aws-samples/amazon-nova-samples/tree/main/speech-to-speech/repeatable-patterns/bedrock-knowledge-base)：此示例演示了如何使用 NodeJS 将 Amazon Nova Sonic 模型与 Amazon Bedrock 知识库集成，从而构建智能对话应用程序。
+ [聊天记录管理（Python）](https://github.com/aws-samples/amazon-nova-samples/tree/main/speech-to-speech/repeatable-patterns/chat-history-logger)：此示例包含一个聊天记录日志记录系统，该系统使用 Python 捕获并保留用户与 Nova Sonic 之间的所有交互。
+ [酒店预订取消（NodeJS）](https://github.com/aws-samples/amazon-nova-samples/tree/main/speech-to-speech/repeatable-patterns/customer-service/hotel-cancellation-websocket)：此示例演示了 Amazon Nova Sonic 模型的实际客户服务应用场景，即使用 NodeJS 实现酒店预订取消系统。
+ [LangChain 知识库集成（Python）](https://github.com/aws-samples/amazon-nova-samples/tree/main/speech-to-speech/repeatable-patterns/langchain-knowledge-base)：此实现演示了如何使用 Python 将 Amazon Nova Sonic 的语音转语音功能与 LangChain 支持的知识库集成，从而提供增强的对话体验。
+ [对话恢复（NodeJS）](https://github.com/aws-samples/amazon-nova-samples/tree/main/speech-to-speech/repeatable-patterns/resume-conversation)：此示例演示了如何使用 Amazon Nova Sonic 模型实现对话恢复功能。该应用程序以酒店预订取消场景为背景，展示了如何在会话之间保持对话状态，让用户能够借助 NodeJS 无缝继续此前被中断的交互。

## 实践讲习会
<a name="speech-code-examples-workshop"></a>

我们还提供实践讲习会，指导您使用具有双向流式接口的 Nova Sonic 构建语音聊天应用程序。您可以[在此处访问讲习会](https://catalog.us-east-1.prod.workshops.aws/workshops/5238419f-1337-4e0f-8cd7-02239486c40d/en-US)，[在此处找到讲习会的完整代码示例](https://github.com/aws-samples/amazon-nova-samples/tree/main/speech-to-speech/workshops)。