Skip to content

Commit 761a1ba

Browse files
committed
docs: Add Chinese documentation for voice
1 parent d30257a commit 761a1ba

File tree

5 files changed

+337
-42
lines changed

5 files changed

+337
-42
lines changed

docs/cn/realtime/guide.md

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -37,32 +37,32 @@ search:
3737

3838
会话维护对话历史并管理与实时模型的持久连接。
3939

40-
## エージェント設定
40+
## 智能体配置
4141

42-
RealtimeAgent は、通常の Agent クラスと同様に動作しますが、いくつか重要な違いがあります。完全な API の詳細は、[`RealtimeAgent`][agents.realtime.agent.RealtimeAgent] API リファレンスをご確認ください
42+
RealtimeAgent 的工作方式与常规的 Agent 类相似,但有一些关键区别。有关完整的 API 详情,请参阅 [`RealtimeAgent`][agents.realtime.agent.RealtimeAgent] API 参考
4343

44-
通常のエージェントとの主な違い:
44+
与常规智能体的主要区别:
4545

46-
- モデルの選択はエージェント レベルではなく、セッション レベルで設定します
47-
- structured outputs のサポートはありません(`outputType` はサポートされません)。
48-
- 声質はエージェントごとに設定できますが、最初のエージェントが話し始めた後は変更できません
49-
- ツール、ハンドオフ、instructions などのその他の機能は同様に動作します
46+
- 模型选择在会话级别配置,而不是智能体级别
47+
- 不支持结构化输出(不支持 `outputType`)。
48+
- 可以为每个智能体配置语音,但在第一个智能体发言后无法更改
49+
- 所有其他功能如工具、交接和指令的工作方式相同
5050

51-
## セッション設定
51+
## 会话配置
5252

53-
### モデル設定
53+
### 模型设置
5454

55-
セッション設定では、基盤となる realtime モデルの動作を制御できます。モデル名(`gpt-realtime` など)、声質(alloy、echo、fable、onyx、nova、shimmer)およびサポートするモダリティ(テキストおよび/または音声)を設定できます。音声フォーマットは入力と出力の両方に設定でき、デフォルトは PCM16 です
55+
会话配置允许您控制底层实时模型的行为。您可以配置模型名称(如 `gpt-realtime`)、语音选择(alloy、echo、fable、onyx、nova、shimmer)以及支持的模态(文本和/或音频)。输入和输出的音频格式都可以设置,PCM16 是默认格式
5656

57-
### 音声設定
57+
### 音频配置
5858

59-
音声設定は、セッションが音声入力と出力をどのように扱うかを制御します。Whisper などのモデルを使用した入力音声の書き起こし、言語設定、ドメイン固有用語の精度を高めるための書き起こしプロンプトを設定できます。発話区間検出(turn detection)の設定では、エージェントが応答を開始・終了するタイミングを制御でき、音声活動検出のしきい値、無音時間、検出された音声の前後に付与するパディングなどのオプションがあります
59+
音频设置控制会话如何处理语音输入和输出。您可以配置使用 Whisper 等模型的输入音频转录,设置语言偏好,并提供转录提示以提高特定领域术语的准确性。轮流检测设置控制智能体何时开始和停止响应,包括语音活动检测阈值、静音持续时间和检测到的语音周围的填充选项
6060

61-
## ツールと関数
61+
## 工具和函数
6262

63-
### ツールの追加
63+
### 添加工具
6464

65-
通常のエージェントと同様に、realtime エージェントは会話中に実行される 関数ツール をサポートします:
65+
就像常规智能体一样,实时智能体支持在对话期间执行的函数工具:
6666

6767
```python
6868
from agents import function_tool
@@ -86,11 +86,11 @@ agent = RealtimeAgent(
8686
)
8787
```
8888

89-
## ハンドオフ
89+
## 交接
9090

91-
### ハンドオフの作成
91+
### 创建交接
9292

93-
ハンドオフにより、専門化されたエージェント間で会話を引き継ぐことができます
93+
交接允许在专门智能体之间转移对话
9494

9595
```python
9696
from agents.realtime import realtime_handoff
@@ -117,24 +117,24 @@ main_agent = RealtimeAgent(
117117
)
118118
```
119119

120-
## イベント処理
120+
## 事件处理
121121

122-
セッションはイベントをストリーミングし、セッションオブジェクトを反復処理してリッスンできます。イベントには、音声出力チャンク、書き起こし結果、ツール実行の開始・終了、エージェントのハンドオフ、エラーが含まれます。特に処理すべき主要イベントは次のとおりです:
122+
会话流式传输事件,您可以通过迭代会话对象来监听这些事件。事件包括音频输出块、转录结果、工具执行开始和结束、智能体交接和错误。需要处理的关键事件包括:
123123

