mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-09 08:08:32 +00:00
Some checks failed
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
Notify Downstream / notify-downstream (push) Has been cancelled
Update Test Durations / update-durations (3.10) (push) Has been cancelled
Update Test Durations / update-durations (3.11) (push) Has been cancelled
Update Test Durations / update-durations (3.12) (push) Has been cancelled
Update Test Durations / update-durations (3.13) (push) Has been cancelled
* feat: enhance knowledge event handling in Agent class - Updated the Agent class to include task context in knowledge retrieval events. - Emitted new events for knowledge retrieval and query processes, capturing task and agent details. - Refactored knowledge event classes to inherit from a base class for better structure and maintainability. - Added tracing for knowledge events in the TraceCollectionListener to improve observability. This change improves the tracking and management of knowledge queries and retrievals, facilitating better debugging and performance monitoring. * refactor: remove task_id from knowledge event emissions in Agent class - Removed the task_id parameter from various knowledge event emissions in the Agent class to streamline event handling. - This change simplifies the event structure and focuses on the essential context of knowledge retrieval and query processes. This refactor enhances the clarity of knowledge events and aligns with the recent improvements in event handling. * surface association for guardrail events * fix: improve LLM selection logic in converter - Updated the logic for selecting the LLM in the convert_with_instructions function to handle cases where the agent may not have a function_calling_llm attribute. - This change ensures that the converter can still function correctly by falling back to the standard LLM if necessary, enhancing robustness and preventing potential errors. This fix improves the reliability of the conversion process when working with different agent configurations. * fix test * fix: enforce valid LLM instance requirement in converter - Updated the convert_with_instructions function to ensure that a valid LLM instance is provided by the agent. - If neither function_calling_llm nor the standard llm is available, a ValueError is raised, enhancing error handling and robustness. - Improved error messaging for conversion failures to provide clearer feedback on issues encountered during the conversion process. This change strengthens the reliability of the conversion process by ensuring that agents are properly configured with a valid LLM.
331 lines
14 KiB
YAML
331 lines
14 KiB
YAML
interactions:
|
|
- request:
|
|
body: '{"messages": [{"role": "system", "content": "You are test role. test backstory\nYour
|
|
personal goal is: test goal\nYou ONLY have access to the following tools, and
|
|
should NEVER make up tools that are not listed here:\n\nTool Name: dummy_tool\nTool
|
|
Arguments: {''query'': {''description'': None, ''type'': ''str''}}\nTool Description:
|
|
Useful for when you need to get a dummy result for a query.\n\nUse the following
|
|
format:\n\nThought: you should always think about what to do\nAction: the action
|
|
to take, only one name of [dummy_tool], just the name, exactly as it''s written.\nAction
|
|
Input: the input to the action, just a simple python dictionary, enclosed in
|
|
curly braces, using \" to wrap keys and values.\nObservation: the result of
|
|
the action\n\nOnce all necessary information is gathered:\n\nThought: I now
|
|
know the final answer\nFinal Answer: the final answer to the original input
|
|
question"}, {"role": "user", "content": "\nCurrent Task: Use the dummy tool
|
|
to get a result for ''test query''\n\nThis is the expect criteria for your final
|
|
answer: The result from the dummy tool\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-3.5-turbo", "stop": ["\nObservation:"],
|
|
"stream": false}'
|
|
headers:
|
|
accept:
|
|
- application/json
|
|
accept-encoding:
|
|
- gzip, deflate
|
|
connection:
|
|
- keep-alive
|
|
content-length:
|
|
- '1363'
|
|
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-AmjTkjHtNtJfKGo6wS35grXEzfoqv\",\n \"object\":
|
|
\"chat.completion\",\n \"created\": 1736177928,\n \"model\": \"gpt-3.5-turbo-0125\",\n
|
|
\ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\":
|
|
\"assistant\",\n \"content\": \"I should use the dummy tool to get a
|
|
result for the 'test query'.\\n\\nAction: dummy_tool\\nAction Input: {\\\"query\\\":
|
|
\\\"test query\\\"}\",\n \"refusal\": null\n },\n \"logprobs\":
|
|
null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\":
|
|
271,\n \"completion_tokens\": 31,\n \"total_tokens\": 302,\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\":
|
|
null\n}\n"
|
|
headers:
|
|
CF-Cache-Status:
|
|
- DYNAMIC
|
|
CF-RAY:
|
|
- 8fdccc13af387bb2-ATL
|
|
Connection:
|
|
- keep-alive
|
|
Content-Encoding:
|
|
- gzip
|
|
Content-Type:
|
|
- application/json
|
|
Date:
|
|
- Mon, 06 Jan 2025 15:38:48 GMT
|
|
Server:
|
|
- cloudflare
|
|
Set-Cookie:
|
|
- __cf_bm=PdbRW9vzO7559czIqn0xmXQjbN8_vV_J7k1DlkB4d_Y-1736177928-1.0.1.1-7yNcyljwqHI.TVflr9ZnkS705G.K5hgPbHpxRzcO3ZMFi5lHCBPs_KB5pFE043wYzPmDIHpn6fu6jIY9mlNoLQ;
|
|
path=/; expires=Mon, 06-Jan-25 16:08:48 GMT; domain=.api.openai.com; HttpOnly;
|
|
Secure; SameSite=None
|
|
- _cfuvid=lOOz0FbrrPaRb4IFEeHNcj7QghHzxI1tTV2N0jD9icA-1736177928767-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:
|
|
- '444'
|
|
openai-version:
|
|
- '2020-10-01'
|
|
strict-transport-security:
|
|
- max-age=31536000; includeSubDomains; preload
|
|
x-ratelimit-limit-requests:
|
|
- '10000'
|
|
x-ratelimit-limit-tokens:
|
|
- '50000000'
|
|
x-ratelimit-remaining-requests:
|
|
- '9999'
|
|
x-ratelimit-remaining-tokens:
|
|
- '49999686'
|
|
x-ratelimit-reset-requests:
|
|
- 6ms
|
|
x-ratelimit-reset-tokens:
|
|
- 0s
|
|
x-request-id:
|
|
- req_5b3e93f5d4e6ab8feef83dc26b6eb623
|
|
http_version: HTTP/1.1
|
|
status_code: 200
|
|
- request:
|
|
body: '{"messages": [{"role": "system", "content": "You are test role. test backstory\nYour
|
|
personal goal is: test goal\nYou ONLY have access to the following tools, and
|
|
should NEVER make up tools that are not listed here:\n\nTool Name: dummy_tool\nTool
|
|
Arguments: {''query'': {''description'': None, ''type'': ''str''}}\nTool Description:
|
|
Useful for when you need to get a dummy result for a query.\n\nUse the following
|
|
format:\n\nThought: you should always think about what to do\nAction: the action
|
|
to take, only one name of [dummy_tool], just the name, exactly as it''s written.\nAction
|
|
Input: the input to the action, just a simple python dictionary, enclosed in
|
|
curly braces, using \" to wrap keys and values.\nObservation: the result of
|
|
the action\n\nOnce all necessary information is gathered:\n\nThought: I now
|
|
know the final answer\nFinal Answer: the final answer to the original input
|
|
question"}, {"role": "user", "content": "\nCurrent Task: Use the dummy tool
|
|
to get a result for ''test query''\n\nThis is the expect criteria for your final
|
|
answer: The result from the dummy tool\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:"}, {"role": "assistant", "content": "I should use the dummy
|
|
tool to get a result for the ''test query''.\n\nAction: dummy_tool\nAction Input:
|
|
{\"query\": \"test query\"}\nObservation: Dummy result for: test query"}], "model":
|
|
"gpt-3.5-turbo", "stop": ["\nObservation:"], "stream": false}'
|
|
headers:
|
|
accept:
|
|
- application/json
|
|
accept-encoding:
|
|
- gzip, deflate
|
|
connection:
|
|
- keep-alive
|
|
content-length:
|
|
- '1574'
|
|
content-type:
|
|
- application/json
|
|
cookie:
|
|
- __cf_bm=PdbRW9vzO7559czIqn0xmXQjbN8_vV_J7k1DlkB4d_Y-1736177928-1.0.1.1-7yNcyljwqHI.TVflr9ZnkS705G.K5hgPbHpxRzcO3ZMFi5lHCBPs_KB5pFE043wYzPmDIHpn6fu6jIY9mlNoLQ;
|
|
_cfuvid=lOOz0FbrrPaRb4IFEeHNcj7QghHzxI1tTV2N0jD9icA-1736177928767-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-AmjTkjtDnt98YQ3k4y71C523EQM9p\",\n \"object\":
|
|
\"chat.completion\",\n \"created\": 1736177928,\n \"model\": \"gpt-3.5-turbo-0125\",\n
|
|
\ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\":
|
|
\"assistant\",\n \"content\": \"Final Answer: Dummy result for: test
|
|
query\",\n \"refusal\": null\n },\n \"logprobs\": null,\n \"finish_reason\":
|
|
\"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 315,\n \"completion_tokens\":
|
|
9,\n \"total_tokens\": 324,\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\":
|
|
null\n}\n"
|
|
headers:
|
|
CF-Cache-Status:
|
|
- DYNAMIC
|
|
CF-RAY:
|
|
- 8fdccc171b647bb2-ATL
|
|
Connection:
|
|
- keep-alive
|
|
Content-Encoding:
|
|
- gzip
|
|
Content-Type:
|
|
- application/json
|
|
Date:
|
|
- Mon, 06 Jan 2025 15:38:49 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:
|
|
- '249'
|
|
openai-version:
|
|
- '2020-10-01'
|
|
strict-transport-security:
|
|
- max-age=31536000; includeSubDomains; preload
|
|
x-ratelimit-limit-requests:
|
|
- '10000'
|
|
x-ratelimit-limit-tokens:
|
|
- '50000000'
|
|
x-ratelimit-remaining-requests:
|
|
- '9999'
|
|
x-ratelimit-remaining-tokens:
|
|
- '49999643'
|
|
x-ratelimit-reset-requests:
|
|
- 6ms
|
|
x-ratelimit-reset-tokens:
|
|
- 0s
|
|
x-request-id:
|
|
- req_cdc7b25a3877bb9a7cb7c6d2645ff447
|
|
http_version: HTTP/1.1
|
|
status_code: 200
|
|
- request:
|
|
body: '{"trace_id": "1581aff1-2567-43f4-a1f2-a2816533eb7d", "execution_type":
|
|
"crew", "user_identifier": null, "execution_context": {"crew_fingerprint": null,
|
|
"crew_name": "Unknown Crew", "flow_name": null, "crewai_version": "0.201.1",
|
|
"privacy_level": "standard"}, "execution_metadata": {"expected_duration_estimate":
|
|
300, "agent_count": 0, "task_count": 0, "flow_method_count": 0, "execution_started_at":
|
|
"2025-10-08T18:11:28.008595+00:00"}}'
|
|
headers:
|
|
Accept:
|
|
- '*/*'
|
|
Accept-Encoding:
|
|
- gzip, deflate, zstd
|
|
Connection:
|
|
- keep-alive
|
|
Content-Length:
|
|
- '436'
|
|
Content-Type:
|
|
- application/json
|
|
User-Agent:
|
|
- CrewAI-CLI/0.201.1
|
|
X-Crewai-Organization-Id:
|
|
- d3a3d10c-35db-423f-a7a4-c026030ba64d
|
|
X-Crewai-Version:
|
|
- 0.201.1
|
|
method: POST
|
|
uri: http://localhost:3000/crewai_plus/api/v1/tracing/batches
|
|
response:
|
|
body:
|
|
string: '{"id":"30844ebe-8ac6-4f67-939a-7a072d792654","trace_id":"1581aff1-2567-43f4-a1f2-a2816533eb7d","execution_type":"crew","crew_name":"Unknown
|
|
Crew","flow_name":null,"status":"running","duration_ms":null,"crewai_version":"0.201.1","privacy_level":"standard","total_events":0,"execution_context":{"crew_fingerprint":null,"crew_name":"Unknown
|
|
Crew","flow_name":null,"crewai_version":"0.201.1","privacy_level":"standard"},"created_at":"2025-10-08T18:11:28.353Z","updated_at":"2025-10-08T18:11:28.353Z"}'
|
|
headers:
|
|
Content-Length:
|
|
- '496'
|
|
cache-control:
|
|
- no-store
|
|
content-security-policy:
|
|
- 'default-src ''self'' *.crewai.com crewai.com; script-src ''self'' ''unsafe-inline''
|
|
*.crewai.com crewai.com https://cdn.jsdelivr.net/npm/apexcharts https://www.gstatic.com
|
|
https://run.pstmn.io https://apis.google.com https://apis.google.com/js/api.js
|
|
https://accounts.google.com https://accounts.google.com/gsi/client https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css.map
|
|
https://*.google.com https://docs.google.com https://slides.google.com https://js.hs-scripts.com
|
|
https://js.sentry-cdn.com https://browser.sentry-cdn.com https://www.googletagmanager.com
|
|
https://js-na1.hs-scripts.com https://share.descript.com/; style-src ''self''
|
|
''unsafe-inline'' *.crewai.com crewai.com https://cdn.jsdelivr.net/npm/apexcharts;
|
|
img-src ''self'' data: *.crewai.com crewai.com https://zeus.tools.crewai.com
|
|
https://dashboard.tools.crewai.com https://cdn.jsdelivr.net; font-src ''self''
|
|
data: *.crewai.com crewai.com; connect-src ''self'' *.crewai.com crewai.com
|
|
https://zeus.tools.crewai.com https://connect.useparagon.com/ https://zeus.useparagon.com/*
|
|
https://*.useparagon.com/* https://run.pstmn.io https://connect.tools.crewai.com/
|
|
https://*.sentry.io https://www.google-analytics.com ws://localhost:3036 wss://localhost:3036;
|
|
frame-src ''self'' *.crewai.com crewai.com https://connect.useparagon.com/
|
|
https://zeus.tools.crewai.com https://zeus.useparagon.com/* https://connect.tools.crewai.com/
|
|
https://docs.google.com https://drive.google.com https://slides.google.com
|
|
https://accounts.google.com https://*.google.com https://www.youtube.com https://share.descript.com'
|
|
content-type:
|
|
- application/json; charset=utf-8
|
|
etag:
|
|
- W/"a548892c6a8a52833595a42b35b10009"
|
|
expires:
|
|
- '0'
|
|
permissions-policy:
|
|
- camera=(), microphone=(self), geolocation=()
|
|
pragma:
|
|
- no-cache
|
|
referrer-policy:
|
|
- strict-origin-when-cross-origin
|
|
server-timing:
|
|
- cache_read.active_support;dur=0.05, cache_fetch_hit.active_support;dur=0.00,
|
|
cache_read_multi.active_support;dur=0.12, start_processing.action_controller;dur=0.00,
|
|
sql.active_record;dur=30.46, instantiation.active_record;dur=0.38, feature_operation.flipper;dur=0.03,
|
|
start_transaction.active_record;dur=0.01, transaction.active_record;dur=16.78,
|
|
process_action.action_controller;dur=309.67
|
|
vary:
|
|
- Accept
|
|
x-content-type-options:
|
|
- nosniff
|
|
x-frame-options:
|
|
- SAMEORIGIN
|
|
x-permitted-cross-domain-policies:
|
|
- none
|
|
x-request-id:
|
|
- 7ec132be-e871-4b0a-93f7-81f8d7c0ccae
|
|
x-runtime:
|
|
- '0.358533'
|
|
x-xss-protection:
|
|
- 1; mode=block
|
|
status:
|
|
code: 201
|
|
message: Created
|
|
version: 1
|