Commit Graph

154 Commits

Author SHA1 Message Date
Dmitry Pimenov e2be8cc604 clarifying that handoffs are a type of tool call under the hood 2025-03-17 15:05:15 -07:00
Rohan Mehta 801cddc28a Stronger tracing tests with `inline-snapshot` (#25)
`assert len(spans) == 12` is a very weak assertion. This PR asserts the
exported traces and spans more precisely in a readable tree format. And
when the format of an exported trace/span changes (e.g. a new key is
added to every span), you can use `pytest --inline-snapshot=fix` to
update all relevant tests automatically. See
https://15r10nk.github.io/inline-snapshot/latest/ for more info.
2025-03-17 17:59:04 -04:00
Alex Hall 09279d164e mypy 2025-03-17 23:56:42 +02:00
Alex Hall 3ff9238dae Merge branch 'main' of github.com:openai/openai-agents-python into alex/inline-snapshot 2025-03-17 23:55:56 +02:00
Rohan Mehta 7253030b0c Fix typo on Agent documentation (#151)
Argument name is not description but handoff_description
2025-03-17 16:51:47 -04:00
Carlos Souza 268ea2f80d Fix lint 2025-03-17 16:14:28 -04:00
Rohan Mehta 7f1b04e4f3 Fix handoffs example use cases (#156)
## Changes
- In this handoff example, we need to use `first_agent` with
`random_number_tool`, instead of `second_agent` without that tool, since
the user is asking to generate a random number.
- fixed typo in comments
2025-03-17 15:59:18 -04:00
Rohan Mehta d5fbf42a9d fix typo in agent_lifecycle_example.py (#161) 2025-03-17 15:59:00 -04:00
Rohan Mehta 2cccc61118 docs: add arize-phoenix to tracing documentation (#169) 2025-03-17 15:58:28 -04:00
Rohan Mehta 4bb506e16b docs: List LangSmith tracing integration (#197)
LangChain employee/maintainer, happy to make edits to our
docs/integrations if needed.
2025-03-17 15:58:20 -04:00
Rohan Mehta 9876c551bc fix reasoning order in examples (#186)
I think we need to put reasoning-related outputs first to encourage CoT
reasoning.
2025-03-17 15:57:52 -04:00
Rohan Mehta ecf4f92801 Add TracingProcessor export to __init__.py (#192)
# Summary
This adds the missing TracingProcessor export to  __init__.py.

# Behavior
When trying to add a custom tracing processor, the TracingProcessor
importing fails with not found error when trying the example usage
proposed in issue #164

Specifically this line throws the error:
`add_trace_processor(MyTracingProcessor("output"))`

# Expected Behavior
Inspecting the init file, simply the import/export was missing. Adding
these made the example code work for me

# Test plan
Local dev of example code in #164

# Issue number
#164

# Checks
None
2025-03-17 15:39:04 -04:00
Dmitry Pimenov 807e95681f Update tracing docs (#204)
Update the README to point to the list of tracing processors. The docs
will contain all the external processors, so the readme doesn't get too
long.
2025-03-17 12:02:44 -07:00
Rohan Mehta 18397319e2 Update tracing docs 2025-03-17 14:57:43 -04:00
Rohan Mehta 165366b8e5 Create a utils directory (#195)
Moves utils files into a separate directory so we don't end up with a
massive utils file

---
[//]: # (BEGIN SAPLING FOOTER)
* #196
* __->__ #195
2025-03-17 14:26:49 -04:00
Rohan Mehta 2ad3bf3fdb Pretty print result classes (#196)
These classes print a really long, unreadable output by default. This
trims it to the main useful info (i.e. output, last agent, overview of
run).

---
[//]: # (BEGIN SAPLING FOOTER)
* __->__ #196
* #195
2025-03-17 14:26:43 -04:00
Rohan Mehta ffdafc107d Add ZDR callout in tracing docs (#199)
Add callout for ZDR intracing
2025-03-17 14:26:34 -04:00
James Hills ff0af156bd Update tracing.md
Add callout for ZDR intracing
2025-03-17 09:13:22 -07:00
Bagatur f96d352142 docs: List LangSmith tracing integration 2025-03-17 08:47:28 -07:00
Rohan Mehta 417cdc5efe Pretty print result classes 2025-03-17 11:11:39 -04:00
Vincenzo Domina f6e59277b1 Add TracingProcessor export to __init__.py 2025-03-17 10:37:43 +01:00
heartkilla 08400fb4aa fix reasoning order in examples 2025-03-17 14:56:43 +09:00
Rohan Mehta 4719471cc3 utils directory 2025-03-16 18:48:45 -04:00
Rohan Mehta d60a413c14 feat: Add strict_mode option to function_schema and function_tool (#60)
This PR introduces a `strict_mode: bool = True` option to
`@function_tool`, allowing optional parameters when set to False. This
change enables more flexibility while maintaining strict JSON schema
validation by default.

resolves #43 

## Changes:

- Added `strict_mode` parameter to `@function_tool` and passed it to
`function_schema` and `FunctionTool`.
- Updated `function_schema.py` to respect `strict_mode` and allow
optional parameters when set to False.
- Added unit tests to verify optional parameters work correctly,
including multiple optional params with different types.

## Tests:

- Verified function calls with missing optional parameters behave as
expected.
- Added async tests to validate behavior under different configurations.
2025-03-16 17:43:46 -04:00
Alexander Song add02a9f9c docs: add arize-phoenix to tracing documentation 2025-03-14 17:50:10 -07:00
Alex Hall 8722f91a59 Merge branch 'main' of github.com:openai/openai-agents-python into alex/inline-snapshot 2025-03-14 14:16:34 +02:00
CCM dfd8b40a98 fix typo in agent_lifecycle_example.py 2025-03-14 19:14:26 +08:00
Kento Yamanaka 2aec6b1390 fix: use first_agent instead of second_agent for a task to generate random number 2025-03-13 18:26:49 -07:00
Carlos Souza d6e4bd12e0 Fix typo on Agent documentation
Argument name is not description but handoff_description
2025-03-13 16:18:40 -04:00
Rohan Mehta f8d856f04d Create model_provider.md 2025-03-13 14:43:14 -04:00
Rohan Mehta 94792b7d0d Consolidate to one logger (#149)
Results in double logging if we dont. Closes #141.
2025-03-13 11:38:18 -07:00
Rohan Mehta 8e6f232b21 Update tracing docs to be correct (#146)
Incorrect docs. Closes #121
2025-03-13 10:55:57 -07:00
Rohan Mehta e863ef255d Consolidate to one logger 2025-03-13 13:55:15 -04:00
Rohan Mehta ed9d66b883 Update model docs with common issues (#148)
These are common issues faced by devs, so adding docs to help.
2025-03-13 10:53:50 -07:00
Rohan Mehta d60e7f48fc Update model docs with common issues 2025-03-13 13:43:18 -04:00
Rohan Mehta 83503d85a6 Update tracing docs to be correct 2025-03-13 13:20:27 -04:00
Rohan Mehta bab6e50161 Update custom models to use tools (#144) 2025-03-13 10:12:28 -07:00
Rohan Mehta c92672579b Update custom models to use tools 2025-03-13 13:10:26 -04:00
Rohan Mehta 6b486ce814 v0.0.4 (#140) 2025-03-13 08:19:46 -07:00
Rohan Mehta 62c12170e9 v0.0.4 2025-03-13 11:18:40 -04:00
Rohan Mehta b2dc3e7ac9 Add examples and documentation for using custom model providers (#110) 2025-03-13 08:17:25 -07:00
Dmitry Pimenov 357cbc3853 Add Scorecard as supported external trace processors (#80)
Incredibly excited to add Scorecard as an external trace processor for
the Agents SDK!
2025-03-12 21:25:42 -07:00
Rohan Mehta 17d89ec6f8 Merge pull request #114 from openai/rm/pr114
Add request ID
2025-03-12 18:09:13 -07:00
Rohan Mehta 9428ed0c67 Add request ID 2025-03-12 18:07:59 -07:00
Rohan Mehta 64055ae36f Merge pull request #113 from openai/examples/jupyter
Adding Jupyter notebook example
2025-03-12 17:43:25 -07:00
Rohan Mehta e881d72d38 Add examples and documentation for using custom model providers 2025-03-12 17:34:38 -07:00
Dmitry Pimenov e78614e8ae fixing mypy error 2025-03-12 17:30:59 -07:00
Dmitry Pimenov bac92344b1 fixing lint issues 2025-03-12 17:28:44 -07:00
Dare 0b4ff9b7e5 Merge branch 'main' into main 2025-03-12 17:24:39 -07:00
Dmitry Pimenov fd2003161c added a Jupyter example to clarify how to use the SDK with an existing event loop 2025-03-12 17:24:35 -07:00