You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`OpenAIConversationsSession`을 통해 [OpenAI의 Conversations API](https://platform.openai.com/docs/api-reference/conversations)를 사용합니다.
187
+
`OpenAIConversationsSession`을 통해 [OpenAI's Conversations API](https://platform.openai.com/docs/api-reference/conversations)를 사용합니다.
127
188
128
189
```python
129
190
from agents import Agent, Runner, OpenAIConversationsSession
@@ -157,9 +218,9 @@ result = await Runner.run(
157
218
print(result.final_output) # "California"
158
219
```
159
220
160
-
### OpenAI Responses 압축 세션
221
+
### OpenAI Responses compaction 세션
161
222
162
-
`OpenAIResponsesCompactionSession`을 사용하면 Responses API(`responses.compact`)로 세션 기록을 압축할 수 있습니다. 이는 기본 세션을 감싸는 래퍼이며, `should_trigger_compaction`에 따라 각 턴 이후 자동으로 압축할 수 있습니다.
223
+
`OpenAIResponsesCompactionSession`을 사용하면 Responses API(`responses.compact`)로 세션 히스토리를 압축(compact)할 수 있습니다. 이는 하위 세션을 래핑하며, `should_trigger_compaction`에 따라 각 턴 후 자동으로 압축할 수 있습니다.
163
224
164
225
#### 일반적인 사용(자동 압축)
165
226
@@ -178,13 +239,13 @@ result = await Runner.run(agent, "Hello", session=session)
178
239
print(result.final_output)
179
240
```
180
241
181
-
기본적으로 후보 임계값에 도달하면 각 턴 이후 압축이 실행됩니다.
242
+
기본적으로 후보 임계값에 도달하면 각 턴 후 압축이 실행됩니다.
182
243
183
-
#### 자동 압축은 스트리밍을 차단할 수 있음
244
+
#### 자동 압축은 스트리밍을 블로킹할 수 있음
184
245
185
-
압축은 세션 기록을 지우고 다시 쓰므로, SDK는 압축이 끝날 때까지 실행이 완료된 것으로 간주하지 않습니다. 스트리밍 모드에서는 압축이 무거운 경우 마지막 출력 토큰 이후에도 `run.stream_events()`가 몇 초 동안 열린 상태로 유지될 수 있습니다.
246
+
압축은 세션 히스토리를 비우고 다시 쓰므로, SDK 는 실행이 완료되었다고 간주하기 전에 압축이 끝나길 기다립니다. 스트리밍 모드에서는 압축이 무거운 경우 마지막 출력 토큰 이후에도 `run.stream_events()`가 몇 초 동안 열려 있을 수 있다는 뜻입니다.
186
247
187
-
지연이 낮은 스트리밍이나 빠른 턴 전환이 필요하다면 자동 압축을 비활성화하고, 턴 사이(또는 유휴 시간)에 직접 `run_compaction()`을 호출하세요. 자체 기준에 따라 언제 압축을 강제할지 결정할 수 있습니다.
248
+
낮은 지연의 스트리밍이나 빠른 턴 전환이 필요하다면 자동 압축을 비활성화하고, 턴 사이(또는 유휴 시간)에 직접 `run_compaction()`을 호출하세요. 자체 기준에 따라 언제 압축을 강제할지 결정할 수 있습니다.
-SQLAlchemy가 지원하는 기존 데이터베이스를 사용하는 프로덕션 시스템에는 SQLAlchemy 기반 세션(`SQLAlchemySession("session_id", engine=engine, create_tables=True)`)을 사용하세요
362
-
- 내장 텔레메트리, 트레이싱, 데이터 격리를 갖추고 30개 이상의 데이터베이스 백엔드를 지원하는 프로덕션 클라우드 네이티브 배포에는 Dapr 상태 저장소 세션(`DaprSession.from_address("session_id", state_store_name="statestore", dapr_address="localhost:50001")`)을 사용하세요
- 투명한 암호화 및 TTL 기반 만료로 어떤 세션이든 감싸려면 암호화된 세션(`EncryptedSession(session_id, underlying_session, encryption_key)`)을 사용하세요
365
-
- 더 고급 사용 사례를 위해 다른 프로덕션 시스템(예: Django)을 대상으로 커스텀 세션 백엔드 구현을 고려하세요
418
+
- 임시 대화에는 인메모리 SQLite(`SQLiteSession("session_id")`)를 사용하세요
419
+
- 영속 대화에는 파일 기반 SQLite(`SQLiteSession("session_id", "path/to/db.sqlite")`)를 사용하세요
420
+
-`aiosqlite` 기반 구현이 필요하면 비동기 SQLite(`AsyncSQLiteSession("session_id", db_path="...")`)를 사용하세요
421
+
- 공유되고 지연이 낮은 세션 메모리가 필요하면 Redis 기반 세션(`RedisSession.from_url("session_id", url="redis://...")`)을 사용하세요
422
+
-SQLAlchemy 가 지원하는 기존 데이터베이스를 사용하는 프로덕션 시스템에는 SQLAlchemy 기반 세션(`SQLAlchemySession("session_id", engine=engine, create_tables=True)`)을 사용하세요
423
+
- 내장 텔레메트리, 트레이싱, 데이터 격리를 갖춘 30+ 데이터베이스 백엔드 지원이 필요한 프로덕션 클라우드 네이티브 배포에는 Dapr state store 세션(`DaprSession.from_address("session_id", state_store_name="statestore", dapr_address="localhost:50001")`)을 사용하세요
424
+
-히스토리를 OpenAI Conversations API 에 저장하고 싶다면 OpenAI 호스트하는 스토리지(`OpenAIConversationsSession()`)를 사용하세요
425
+
- 투명한 암호화와 TTL 기반 만료를 위해 어떤 세션이든 래핑하려면 암호화 세션(`EncryptedSession(session_id, underlying_session, encryption_key)`)을 사용하세요
426
+
- 더 고급 사용 사례를 위해 다른 프로덕션 시스템(예: Django) 용 커스텀 세션 백엔드 구현을 고려하세요
366
427
367
428
### 여러 세션
368
429
@@ -523,11 +584,11 @@ result = await Runner.run(
523
584
524
585
| Package | Description |
525
586
|---------|-------------|
526
-
|[openai-django-sessions](https://pypi.org/project/openai-django-sessions/)|Django가 지원하는 어떤 데이터베이스(PostgreSQL, MySQL, SQLite 등)에서도 사용할 수 있는 Django ORM 기반 세션 |
587
+
|[openai-django-sessions](https://pypi.org/project/openai-django-sessions/)|Django 가 지원하는 어떤 데이터베이스(PostgreSQL, MySQL, SQLite 등)에도 사용할 수 있는 Django ORM 기반 세션 |
527
588
528
-
세션 구현을 만들었다면, 여기에 추가할 수 있도록 문서 PR을 제출해 주세요!
589
+
세션 구현을 만들었다면, 여기에 추가할 수 있도록 문서 PR 을 제출해 주세요!
529
590
530
-
## API 레퍼런스
591
+
## API 참조
531
592
532
593
자세한 API 문서는 다음을 참고하세요:
533
594
@@ -536,8 +597,8 @@ result = await Runner.run(
536
597
-[`OpenAIResponsesCompactionSession`][agents.memory.openai_responses_compaction_session.OpenAIResponsesCompactionSession] - Responses API 압축 래퍼
537
598
-[`SQLiteSession`][agents.memory.sqlite_session.SQLiteSession] - 기본 SQLite 구현
538
599
-[`AsyncSQLiteSession`][agents.extensions.memory.async_sqlite_session.AsyncSQLiteSession] - `aiosqlite` 기반 비동기 SQLite 구현
0 commit comments