124-
- **audio**: エージェントの応答からの生の音声データ
125-
- **audio_end**: エージェントの発話が完了
126-
- **audio_interrupted**: ユーザー によるエージェントの発話の割り込み
127-
- **tool_start/tool_end**: ツール実行のライフサイクル
128-
- **handoff**: エージェントのハンドオフが発生
129-
- **error**: 処理中にエラーが発生
124+
- **audio**:来自智能体响应的原始音频数据
125+
- **audio_end**:智能体结束发言
126+
- **audio_interrupted**:用户打断智能体
127+
- **tool_start/tool_end**:工具执行生命周期
128+
- **handoff**:发生智能体交接
129+
- **error**:处理过程中发生错误
130130

131-
完全なイベントの詳細は、[`RealtimeSessionEvent`][agents.realtime.events.RealtimeSessionEvent] を参照してください
131+
有关完整的事件详情,请参阅 [`RealtimeSessionEvent`][agents.realtime.events.RealtimeSessionEvent]
132132

133-
## ガードレール
133+
## 护栏功能
134134

135-
Realtime エージェントでサポートされるのは出力用ガードレールのみです。これらのガードレールはデバウンスされ、リアルタイム生成中のパフォーマンス問題を避けるため、(単語ごとではなく)定期的に実行されます。デフォルトのデバウンス長は 100 文字ですが、設定可能です
135+
实时智能体仅支持输出护栏。这些护栏会进行防抖处理并定期运行(不是每个词都运行),以避免实时生成期间的性能问题。默认的防抖长度是 100 个字符,但这是可配置的
136136

137-
ガードレールは `RealtimeAgent` に直接アタッチするか、セッションの `run_config` を通じて提供できます。両方のソースのガードレールは併用して実行されます
137+
护栏可以直接附加到 `RealtimeAgent`,也可以通过会话的 `run_config` 提供。来自两个来源的护栏会一起运行
138138

139139
```python
140140
from agents.guardrail import GuardrailFunctionOutput, OutputGuardrail
@@ -152,25 +152,25 @@ agent = RealtimeAgent(
152152
)
153153
```
154154

155-
ガードレールがトリガーされると、`guardrail_tripped` イベントが生成され、エージェントの現在の応答を中断できます。デバウンス動作により、安全性とリアルタイム性能要件のバランスを取ります。テキスト エージェントと異なり、realtime エージェントはガードレールが作動しても **Exception** は発生させません
155+
当护栏被触发时,它会生成一个 `guardrail_tripped` 事件,并可以中断智能体的当前响应。防抖行为有助于在安全性和实时性能需求之间取得平衡。与文本智能体不同,实时智能体在护栏被触发时**不会**引发异常
156156

157-
## 音声処理
157+
## 音频处理
158158

159-
[`session.send_audio(audio_bytes)`][agents.realtime.session.RealtimeSession.send_audio] を使用してセッションに音声を送信するか、[`session.send_message()`][agents.realtime.session.RealtimeSession.send_message] を使用してテキストを送信します
159+
使用 [`session.send_audio(audio_bytes)`][agents.realtime.session.RealtimeSession.send_audio] 向会话发送音频,或使用 [`session.send_message()`][agents.realtime.session.RealtimeSession.send_message] 发送文本
160160

161-
音声出力については、`audio` イベントをリッスンし、任意の音声ライブラリで音声データを再生してください。ユーザー がエージェントを割り込んだ場合に即座に再生を停止し、キューにある音声をクリアするため、`audio_interrupted` イベントも必ずリッスンしてください
161+
对于音频输出,监听 `audio` 事件并通过您首选的音频库播放音频数据。确保监听 `audio_interrupted` 事件,以便在用户打断智能体时立即停止播放并清除任何排队的音频
162162

163-
## 直接モデルアクセス
163+
## 直接模型访问
164164

165-
基盤となるモデルにアクセスして、カスタムリスナーを追加したり高度な操作を実行したりできます:
165+
您可以访问底层模型以添加自定义监听器或执行高级操作:
166166

167167
```python
168168
# Add a custom listener to the model
169169
session.model.add_listener(my_custom_listener)
170170
```
171171

172-
これにより、接続を低レベルで制御する必要がある高度なユースケース向けに、[`RealtimeModel`][agents.realtime.model.RealtimeModel] インターフェースへ直接アクセスできます
172+
这使您可以直接访问 [`RealtimeModel`][agents.realtime.model.RealtimeModel] 接口,用于需要更底层连接控制的高级用例
173173

174-
##
174+
## 示例
175175

