mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-23 07:08:14 +00:00
Refactored the test for task guardrail process output to enhance the validation of the output against the OpenAPI schema. The changes include a more structured request body and updated response handling to ensure compliance with the guardrail requirements. This update aims to improve the clarity and reliability of the test cases, ensuring that task outputs are correctly validated and feedback is appropriately provided.
248 lines
9.7 KiB
YAML
248 lines
9.7 KiB
YAML
interactions:
|
|
- request:
|
|
body: '{"messages":[{"role":"system","content":"Ensure your final answer strictly
|
|
adheres to the following OpenAPI schema: {\n \"type\": \"json_schema\",\n \"json_schema\":
|
|
{\n \"name\": \"LLMGuardrailResult\",\n \"strict\": true,\n \"schema\":
|
|
{\n \"properties\": {\n \"valid\": {\n \"description\":
|
|
\"Whether the task output complies with the guardrail\",\n \"title\":
|
|
\"Valid\",\n \"type\": \"boolean\"\n },\n \"feedback\":
|
|
{\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\":
|
|
\"null\"\n }\n ],\n \"default\": null,\n \"description\":
|
|
\"A feedback about the task output if it is not valid\",\n \"title\":
|
|
\"Feedback\"\n }\n },\n \"required\": [\n \"valid\",\n \"feedback\"\n ],\n \"title\":
|
|
\"LLMGuardrailResult\",\n \"type\": \"object\",\n \"additionalProperties\":
|
|
false\n }\n }\n}\n\nDo not include the OpenAPI schema in the final output.
|
|
Ensure the final output does not include any code block markers like ```json
|
|
or ```python."},{"role":"user","content":"{\"valid\":false,\"feedback\":\"The
|
|
task result contains 22 words, exceeding the limit of 10 words specified by
|
|
the guardrail.\"}"}],"model":"gpt-4o","response_format":{"type":"json_schema","json_schema":{"schema":{"properties":{"valid":{"description":"Whether
|
|
the task output complies with the guardrail","title":"Valid","type":"boolean"},"feedback":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"A
|
|
feedback about the task output if it is not valid","title":"Feedback"}},"required":["valid","feedback"],"title":"LLMGuardrailResult","type":"object","additionalProperties":false},"name":"LLMGuardrailResult","strict":true}},"stream":false}'
|
|
headers:
|
|
User-Agent:
|
|
- X-USER-AGENT-XXX
|
|
accept:
|
|
- application/json
|
|
accept-encoding:
|
|
- ACCEPT-ENCODING-XXX
|
|
authorization:
|
|
- AUTHORIZATION-XXX
|
|
connection:
|
|
- keep-alive
|
|
content-length:
|
|
- '1854'
|
|
content-type:
|
|
- application/json
|
|
cookie:
|
|
- COOKIE-XXX
|
|
host:
|
|
- api.openai.com
|
|
x-stainless-arch:
|
|
- X-STAINLESS-ARCH-XXX
|
|
x-stainless-async:
|
|
- 'false'
|
|
x-stainless-helper-method:
|
|
- beta.chat.completions.parse
|
|
x-stainless-lang:
|
|
- python
|
|
x-stainless-os:
|
|
- X-STAINLESS-OS-XXX
|
|
x-stainless-package-version:
|
|
- 1.83.0
|
|
x-stainless-read-timeout:
|
|
- X-STAINLESS-READ-TIMEOUT-XXX
|
|
x-stainless-retry-count:
|
|
- '0'
|
|
x-stainless-runtime:
|
|
- CPython
|
|
x-stainless-runtime-version:
|
|
- 3.13.3
|
|
method: POST
|
|
uri: https://api.openai.com/v1/chat/completions
|
|
response:
|
|
body:
|
|
string: !!binary |
|
|
H4sIAAAAAAAAAwAAAP//jFI9b9swEN39Kw4324Gs2K6trcjUoS1QFAWMKhBo8iRdRJEESSVxDf/3
|
|
QlJiOW0KdNHA96F37+40A0BWmAHKWkTZOr24O653n/nTfv/wpUnuvu1Z/3r68VV/dG3TlDjvFfbw
|
|
QDK+qm6kbZ2myNaMsPQkIvWuyw+b7ep2vV6mA9BaRbqXVS4uVnaRJulqkWwXyeZFWFuWFDCDnzMA
|
|
gNPw7SMaRc+YQTJ/fWkpBFERZhcSAHqr+xcUIXCIwkScT6C0JpIZUp9yfBSaVY5ZKXSgeY4lkToI
|
|
2eSY5fi9JogiNOApdDpCLxVsAqQpPFmvwhzoWRIpNhXEmkBzyxFsCctkJEBwJLlkUnA4DpSqE155
|
|
wfomx/N1Lk9lF0Rfi+m0vgKEMTaKvtahkfsX5HzpQNvKeXsIf0ixZMOhLjyJYE0/b4jW4YCeZwD3
|
|
Q9fdm/rQedu6WETb0PC7281m9MNpuxOa7l7AaKPQV6rdev6OX6EoCtbhalsohaxJTdJptaJTbK+A
|
|
2dXUf6d5z3ucnE31P/YTICW5SKpwnhTLtxNPNE/98f+Ldml5CIyB/CNLKiKT7zehqBSdHu8SwzFE
|
|
aouSTUXeeR6Ps3SFSGi32iYiLXF2nv0GAAD//wMAnpXehqUDAAA=
|
|
headers:
|
|
CF-RAY:
|
|
- CF-RAY-XXX
|
|
Connection:
|
|
- keep-alive
|
|
Content-Type:
|
|
- application/json
|
|
Date:
|
|
- Thu, 15 Jan 2026 00:05:13 GMT
|
|
Server:
|
|
- cloudflare
|
|
Strict-Transport-Security:
|
|
- STS-XXX
|
|
Transfer-Encoding:
|
|
- chunked
|
|
X-Content-Type-Options:
|
|
- X-CONTENT-TYPE-XXX
|
|
access-control-expose-headers:
|
|
- ACCESS-CONTROL-XXX
|
|
alt-svc:
|
|
- h3=":443"; ma=86400
|
|
cf-cache-status:
|
|
- DYNAMIC
|
|
openai-organization:
|
|
- OPENAI-ORG-XXX
|
|
openai-processing-ms:
|
|
- '474'
|
|
openai-project:
|
|
- OPENAI-PROJECT-XXX
|
|
openai-version:
|
|
- '2020-10-01'
|
|
x-envoy-upstream-service-time:
|
|
- '489'
|
|
x-openai-proxy-wasm:
|
|
- v0.1
|
|
x-ratelimit-limit-requests:
|
|
- X-RATELIMIT-LIMIT-REQUESTS-XXX
|
|
x-ratelimit-limit-tokens:
|
|
- X-RATELIMIT-LIMIT-TOKENS-XXX
|
|
x-ratelimit-remaining-requests:
|
|
- X-RATELIMIT-REMAINING-REQUESTS-XXX
|
|
x-ratelimit-remaining-tokens:
|
|
- X-RATELIMIT-REMAINING-TOKENS-XXX
|
|
x-ratelimit-reset-requests:
|
|
- X-RATELIMIT-RESET-REQUESTS-XXX
|
|
x-ratelimit-reset-tokens:
|
|
- X-RATELIMIT-RESET-TOKENS-XXX
|
|
x-request-id:
|
|
- X-REQUEST-ID-XXX
|
|
status:
|
|
code: 200
|
|
message: OK
|
|
- request:
|
|
body: '{"messages":[{"role":"system","content":"Ensure your final answer strictly
|
|
adheres to the following OpenAPI schema: {\n \"type\": \"json_schema\",\n \"json_schema\":
|
|
{\n \"name\": \"LLMGuardrailResult\",\n \"strict\": true,\n \"schema\":
|
|
{\n \"properties\": {\n \"valid\": {\n \"description\":
|
|
\"Whether the task output complies with the guardrail\",\n \"title\":
|
|
\"Valid\",\n \"type\": \"boolean\"\n },\n \"feedback\":
|
|
{\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\":
|
|
\"null\"\n }\n ],\n \"default\": null,\n \"description\":
|
|
\"A feedback about the task output if it is not valid\",\n \"title\":
|
|
\"Feedback\"\n }\n },\n \"required\": [\n \"valid\",\n \"feedback\"\n ],\n \"title\":
|
|
\"LLMGuardrailResult\",\n \"type\": \"object\",\n \"additionalProperties\":
|
|
false\n }\n }\n}\n\nDo not include the OpenAPI schema in the final output.
|
|
Ensure the final output does not include any code block markers like ```json
|
|
or ```python."},{"role":"user","content":"{\"valid\":true,\"feedback\":null}"}],"model":"gpt-4o","response_format":{"type":"json_schema","json_schema":{"schema":{"properties":{"valid":{"description":"Whether
|
|
the task output complies with the guardrail","title":"Valid","type":"boolean"},"feedback":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"A
|
|
feedback about the task output if it is not valid","title":"Feedback"}},"required":["valid","feedback"],"title":"LLMGuardrailResult","type":"object","additionalProperties":false},"name":"LLMGuardrailResult","strict":true}},"stream":false}'
|
|
headers:
|
|
User-Agent:
|
|
- X-USER-AGENT-XXX
|
|
accept:
|
|
- application/json
|
|
accept-encoding:
|
|
- ACCEPT-ENCODING-XXX
|
|
authorization:
|
|
- AUTHORIZATION-XXX
|
|
connection:
|
|
- keep-alive
|
|
content-length:
|
|
- '1759'
|
|
content-type:
|
|
- application/json
|
|
cookie:
|
|
- COOKIE-XXX
|
|
host:
|
|
- api.openai.com
|
|
x-stainless-arch:
|
|
- X-STAINLESS-ARCH-XXX
|
|
x-stainless-async:
|
|
- 'false'
|
|
x-stainless-helper-method:
|
|
- beta.chat.completions.parse
|
|
x-stainless-lang:
|
|
- python
|
|
x-stainless-os:
|
|
- X-STAINLESS-OS-XXX
|
|
x-stainless-package-version:
|
|
- 1.83.0
|
|
x-stainless-read-timeout:
|
|
- X-STAINLESS-READ-TIMEOUT-XXX
|
|
x-stainless-retry-count:
|
|
- '0'
|
|
x-stainless-runtime:
|
|
- CPython
|
|
x-stainless-runtime-version:
|
|
- 3.13.3
|
|
method: POST
|
|
uri: https://api.openai.com/v1/chat/completions
|
|
response:
|
|
body:
|
|
string: !!binary |
|
|
H4sIAAAAAAAAAwAAAP//jJIxb9swEIV3/QriZqlQbMm1NTbtkqno2DoQzuRJYkORLEkFFQz/94KS
|
|
YylpCnThwO/e8b3jnRPGQAqoGPAOA++tyu7H8vD1e5GPX37R/cO3z+Onre/GAg/9YB4gjQpz+kk8
|
|
vKg+cNNbRUEaPWPuCAPFrncfd/tiW5Z35QR6I0hFWWtDVphsk2+KLN9n+e4q7Izk5KFiPxLGGDtP
|
|
Z7SoBf2GiuXpy01P3mNLUN2KGANnVLwB9F76gDpAukBudCA9uT4f4RmVFEeoghsoPUJDJE7In45Q
|
|
6UGpy1roqBk8Rt8RrQBqbQLG3JPlxyu53Ewq01pnTv6NFBqppe9qR+iNjoZ8MBYmekkYe5yGMbzK
|
|
B9aZ3oY6mCeantsWu7kfLONf6OHKggmoVqKyTN9pVwsKKJVfTRM48o7EIl1Gj4OQZgWSVei/zbzX
|
|
ew4udfs/7RfAOdlAoraOhOSvAy9ljuJy/qvsNuTJMHhyz5JTHSS5+BGCGhzUvDfgRx+orxupW3LW
|
|
yXl5GltjTodin+OmgeSS/AEAAP//AwDHbN/ZRQMAAA==
|
|
headers:
|
|
CF-RAY:
|
|
- CF-RAY-XXX
|
|
Connection:
|
|
- keep-alive
|
|
Content-Type:
|
|
- application/json
|
|
Date:
|
|
- Thu, 15 Jan 2026 00:05:15 GMT
|
|
Server:
|
|
- cloudflare
|
|
Strict-Transport-Security:
|
|
- STS-XXX
|
|
Transfer-Encoding:
|
|
- chunked
|
|
X-Content-Type-Options:
|
|
- X-CONTENT-TYPE-XXX
|
|
access-control-expose-headers:
|
|
- ACCESS-CONTROL-XXX
|
|
alt-svc:
|
|
- h3=":443"; ma=86400
|
|
cf-cache-status:
|
|
- DYNAMIC
|
|
openai-organization:
|
|
- OPENAI-ORG-XXX
|
|
openai-processing-ms:
|
|
- '355'
|
|
openai-project:
|
|
- OPENAI-PROJECT-XXX
|
|
openai-version:
|
|
- '2020-10-01'
|
|
x-envoy-upstream-service-time:
|
|
- '604'
|
|
x-openai-proxy-wasm:
|
|
- v0.1
|
|
x-ratelimit-limit-requests:
|
|
- X-RATELIMIT-LIMIT-REQUESTS-XXX
|
|
x-ratelimit-limit-tokens:
|
|
- X-RATELIMIT-LIMIT-TOKENS-XXX
|
|
x-ratelimit-remaining-requests:
|
|
- X-RATELIMIT-REMAINING-REQUESTS-XXX
|
|
x-ratelimit-remaining-tokens:
|
|
- X-RATELIMIT-REMAINING-TOKENS-XXX
|
|
x-ratelimit-reset-requests:
|
|
- X-RATELIMIT-RESET-REQUESTS-XXX
|
|
x-ratelimit-reset-tokens:
|
|
- X-RATELIMIT-RESET-TOKENS-XXX
|
|
x-request-id:
|
|
- X-REQUEST-ID-XXX
|
|
status:
|
|
code: 200
|
|
message: OK
|
|
version: 1
|