

# 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): 이 예제에서는 Java를 사용하여 실시간 스피치 투 스피치 대화를 위해 Amazon Nova Sonic 모델과 통합되는 양방향 WebSocket 기반 오디오 스트리밍 애플리케이션을 구현합니다. 이 애플리케이션은 Amazon의 새로운 강력한 스피치 투 스피치 모델을 활용하여 응답을 처리하고 생성하는 동시에 웹 인터페이스를 통해 자연스러운 대화형 상호작용을 가능하게 합니다.
+ [NodeJS Websocket 구현(NodeJS)](https://github.com/aws-samples/amazon-nova-samples/tree/main/speech-to-speech/sample-codes/websocket-nodejs): 이 예제에서는 NodeJS를 사용하여 실시간 스피치 투 스피치 대화를 위해 Amazon Nova Sonic 모델과 통합되는 양방향 WebSocket 기반 오디오 스트리밍 애플리케이션을 구현합니다. 이 애플리케이션은 Amazon의 새로운 강력한 스피치 투 스피치 모델을 활용하여 응답을 처리하고 생성하는 동시에 웹 인터페이스를 통해 자연스러운 대화형 상호작용을 가능하게 합니다.

## 고급 사용 사례
<a name="speech-code-examples-advanced"></a>

더 복잡한 사용 사례를 보여주는 고급 예제는 다음 구현을 참조하세요.
+ [Amazon Bedrock Knowledge Base 구현(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 Knowledge Base와 통합해서 지능형 대화형 애플리케이션을 구축하는 방법을 보여줍니다.
+ [채팅 기록 관리(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): 이 예제에서는 NodeJS를 사용하여 호텔 예약 취소 시스템을 구현하는 Amazon Nova Sonic 모델의 실제 고객 서비스 사용 사례를 보여줍니다.
+ [LangChain Knowledge Base 통합(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)를 확인할 수 있습니다.