From 389d5a99821336c0d7025324ee22515b5da64b84 Mon Sep 17 00:00:00 2001 From: Brandon Hancock Date: Thu, 9 Jan 2025 16:17:14 -0500 Subject: [PATCH] vcr --- ...\"Futel Official Infopoint\" -True].yaml" | 119 +++++++++++++++++ ... FUTEL\\nOFFICIAL INFOPOINT -True].yaml" | 115 ++++++++++++++++ ...g[\"Futel Official Infopoint\"-True].yaml" | 116 ++++++++++++++++ ...tching[Futel Official Infopoint-True].yaml | 124 ++++++++++++++++++ ...ng[Futel Official Infopoint\\n-True].yaml" | 116 ++++++++++++++++ tests/test_manager_llm_delegation.py | 10 +- 6 files changed, 595 insertions(+), 5 deletions(-) create mode 100644 "tests/cassettes/test_agent_tool_role_matching[ \"Futel Official Infopoint\" -True].yaml" create mode 100644 "tests/cassettes/test_agent_tool_role_matching[ FUTEL\\nOFFICIAL INFOPOINT -True].yaml" create mode 100644 "tests/cassettes/test_agent_tool_role_matching[\"Futel Official Infopoint\"-True].yaml" create mode 100644 tests/cassettes/test_agent_tool_role_matching[Futel Official Infopoint-True].yaml create mode 100644 "tests/cassettes/test_agent_tool_role_matching[Futel Official Infopoint\\n-True].yaml" diff --git "a/tests/cassettes/test_agent_tool_role_matching[ \"Futel Official Infopoint\" -True].yaml" "b/tests/cassettes/test_agent_tool_role_matching[ \"Futel Official Infopoint\" -True].yaml" new file mode 100644 index 000000000..21b0cd92a --- /dev/null +++ "b/tests/cassettes/test_agent_tool_role_matching[ \"Futel Official Infopoint\" -True].yaml" @@ -0,0 +1,119 @@ +interactions: +- request: + body: '{"messages": [{"role": "system", "content": "You are Futel Official Infopoint. + Futel Football Club info\nYour personal goal is: Answer questions about Futel\nTo + give my best complete final answer to the task respond using the exact following + format:\n\nThought: I now can give a great answer\nFinal Answer: Your 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!"}, {"role": "user", + "content": "\nCurrent Task: Test task\n\nThis is the expect criteria for your + final answer: Your best answer to your coworker asking you this, accounting + for the context shared.\nyou 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:"}], + "model": "gpt-4o", "stop": ["\nObservation:"], "stream": false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '939' + content-type: + - application/json + cookie: + - __cf_bm=PayAEPcVMbXBjhxhnXnOiohFbX24Zmpq3CYdIymCQK4-1736457335-1.0.1.1-FZG4EX90pRlyTvEavWmg2mz_rgrfv92rWJSspC1e9DdGZmSt3LHpavV7oMwK_HWozerDkzns46Czafjkk1qAqQ; + _cfuvid=FnUqyyJsek9lGXDNKiSxP8UqVYwVhxUqfiw5tO38VNI-1736457335028-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.52.1 + x-stainless-raw-response: + - 'true' + x-stainless-retry-count: + - '0' + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.7 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + content: "{\n \"id\": \"chatcmpl-AnuAJX0JApdkr5cr5HRQLNSoWs6Dj\",\n \"object\": + \"chat.completion\",\n \"created\": 1736457335,\n \"model\": \"gpt-4o-2024-08-06\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer \\nFinal + Answer: When your coworker asks about the current status or details involving + the Futel Football Club, it's crucial to provide a comprehensive answer. It + is essential to them about the particular aspect of the club they are inquiring + about, such as recent matches, player information, upcoming events, or club + history, and then deliver detailed information relevant to that query. Always + strive to be as precise and informative as possible, while maintaining an engaging + and helpful demeanor to support their understanding and knowledge of the Futel + Football Club.\",\n \"refusal\": null\n },\n \"logprobs\": + null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 177,\n \"completion_tokens\": 111,\n \"total_tokens\": 288,\n \"prompt_tokens_details\": + {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": + 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"system_fingerprint\": + \"fp_703d4ff298\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8ff7718889367bcc-ATL + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 09 Jan 2025 21:15:38 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + access-control-expose-headers: + - X-Request-ID + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '3003' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '30000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '29999786' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_3503475199cb974c296141f7d37bbf46 + http_version: HTTP/1.1 + status_code: 200 +version: 1 diff --git "a/tests/cassettes/test_agent_tool_role_matching[ FUTEL\\nOFFICIAL INFOPOINT -True].yaml" "b/tests/cassettes/test_agent_tool_role_matching[ FUTEL\\nOFFICIAL INFOPOINT -True].yaml" new file mode 100644 index 000000000..7dc6a49c1 --- /dev/null +++ "b/tests/cassettes/test_agent_tool_role_matching[ FUTEL\\nOFFICIAL INFOPOINT -True].yaml" @@ -0,0 +1,115 @@ +interactions: +- request: + body: '{"messages": [{"role": "system", "content": "You are Futel Official Infopoint. + Futel Football Club info\nYour personal goal is: Answer questions about Futel\nTo + give my best complete final answer to the task respond using the exact following + format:\n\nThought: I now can give a great answer\nFinal Answer: Your 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!"}, {"role": "user", + "content": "\nCurrent Task: Test task\n\nThis is the expect criteria for your + final answer: Your best answer to your coworker asking you this, accounting + for the context shared.\nyou 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:"}], + "model": "gpt-4o", "stop": ["\nObservation:"], "stream": false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '939' + content-type: + - application/json + cookie: + - __cf_bm=PayAEPcVMbXBjhxhnXnOiohFbX24Zmpq3CYdIymCQK4-1736457335-1.0.1.1-FZG4EX90pRlyTvEavWmg2mz_rgrfv92rWJSspC1e9DdGZmSt3LHpavV7oMwK_HWozerDkzns46Czafjkk1qAqQ; + _cfuvid=FnUqyyJsek9lGXDNKiSxP8UqVYwVhxUqfiw5tO38VNI-1736457335028-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.52.1 + x-stainless-raw-response: + - 'true' + x-stainless-retry-count: + - '0' + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.7 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + content: "{\n \"id\": \"chatcmpl-AnuAPADYARn6GIgkkQyuyciAju6N6\",\n \"object\": + \"chat.completion\",\n \"created\": 1736457341,\n \"model\": \"gpt-4o-2024-08-06\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer\\nFinal + Answer: Thank you for evaluating my task performance. I'm committed to providing + detailed and complete responses in accordance with your direct instructions + and expectations. If there's any other way I can further assist, please let + me know.\",\n \"refusal\": null\n },\n \"logprobs\": null,\n + \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 177,\n \"completion_tokens\": 51,\n \"total_tokens\": 228,\n \"prompt_tokens_details\": + {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": + 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"system_fingerprint\": + \"fp_703d4ff298\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8ff771ae9dd57bcc-ATL + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 09 Jan 2025 21:15:43 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + access-control-expose-headers: + - X-Request-ID + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '1754' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '30000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '29999786' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_4c2c3dd4a9fd3a15a5b0a5eed2f45ef1 + http_version: HTTP/1.1 + status_code: 200 +version: 1 diff --git "a/tests/cassettes/test_agent_tool_role_matching[\"Futel Official Infopoint\"-True].yaml" "b/tests/cassettes/test_agent_tool_role_matching[\"Futel Official Infopoint\"-True].yaml" new file mode 100644 index 000000000..bd0aae802 --- /dev/null +++ "b/tests/cassettes/test_agent_tool_role_matching[\"Futel Official Infopoint\"-True].yaml" @@ -0,0 +1,116 @@ +interactions: +- request: + body: '{"messages": [{"role": "system", "content": "You are Futel Official Infopoint. + Futel Football Club info\nYour personal goal is: Answer questions about Futel\nTo + give my best complete final answer to the task respond using the exact following + format:\n\nThought: I now can give a great answer\nFinal Answer: Your 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!"}, {"role": "user", + "content": "\nCurrent Task: Test task\n\nThis is the expect criteria for your + final answer: Your best answer to your coworker asking you this, accounting + for the context shared.\nyou 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:"}], + "model": "gpt-4o", "stop": ["\nObservation:"], "stream": false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '939' + content-type: + - application/json + cookie: + - __cf_bm=PayAEPcVMbXBjhxhnXnOiohFbX24Zmpq3CYdIymCQK4-1736457335-1.0.1.1-FZG4EX90pRlyTvEavWmg2mz_rgrfv92rWJSspC1e9DdGZmSt3LHpavV7oMwK_HWozerDkzns46Czafjkk1qAqQ; + _cfuvid=FnUqyyJsek9lGXDNKiSxP8UqVYwVhxUqfiw5tO38VNI-1736457335028-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.52.1 + x-stainless-raw-response: + - 'true' + x-stainless-retry-count: + - '0' + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.7 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + content: "{\n \"id\": \"chatcmpl-AnuANJKaIk2mlENKbOQ37R8NM34cK\",\n \"object\": + \"chat.completion\",\n \"created\": 1736457339,\n \"model\": \"gpt-4o-2024-08-06\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer\\nFinal + Answer: As this is a test task, please clarify what specific information or + context is needed for a coworker to understand the criteria based on the established + guidelines for Futel Official Infopoint. If there are any particular questions + about Futel or its football club, please provide those so I can offer a detailed + and well-informed response.\",\n \"refusal\": null\n },\n \"logprobs\": + null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 177,\n \"completion_tokens\": 76,\n \"total_tokens\": 253,\n \"prompt_tokens_details\": + {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": + 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"system_fingerprint\": + \"fp_703d4ff298\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8ff771a50de57bcc-ATL + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 09 Jan 2025 21:15:41 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + access-control-expose-headers: + - X-Request-ID + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '1427' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '30000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '29999786' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_f4375b737642033563eec3b2b8d03def + http_version: HTTP/1.1 + status_code: 200 +version: 1 diff --git a/tests/cassettes/test_agent_tool_role_matching[Futel Official Infopoint-True].yaml b/tests/cassettes/test_agent_tool_role_matching[Futel Official Infopoint-True].yaml new file mode 100644 index 000000000..61e9dc8e0 --- /dev/null +++ b/tests/cassettes/test_agent_tool_role_matching[Futel Official Infopoint-True].yaml @@ -0,0 +1,124 @@ +interactions: +- request: + body: '{"messages": [{"role": "system", "content": "You are Futel Official Infopoint. + Futel Football Club info\nYour personal goal is: Answer questions about Futel\nTo + give my best complete final answer to the task respond using the exact following + format:\n\nThought: I now can give a great answer\nFinal Answer: Your 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!"}, {"role": "user", + "content": "\nCurrent Task: Test task\n\nThis is the expect criteria for your + final answer: Your best answer to your coworker asking you this, accounting + for the context shared.\nyou 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:"}], + "model": "gpt-4o", "stop": ["\nObservation:"], "stream": false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '939' + content-type: + - application/json + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.52.1 + x-stainless-raw-response: + - 'true' + x-stainless-retry-count: + - '0' + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.7 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + content: "{\n \"id\": \"chatcmpl-AnuAGjEj2bGDImZFDYAcDsf9VvboK\",\n \"object\": + \"chat.completion\",\n \"created\": 1736457332,\n \"model\": \"gpt-4o-2024-08-06\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer\\nFinal + Answer: Futel Football Club is a community-driven soccer initiative that promotes + engagement and participation in the sport. The club aims to foster teamwork, + discipline, and sportsmanship among its members. Futel FC organizes regular + training sessions, friendly matches, and community events to encourage physical + activity and social interaction. As part of its mission, Futel FC is dedicated + to providing opportunities for players of all ages and skill levels to develop + their abilities and enjoy the game of football. With a focus on inclusivity + and community spirit, Futel FC is committed to nurturing talent and building + lasting relationships through the love of the sport.\",\n \"refusal\": + null\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n + \ }\n ],\n \"usage\": {\n \"prompt_tokens\": 177,\n \"completion_tokens\": + 130,\n \"total_tokens\": 307,\n \"prompt_tokens_details\": {\n \"cached_tokens\": + 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n + \ \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": + 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"system_fingerprint\": + \"fp_703d4ff298\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8ff77178df2a7bcc-ATL + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 09 Jan 2025 21:15:35 GMT + Server: + - cloudflare + Set-Cookie: + - __cf_bm=PayAEPcVMbXBjhxhnXnOiohFbX24Zmpq3CYdIymCQK4-1736457335-1.0.1.1-FZG4EX90pRlyTvEavWmg2mz_rgrfv92rWJSspC1e9DdGZmSt3LHpavV7oMwK_HWozerDkzns46Czafjkk1qAqQ; + path=/; expires=Thu, 09-Jan-25 21:45:35 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=FnUqyyJsek9lGXDNKiSxP8UqVYwVhxUqfiw5tO38VNI-1736457335028-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + access-control-expose-headers: + - X-Request-ID + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '2324' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '30000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '29999786' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_e014b10824e8214be57d23808c0a6157 + http_version: HTTP/1.1 + status_code: 200 +version: 1 diff --git "a/tests/cassettes/test_agent_tool_role_matching[Futel Official Infopoint\\n-True].yaml" "b/tests/cassettes/test_agent_tool_role_matching[Futel Official Infopoint\\n-True].yaml" new file mode 100644 index 000000000..9c39a6d5a --- /dev/null +++ "b/tests/cassettes/test_agent_tool_role_matching[Futel Official Infopoint\\n-True].yaml" @@ -0,0 +1,116 @@ +interactions: +- request: + body: '{"messages": [{"role": "system", "content": "You are Futel Official Infopoint. + Futel Football Club info\nYour personal goal is: Answer questions about Futel\nTo + give my best complete final answer to the task respond using the exact following + format:\n\nThought: I now can give a great answer\nFinal Answer: Your 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!"}, {"role": "user", + "content": "\nCurrent Task: Test task\n\nThis is the expect criteria for your + final answer: Your best answer to your coworker asking you this, accounting + for the context shared.\nyou 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:"}], + "model": "gpt-4o", "stop": ["\nObservation:"], "stream": false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '939' + content-type: + - application/json + cookie: + - __cf_bm=PayAEPcVMbXBjhxhnXnOiohFbX24Zmpq3CYdIymCQK4-1736457335-1.0.1.1-FZG4EX90pRlyTvEavWmg2mz_rgrfv92rWJSspC1e9DdGZmSt3LHpavV7oMwK_HWozerDkzns46Czafjkk1qAqQ; + _cfuvid=FnUqyyJsek9lGXDNKiSxP8UqVYwVhxUqfiw5tO38VNI-1736457335028-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.52.1 + x-stainless-raw-response: + - 'true' + x-stainless-retry-count: + - '0' + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.7 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + content: "{\n \"id\": \"chatcmpl-AnuAMhHvodVuC2y7NF7y7kNvJhvOK\",\n \"object\": + \"chat.completion\",\n \"created\": 1736457338,\n \"model\": \"gpt-4o-2024-08-06\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer\\nFinal + Answer: Thank you for providing the necessary details. However, there seems + to be a misunderstanding as this is a test task prompt without a specific question + related to Futel Football Club. Please provide the necessary context or question, + and I'll be glad to assist you with a complete and accurate response related + to Futel Football Club.\",\n \"refusal\": null\n },\n \"logprobs\": + null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 177,\n \"completion_tokens\": 73,\n \"total_tokens\": 250,\n \"prompt_tokens_details\": + {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": + 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"system_fingerprint\": + \"fp_703d4ff298\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8ff7719bee997bcc-ATL + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 09 Jan 2025 21:15:39 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + access-control-expose-headers: + - X-Request-ID + alt-svc: + - h3=":443"; ma=86400 + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '1364' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '30000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '29999786' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_40d89cdfe6aa3018720fba78fdfed960 + http_version: HTTP/1.1 + status_code: 200 +version: 1 diff --git a/tests/test_manager_llm_delegation.py b/tests/test_manager_llm_delegation.py index 5dbb90c21..d115bf0c7 100644 --- a/tests/test_manager_llm_delegation.py +++ b/tests/test_manager_llm_delegation.py @@ -17,16 +17,17 @@ class InternalAgentTool(BaseAgentTool): "role_name,should_match", [ ("Futel Official Infopoint", True), # exact match - # (' "Futel Official Infopoint" ', True), # extra quotes and spaces - # ("Futel Official Infopoint\n", True), # trailing newline - # ('"Futel Official Infopoint"', True), # embedded quotes - # (" FUTEL\nOFFICIAL INFOPOINT ", True), # multiple whitespace and newline + (' "Futel Official Infopoint" ', True), # extra quotes and spaces + ("Futel Official Infopoint\n", True), # trailing newline + ('"Futel Official Infopoint"', True), # embedded quotes + (" FUTEL\nOFFICIAL INFOPOINT ", True), # multiple whitespace and newline ("futel official infopoint", True), # lowercase ("FUTEL OFFICIAL INFOPOINT", True), # uppercase ("Non Existent Agent", False), # non-existent agent (None, False), # None agent name ], ) +@pytest.mark.vcr(filter_headers=["authorization"]) def test_agent_tool_role_matching(role_name, should_match): """Test that agent tools can match roles regardless of case, whitespace, and special characters.""" # Create test agent @@ -44,7 +45,6 @@ def test_agent_tool_role_matching(role_name, should_match): # Test role matching result = agent_tool._execute(agent_name=role_name, task="Test task", context=None) - print("TEST RESULT: ", result) if should_match: assert (