Commit graph

70 commits

Author SHA1 Message Date
Rohan Mehta
6fb5792b77 Make the reset behavior on tool use configurable
## Summary:

#263 added this behavior. The goal was to prevent infinite loops when tool choice was set. The key change I'm making is:
1. Making it configurable on the agent.
2. Doing bookkeeping in the Runner to track this, to prevent mutating agents.
3. Not resetting the global tool choice in RunConfig.

## Test Plan:
Unit tests.
.
2025-03-25 13:29:32 -04:00
Rohan Mehta
b98a6bd4ac [4/n] Add docs for MCP
Just adding docs.
-
2025-03-25 13:25:50 -04:00
Rohan Mehta
927a29c56b
Fix potential infinite tool call loop by resetting tool_choice after … (#263)
# Fix potential infinite tool call loop by resetting tool_choice after
tool execution

## Summary

This PR fixes an issue where setting `tool_choice` to "required" or a
specific function name could cause models to get stuck in an infinite
tool call loop.

When `tool_choice` is set to force tool usage, this setting persists
across model invocations. This PR automatically resets `tool_choice` to
"auto" after tool execution, allowing the model to decide whether to
make additional tool calls in subsequent turns.

Unlike using `tool_use_behavior="stop_on_first_tool"`, this approach
lets the model continue processing tool results while preventing forced
repeated tool calls.

## Test plan

- Added tests to verify tool_choice reset behavior for both agent and
run_config settings
- Added integration test to verify the solution prevents infinite loops
- All tests pass

## Checks

- [x] I've added new tests for the fix
- [x] I've updated the relevant documentation (added comment in code)
- [x] I've run `make lint` and `make format`
- [x] I've made sure tests pass
2025-03-25 11:30:53 -04:00
Rohan Mehta
791a6f6812
Update quickstart.md 2025-03-23 17:56:55 -04:00
xianghuijin
8f2f76cb65 docs: Update tool_choice reset documentation to match implementation 2025-03-22 14:22:47 +08:00
Rohan Mehta
8d906f88f0
Fix code examples in voice pipeline quickstart docs (#277) 2025-03-21 21:44:14 -04:00
Rohan Mehta
486b4e87e5
[docs] fix annotation numbering in context management (#293)
Fix inconsistent numbering between code and explanatory annotations in
the context management documentation.
2025-03-21 19:33:30 -04:00
Scott Condron
13eca63732
Add Weights & Biases to tracing docs 2025-03-21 21:37:54 +00:00
Han Hwang Lim
d56047be51 fix annotation numbering in context management
Fix inconsistent numbering between code and explanatory annotations in
the context management documentation.
2025-03-21 21:10:30 +00:00
James Hills
fa1c3f40a1
fix line in guardrails 2025-03-21 15:58:34 -04:00
Rohan Mehta
851f0ce539
docs: add Langfuse to tracing documentation (#284) 2025-03-21 10:31:05 -04:00
Jannik Maierhöfer
37ddc4e5a1
docs: add Langfuse to tracing documentation 2025-03-21 13:39:17 +01:00
Pepijn
3da3b51b87 Fix voice pipeline code examples in quickstart docs 2025-03-21 06:47:12 +01:00
Sir Qasim
5f7a0b9508
fixed from agents.voice import SingleAgentVoiceWorkflow, VoicePipeline in quickstart.md
from agents.voice import SingleAgentVoiceWorkflow, VoicePipeline,

remove extra "," from the first line
2025-03-21 06:58:47 +05:00
Kazuhiro Sera
98c4b45b6a Make the optional dependency installation compatible with zsh 2025-03-21 10:01:24 +09:00
Rohan Mehta
180a8ab043
Updating tracing doc for new spans (#272) 2025-03-20 20:05:42 -04:00
Dmitry Pimenov
1b12fce95d fixing object path 2025-03-20 17:03:52 -07:00
Yoshinori Sano
0dd5b37936 [doc] fix invalid imports 2025-03-21 08:37:45 +09:00
Dmitry Pimenov
21634f31d5 removing erroneous changes 2025-03-20 15:53:41 -07:00
Dominik Kundel
c7ce154637 feat: add voice pipeline support
> Co-authored-by: rm@openai.com
2025-03-20 09:43:13 -07:00
xianghuijin
d169d79288 Update documentation for tool_choice auto-reset feature 2025-03-20 21:49:38 +08:00
James Hills
d295a53e53
formatting updates to examples doc 2025-03-19 14:23:28 -07:00
jhills20
4dd3e210ac add examples section to docs 2025-03-19 11:43:09 -07:00
Rohan Mehta
545c20342a
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
6d35c33592
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
e7c2c19564
Merge branch 'main' into patch-1 2025-03-20 02:57:34 +11:00
CCM
bc8369c76a
fix reasoning order in guardrails.md 2025-03-19 11:10:58 +08:00
Rohan Mehta
10aa5555af Introduce tool_use_behavior on agents 2025-03-18 21:55:12 -04:00
Dmitry Pimenov
3b2afe118d
chore: adds Maxim AI to tracing processors (#210) 2025-03-18 09:10:52 -07:00
B-Step62
e0eb4be145 [doc] add mlflow tracing integration
Signed-off-by: B-Step62 <yuki.watanabe@databricks.com>
2025-03-18 11:29:21 +09:00
Akshay Deo
e5befd0cba
chore: adds Maxim AI to tracing processors 2025-03-18 07:49:33 +05:30
Rohan Mehta
82136d7439
docs: add arize-phoenix to tracing documentation (#169) 2025-03-17 15:58:28 -04:00
Rohan Mehta
a612e6a090
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
Dmitry Pimenov
a8390350ab
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
1368e7ffe6 Update tracing docs 2025-03-17 14:57:43 -04:00
James Hills
370a748bcc
Update tracing.md
Add callout for ZDR intracing
2025-03-17 09:13:22 -07:00
Bagatur
4ebf0742f1 docs: List LangSmith tracing integration 2025-03-17 08:47:28 -07:00
Alexander Song
f0ef7d71eb docs: add arize-phoenix to tracing documentation 2025-03-14 17:50:10 -07:00
Vincent Koc
333858b518
Merge branch 'main' into patch-1 2025-03-14 05:33:08 +11:00
Rohan Mehta
8a6967b6d4 Update model docs with common issues 2025-03-13 13:43:18 -04:00
Rohan Mehta
16cfce117c
Add examples and documentation for using custom model providers (#110) 2025-03-13 08:17:25 -07:00
Rohan Mehta
25a633139d Add examples and documentation for using custom model providers 2025-03-12 17:34:38 -07:00
Dare
f8655c3b44
Merge branch 'main' into main 2025-03-12 17:24:39 -07:00
Dingkang Wang
9f938716d1 fix typo in tracing.md 2025-03-12 14:54:11 -07:00
Vincent Koc
7e85c03533
Update tracing.md 2025-03-13 07:56:27 +11:00
Vincent Koc
03869a75ac
Merge branch 'main' into patch-1 2025-03-13 07:53:07 +11:00
Dmitry Pimenov
97a09067cf
Merge pull request #104 from openai/readme/new-trace-provider
Adding Keywords AI as a trace processor
2025-03-12 13:33:02 -07:00
Rohan Mehta
3a95993753
Merge pull request #84 from leykun10/fix-doc-error
Replace undefined variable name in documentation code snippet
2025-03-12 13:31:12 -07:00
Dmitry Pimenov
2f2e2fce5a adding Keywords AI as a trace processor 2025-03-12 13:15:53 -07:00
jhills20
a373162bb0 use @function_tool decorator in docs 2025-03-12 11:15:42 -07:00