Files
crewAI/tests/cassettes/test_save_task_json_output.yaml
João Moura 2fb56f1f9f Adding support to force a tool return to be the final answer. (#867)
* Adding support to force a tool return to be the final answer.
This will at the end of the execution return the tool output.
It will return the output of the latest tool with the flag

* Update src/crewai/agent.py

Co-authored-by: Gui Vieira <guilherme_vieira@me.com>

* Update tests/agent_test.py

Co-authored-by: Gui Vieira <guilherme_vieira@me.com>

---------

Co-authored-by: Gui Vieira <guilherme_vieira@me.com>
2024-07-04 16:36:00 -03:00

259 lines
11 KiB
YAML

interactions:
- request:
body: '{"messages": [{"content": "You are Scorer. You''re an expert scorer, specialized
in scoring titles.\nYour personal goal is: Score the titleTo give my best complete
final answer to the task use the exact following format:\n\nThought: I now can
give a great answer\nFinal Answer: my best complete final answer to the task.\nYour
final answer must be the great and the most complete as possible, it must be
outcome described.\n\nI MUST use these formats, my job depends on it!\nCurrent
Task: Give me an integer score between 1-5 for the following title: ''The impact
of AI in the future of work''\n\nThis is the expect criteria for your final
answer: The score of the title. \n you MUST return the actual complete content
as the final answer, not a summary.\n\nBegin! This is VERY important to you,
use the tools available and give your best Final Answer, your job depends on
it!\n\nThought:\n", "role": "user"}], "model": "gpt-4o", "n": 1, "stop": ["\nObservation"],
"stream": true, "temperature": 0.7}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '997'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.35.10
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.35.10
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.7
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"
now"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"
can"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"
give"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"
great"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"
answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"
Answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-9hED3nsqYzSiiorjVCmuS96jevbba","object":"chat.completion.chunk","created":1720089753,"model":"gpt-4o-2024-05-13","system_fingerprint":"fp_4008e3b719","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 89de825e5af34c0d-MIA
Connection:
- keep-alive
Content-Type:
- text/event-stream; charset=utf-8
Date:
- Thu, 04 Jul 2024 10:42:33 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=XNWuPzzvDCR6vj8X4pwaZq_1zuK8TwGTpIqHQc0EbWw-1720089753-1.0.1.1-f61Hw2P4yRgm8mOUN2RhRrvndJQwdxwAS5T8bsfbqXLXSlbSKQONzTKvwOzVDnhHR3gy56nDVq.uAOE1cvvDDQ;
path=/; expires=Thu, 04-Jul-24 11:12:33 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=ZIy1L3HZwWapuY1KTKhqiOCKReYrjZwlhU2BUCsEpUs-1720089753602-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '135'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=31536000; includeSubDomains
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '16000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '15999772'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_ae342ee6e026c54b420e69ccb8235272
status:
code: 200
message: OK
- request:
body: '{"messages": [{"role": "user", "content": "4"}, {"role": "system", "content":
"I''m gonna convert this raw text into valid JSON."}], "model": "gpt-4o", "tool_choice":
{"type": "function", "function": {"name": "ScoreOutput"}}, "tools": [{"type":
"function", "function": {"name": "ScoreOutput", "description": "Correctly extracted
`ScoreOutput` with all the required parameters with correct types", "parameters":
{"properties": {"score": {"title": "Score", "type": "integer"}}, "required":
["score"], "type": "object"}}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '519'
content-type:
- application/json
cookie:
- __cf_bm=XNWuPzzvDCR6vj8X4pwaZq_1zuK8TwGTpIqHQc0EbWw-1720089753-1.0.1.1-f61Hw2P4yRgm8mOUN2RhRrvndJQwdxwAS5T8bsfbqXLXSlbSKQONzTKvwOzVDnhHR3gy56nDVq.uAOE1cvvDDQ;
_cfuvid=ZIy1L3HZwWapuY1KTKhqiOCKReYrjZwlhU2BUCsEpUs-1720089753602-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.35.10
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.35.10
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.7
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA2xSS2/bMAy++1cIPMeDm9pN49se3YYVWwKsww5rYagy7biTRUGit6RB/vsgx43d
YD4IBD9+D5DeR0JAU0IuQG0kq9bqeLm5+ZDWqvz4nJZ/7nbrBOV2/c0/+XdvP2uYBQY9PqHiF9Yb
Ra3VyA2ZI6wcSsagerGYJ8n1cpGlPdBSiTrQastxSvE8madxksUXlwNxQ41CD7n4FQkhxL5/Q0RT
4hZykcxeOi16L2uE/DQkBDjSoQPS+8azNAyzEVRkGE1IbTqtJwAT6UJJrUfj47ef1OOepNbF8uuP
9ep2O7+6/Zvebd//VKvdzacvyk78jtI72weqOqNO+5ngp35+ZiYEGNn23O+KHK46th2f0YUA6equ
RcMhOuzvwYfhe8jTA7waPUT/qx+G6nBaq6baOnr0Z1uCqjGN3xQOpe/TgmeyR4sg99Cfr3t1EbCO
WssF0280QfB6uB6M/8sIZgPGxFJPOFk0xAO/84xtUTWmRmdd058SKluU2eLqMllUywSiQ/QPAAD/
/wMAo1FYu9MCAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 89de8261dc6c4c0d-MIA
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Thu, 04 Jul 2024 10:42:34 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
alt-svc:
- h3=":443"; ma=86400
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '193'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=31536000; includeSubDomains
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '16000000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '15999969'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_7cf743796bf4a52626b923135ff8f936
status:
code: 200
message: OK
version: 1