Commit Graph

195 Commits

Author SHA1 Message Date
Rohan Mehta 281144ecf1 v0.0.6 (voice support) (#267)
Release a new version with voice support
2025-03-20 13:13:00 -04:00
Rohan Mehta 1ed6e67080 v0.0.6 (voice support) 2025-03-20 13:10:54 -04:00
Rohan Mehta 6b34df037e update tests (#266) 2025-03-20 13:10:47 -04:00
Rohan Mehta ec66b71419 update tests 2025-03-20 13:08:38 -04:00
Rohan Mehta 57b0b5f628 feat: add voice pipeline support (#265)
> Co-authored-by: rm@openai.com
2025-03-20 12:54:42 -04:00
Dominik Kundel f476521c53 fix tests 2025-03-20 09:52:15 -07:00
Dominik Kundel 20f0793862 feat: add voice pipeline support
> Co-authored-by: rm@openai.com
2025-03-20 09:43:13 -07:00
Rohan Mehta b62379306f Indentation for mkdocs.yml (#264) 2025-03-20 11:21:27 -04:00
Rohan Mehta 9d27b33cde Indentation for mkdocs.yml 2025-03-20 11:18:08 -04:00
Rohan Mehta 8f56664dff Adds example for financial agent (#255)
This example shows how you might compose a richer financial research
agent using the Agents SDK. The pattern is similar to the `research_bot`
example, but with more specialized sub‑agents and a verification step.

The flow is:

1. **Planning**: A planner agent turns the end user’s request into a
list of search terms relevant to financial analysis – recent news,
earnings calls, corporate filings, industry commentary, etc.
2. **Search**: A search agent uses the built‑in `WebSearchTool` to
retrieve terse summaries for each search term. (You could also add
`FileSearchTool` if you have indexed PDFs or 10‑Ks.)
3. **Sub‑analysts**: Additional agents (e.g. a fundamentals analyst and
a risk analyst) are exposed as tools so the writer can call them inline
and incorporate their outputs.
4. **Writing**: A writer agent brings together the search snippets and
any sub‑analyst summaries into a long‑form markdown report plus a short
executive summary.
5. **Verification**: A final verifier agent audits the report for
obvious inconsistencies or missing sourcing.
2025-03-20 10:55:31 -04:00
Shyamal H Anadkat ec5211c38f Adds example for financial agent 2025-03-19 22:33:13 -07:00
Rohan Mehta d300729e4f formatting updates to examples doc (#249) 2025-03-19 17:26:24 -04:00
James Hills 3de6c69f25 formatting updates to examples doc 2025-03-19 14:23:28 -07:00
Rohan Mehta b0604f6d8c add examples section to docs (#242)
Have gotten feedback that Examples are somewhat buried in the Github
docs. Adding new page after quickstart.
2025-03-19 15:42:41 -04:00
jhills20 266359977d add examples section to docs 2025-03-19 11:43:09 -07:00
Rohan Mehta b2a7d1f376 v0.0.5 (#241) 2025-03-19 12:35:15 -04:00
Rohan Mehta a4cfa67160 v0.0.5 2025-03-19 12:32:36 -04:00
Rohan Mehta 66e6cd16e2 Fix breaking changes from openai 1.66.2 (#232)
Breaking change in 1.66.2
2025-03-19 12:31:59 -04:00
Rohan Mehta 4d6edb9eb9 chore(docs): Added comet opik to tracing AND formatted into a list (#73)
Comet Opik added support for Agent SDK tracing and should be included.
2025-03-19 12:31:02 -04:00
Rohan Mehta e7caa14c30 Fix breaking changes from openai 1.66.2 2025-03-19 12:30:45 -04:00
Rohan Mehta de5710f229 Introduce tool_use_behavior on agents (#203)
## Context
By default, the outputs of tools are sent to the LLM again. The LLM gets
to read the outputs, and produce a new response. There are cases where
this is not desired:
1. Every tool results in another round trip, and sometimes the output of
the tool is enough.
2. If you force tool use (via model settings `tool_choice=required`),
then the agent will just infinite loop.

This enables you to have different behavior, e.g. use the first tool
output as the final output, or write a custom function to process tool
results and potentially produce an output.

## Test plan
Added new tests and ran existing tests
Also added examples.


Closes #117
2025-03-19 12:27:02 -04:00
Vincent Koc ef3f1d73b5 Merge branch 'main' into patch-1 2025-03-20 02:57:34 +11:00
Rohan Mehta 435f77cc49 fix reasoning order in guardrails.md (#234) 2025-03-18 23:27:33 -04:00
CCM b642cd4506 fix reasoning order in guardrails.md 2025-03-19 11:10:58 +08:00
Rohan Mehta c91db09d3c Introduce tool_use_behavior on agents 2025-03-18 21:55:12 -04:00
Rohan Mehta 8b643537a0 Update tests and docs for strict mode decorator (#205)
As titled. Test plan: unit tests/docs.
2025-03-18 21:35:00 -04:00
Rohan Mehta 9291c1743c Add min 95% code coverage (#229)
Run the tests with `coverage`, and make sure the min coverage is 95%.
2025-03-18 16:50:00 -04:00
Rohan Mehta d743b4ac4c Add min 95% code coverage 2025-03-18 16:48:43 -04:00
Dmitry Pimenov 11ce7c9995 chore: adds Maxim AI to tracing processors (#210) 2025-03-18 09:10:52 -07:00
Rohan Mehta 9b7cc2436f [doc] add mlflow tracing integration (#171)
Hi team! Congrats on the new Agents SDK launch!

This PR adds MLflow to the tracing documentation, as it supports
automatic tracing for OpenAI Agents SDK. It has also been supporting
tracing for
[Swarm](https://mlflow.org/docs/latest/tracing/integrations/swarm) as
well, so it is fantastic that the new SDK offers built-in mechanism for
3P trace providers🙂


![image](https://github.com/user-attachments/assets/d36382da-dca1-4335-a915-ca94a994e26a)
2025-03-18 10:21:54 -04:00
B-Step62 aeb6917e17 [doc] add mlflow tracing integration
Signed-off-by: B-Step62 <yuki.watanabe@databricks.com>
2025-03-18 11:29:21 +09:00
Akshay Deo 5b86a4eadc chore: adds Maxim AI to tracing processors 2025-03-18 07:49:33 +05:30
Dmitry Pimenov 87fb4ee6bc Docs: update readme text to clarify handoffs (#208)
Clarifying that the handoff abstraction is implemented via Responses
tool calling
2025-03-17 15:15:13 -07:00
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
Rohan Mehta 8d14695f51 Update tests and docs for strict mode decorator 2025-03-17 15:06:57 -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