Skip to content

Commit f9ff6b0

Browse files
committed
wip
1 parent 9eb2b4a commit f9ff6b0

File tree

1 file changed

+101
-8
lines changed

1 file changed

+101
-8
lines changed

temporalio/contrib/openai_agents/README.md

Lines changed: 101 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,11 @@ Temporal provides a crash-proof system foundation, taking care of the distribute
1414
OpenAI Agents SDK offers a lightweight yet powerful framework for defining those agents.
1515

1616
This document is organized as follows:
17-
- **[Hello World Agent](#hello-world-durable-agent).** Your first durable agent example.
17+
- **[Hello World Durable Agent](#hello-world-durable-agent).** Your first durable agent example.
1818
- **[Background Concepts](#core-concepts).** Background on durable execution and AI agents.
19-
- **[Full Example](#full-example)** Complete example.
20-
- **[Tool Calling](#tool-calling).**
21-
- **[Feature Support](#feature-support).**
22-
19+
- **[Full Example](#full-example)** Running the Hello World Durable Agent example.
20+
- **[Tool Calling](#tool-calling).** Calling agent Tools in Temporal.
21+
- **[Feature Support](#feature-support).** Compatibility matrix.
2322

2423
The [samples repository](https://github.com/temporalio/samples-python/tree/main/openai_agents) contains examples including basic usage, common agent patterns, and more complete samples.
2524

@@ -347,13 +346,107 @@ class MathAssistantAgent:
347346
```
348347

349348
Note that any tools that run in the workflow must respect the workflow execution restrictions, meaning no I/O or non-deterministic operations.
349+
Of course, code running in the workflow can invoke a Temporal activity at any time.
350350

351-
Such function tools are, however, regular Temporal workflow code, from which you can always invoke an activity if needed.
352-
353-
You can find additional examples in the [Temporal Python Samples Repository](https://github.com/temporalio/samples-python/tree/main/openai_agents).
351+
Tools that run in the workflow can also update OpenAI Agents context, which is read-only for tools run as Temporal activities.
354352

355353

356354
## Feature Support
357355

356+
This integration is presently subject to certain limitations.
357+
Streaming and voice agents are not supported.
358+
Certain tools are not suitable for a distributed computing environment, so these have been disabled as well.
359+
360+
### Model Providers
361+
362+
| Model Provider | Supported |
363+
|----------------|-----------|
364+
| OpenAI | Yes |
365+
| LiteLLM | Yes |
366+
367+
368+
### Model Response format
369+
370+
| Model Response | Supported |
371+
| --- | --- |
372+
| Get Response | Yes |
373+
| Streaming | No |
374+
375+
376+
# Tools
377+
378+
## Tool Type
379+
380+
Tools that are not suited to a distributed setting are disabled
381+
382+
| Tool Type | Supported |
383+
| --- | --- |
384+
| FunctionTool | Yes |
385+
| LocalShellTool | No |
386+
| WebSearchTool | Yes |
387+
| FileSearchTool | Yes |
388+
| HostedMCPTool | Yes |
389+
| ImageGenerationTool | Yes |
390+
| CodeInterpreterTool | Yes |
391+
| ComputerTool | No |
392+
393+
## Tool Context
394+
395+
| Context Propagation | Supported |
396+
| --- | --- |
397+
| Activity Tool receives copy of context | Yes |
398+
| Activity Tool can update context | No |
399+
| Function Tool received context | Yes |
400+
| Function Tool can update context | Yes |
401+
402+
# MCP
403+
404+
Presently, MCP is supported only via `HostedMCPTool`.
358405

406+
| MCP Class | Supported |
407+
| --- | --- |
408+
| MCPServerStdio | No |
409+
| MCPServerSse | No |
410+
| MCPServerStreamableHttp | No |
411+
412+
# Guardrails
413+
414+
| Guardrail Type | Supported |
415+
| --- | --- |
416+
| Code | Yes |
417+
| Agent | Yes |
418+
419+
# Sessions
420+
421+
SQLite storage is not suited to a distributed environment.
422+
423+
| Feature | Supported |
424+
| --- | --- | --- |
425+
| SQLiteSession | No |
426+
427+
# Tracing
428+
429+
| Tracing Provider | Supported | Notes |
430+
| --- | --- | --- |
431+
| OpenAI platform | Yes | |
432+
433+
Generating a comprehensive list of 3rd party tracing providers is out of scope.
434+
435+
### Voice
436+
437+
| Mode | Supported |
438+
| --- | --- |
439+
| Voice agents (pipelines) | No |
440+
| Realtime agents | No |
441+
442+
## Utilities
443+
444+
| Utility | Supported |
445+
| --- | --- |
446+
| REPL | No |
447+
448+
449+
## Additional Examples
450+
451+
You can find additional examples in the [Temporal Python Samples Repository](https://github.com/temporalio/samples-python/tree/main/openai_agents).
359452

0 commit comments

Comments
 (0)