176-
動作する完全な例は、[examples/realtime ディレクトリ](https://github.com/openai/openai-agents-python/tree/main/examples/realtime) を参照してください。UI コンポーネントの有無それぞれのデモが含まれています
176+
有关完整的工作示例,请查看 [examples/realtime 目录](https://github.com/openai/openai-agents-python/tree/main/examples/realtime),其中包含带 UI 组件和不带 UI 组件的演示

docs/cn/realtime/quickstart.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ search:
1111

1212
## 前提条件
1313

14-
- Python 3.9 以上
15-
- OpenAI API キー
16-
- OpenAI Agents SDK の基礎知識
14+
- Python 3.9 或更高版本
15+
- OpenAI API 密钥
16+
- OpenAI Agents SDK 的基本了解
1717

1818
## 安装
1919

docs/cn/voice/pipeline.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
search:
3+
exclude: true
4+
---
5+
# 管道和工作流
6+
7+
[`VoicePipeline`][agents.voice.pipeline.VoicePipeline] 是一个可以轻松将智能体工作流转换为语音应用的类。您传入要运行的工作流,管道会负责转录输入音频、检测音频何时结束、在适当时间调用您的工作流,并将工作流输出转换回音频。
8+
9+
```mermaid
10+
graph LR
11+
%% Input
12+
A["🎤 Audio Input"]
13+
14+
%% Voice Pipeline
15+
subgraph Voice_Pipeline [Voice Pipeline]
16+
direction TB
17+
B["Transcribe (speech-to-text)"]
18+
C["Your Code"]:::highlight
19+
D["Text-to-speech"]
20+
B --> C --> D
21+
end
22+
23+
%% Output
24+
E["🎧 Audio Output"]
25+
26+
%% Flow
27+
A --> Voice_Pipeline
28+
Voice_Pipeline --> E
29+
30+
%% Custom styling
31+
classDef highlight fill:#ffcc66,stroke:#333,stroke-width:1px,font-weight:700;
32+
33+
```
34+
35+
## 配置管道
36+
37+
创建管道时,您可以设置以下内容:
38+
39+
1. [`workflow`][agents.voice.workflow.VoiceWorkflowBase],即每次转录新音频时运行的代码
40+
2. 使用的 [`speech-to-text`][agents.voice.model.STTModel][`text-to-speech`][agents.voice.model.TTSModel] 模型
41+
3. [`config`][agents.voice.pipeline_config.VoicePipelineConfig],可让您配置以下内容:
42+
- 模型提供程序,可将模型名称映射到模型
43+
- 追踪,包括是否禁用追踪、是否上传音频文件、工作流名称、追踪ID等
44+
- TTS 和 STT 模型的设置,如提示、语言和使用的数据类型
45+
46+
## 运行管道
47+
48+
您可以通过 [`run()`][agents.voice.pipeline.VoicePipeline.run] 方法运行管道,该方法允许您以两种形式传入音频输入:
49+
50+
1. [`AudioInput`][agents.voice.input.AudioInput] 用于当您有完整的音频转录,并且只想为其生成结果时。这在您不需要检测说话者何时完成发言的情况下很有用;例如,当您有预录制音频或在按下说话应用中用户完成发言很明确时。
51+
2. [`StreamedAudioInput`][agents.voice.input.StreamedAudioInput] 用于当您可能需要检测用户何时完成发言时。它允许您在检测到音频块时推送它们,语音管道将通过称为"活动检测"的过程在适当时间自动运行智能体工作流。
52+
53+
## 结果
54+
55+
语音管道运行的结果是 [`StreamedAudioResult`][agents.voice.result.StreamedAudioResult]。这是一个允许您流式接收发生事件的对象。有几种 [`VoiceStreamEvent`][agents.voice.events.VoiceStreamEvent],包括:
56+
57+
1. [`VoiceStreamEventAudio`][agents.voice.events.VoiceStreamEventAudio],包含音频块
58+
2. [`VoiceStreamEventLifecycle`][agents.voice.events.VoiceStreamEventLifecycle],通知生命周期事件,如轮次开始或结束
59+
3. [`VoiceStreamEventError`][agents.voice.events.VoiceStreamEventError],是错误事件
60+
61+
```python
62+
63+
result = await pipeline.run(input)
64+
65+
async for event in result.stream():
66+
if event.type == "voice_stream_event_audio":
67+
# play audio
68+
elif event.type == "voice_stream_event_lifecycle":
69+
# lifecycle
70+
elif event.type == "voice_stream_event_error"
71+
# error
72+
...
73+
```
74+
75+
## 最佳实践
76+
77+
### 中断
78+
79+
Agents SDK 目前不支持 [`StreamedAudioInput`][agents.voice.input.StreamedAudioInput] 的任何内置中断支持。相反,对于每个检测到的轮次,它将触发您工作流的单独运行。如果您想在应用程序内处理中断,可以监听 [`VoiceStreamEventLifecycle`][agents.voice.events.VoiceStreamEventLifecycle] 事件。`turn_started` 将表示新轮次已被转录并且处理正在开始。`turn_ended` 将在相应轮次的所有音频被调度后触发。您可以使用这些事件在模型开始轮次时静音说话者的麦克风,并在刷新轮次的所有相关音频后取消静音。

0 commit comments

Comments
 (0)