From 55e968c9e0ba0e4bfb716e5827550156a13681b0 Mon Sep 17 00:00:00 2001 From: Tony Kipkemboi Date: Tue, 19 Nov 2024 17:42:54 -0500 Subject: [PATCH 1/8] Update CLI Watson supported models + docs (#1628) --- docs/concepts/llms.mdx | 2 ++ src/crewai/cli/constants.py | 23 ++++++++--------------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/docs/concepts/llms.mdx b/docs/concepts/llms.mdx index 5757feca3c..5211e6652d 100644 --- a/docs/concepts/llms.mdx +++ b/docs/concepts/llms.mdx @@ -47,6 +47,8 @@ researcher: # llm: ollama/llama3:70b # llm: groq/llama-3.2-90b-vision-preview # llm: watsonx/meta-llama/llama-3-1-70b-instruct + # llm: nvidia_nim/meta/llama3-70b-instruct + # llm: sambanova/Meta-Llama-3.1-8B-Instruct # ... ``` diff --git a/src/crewai/cli/constants.py b/src/crewai/cli/constants.py index 4be08fa2a3..e13349155f 100644 --- a/src/crewai/cli/constants.py +++ b/src/crewai/cli/constants.py @@ -123,21 +123,14 @@ ], "ollama": ["ollama/llama3.1", "ollama/mixtral"], "watson": [ - "watsonx/google/flan-t5-xxl", - "watsonx/google/flan-ul2", - "watsonx/bigscience/mt0-xxl", - "watsonx/eleutherai/gpt-neox-20b", - "watsonx/ibm/mpt-7b-instruct2", - "watsonx/bigcode/starcoder", - "watsonx/meta-llama/llama-2-70b-chat", - "watsonx/meta-llama/llama-2-13b-chat", - "watsonx/ibm/granite-13b-instruct-v1", - "watsonx/ibm/granite-13b-chat-v1", - "watsonx/google/flan-t5-xl", - "watsonx/ibm/granite-13b-chat-v2", - "watsonx/ibm/granite-13b-instruct-v2", - "watsonx/elyza/elyza-japanese-llama-2-7b-instruct", - "watsonx/ibm-mistralai/mixtral-8x7b-instruct-v01-q", + "watsonx/meta-llama/llama-3-1-70b-instruct", + "watsonx/meta-llama/llama-3-1-8b-instruct", + "watsonx/meta-llama/llama-3-2-11b-vision-instruct", + "watsonx/meta-llama/llama-3-2-1b-instruct", + "watsonx/meta-llama/llama-3-2-90b-vision-instruct", + "watsonx/meta-llama/llama-3-405b-instruct", + "watsonx/mistral/mistral-large", + "watsonx/ibm/granite-3-8b-instruct", ], "bedrock": [ "bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0", From 58af5c08f9f3f01c1c2120c85dc36aafb879a97f Mon Sep 17 00:00:00 2001 From: theCyberTech <84775494+theCyberTech@users.noreply.github.com> Date: Wed, 20 Nov 2024 19:23:09 +0800 Subject: [PATCH 2/8] docs: add gh_token documentation to GithubSearchTool --- docs/tools/githubsearchtool.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/tools/githubsearchtool.mdx b/docs/tools/githubsearchtool.mdx index 6fd0e686ac..80b363a3cc 100644 --- a/docs/tools/githubsearchtool.mdx +++ b/docs/tools/githubsearchtool.mdx @@ -34,6 +34,7 @@ from crewai_tools import GithubSearchTool # Initialize the tool for semantic searches within a specific GitHub repository tool = GithubSearchTool( github_repo='https://github.com/example/repo', + gh_token='your_github_personal_access_token', content_types=['code', 'issue'] # Options: code, repo, pr, issue ) @@ -41,6 +42,7 @@ tool = GithubSearchTool( # Initialize the tool for semantic searches within a specific GitHub repository, so the agent can search any repository if it learns about during its execution tool = GithubSearchTool( + gh_token='your_github_personal_access_token', content_types=['code', 'issue'] # Options: code, repo, pr, issue ) ``` @@ -48,6 +50,7 @@ tool = GithubSearchTool( ## Arguments - `github_repo` : The URL of the GitHub repository where the search will be conducted. This is a mandatory field and specifies the target repository for your search. +- `gh_token` : Your GitHub Personal Access Token (PAT) required for authentication. You can create one in your GitHub account settings under Developer Settings > Personal Access Tokens. - `content_types` : Specifies the types of content to include in your search. You must provide a list of content types from the following options: `code` for searching within the code, `repo` for searching within the repository's general information, `pr` for searching within pull requests, and `issue` for searching within issues. This field is mandatory and allows tailoring the search to specific content types within the GitHub repository. @@ -77,5 +80,4 @@ tool = GithubSearchTool( ), ), ) -) -``` \ No newline at end of file +) \ No newline at end of file From 3e003f5e3209e0ce815b0a0214c56fd6c830e861 Mon Sep 17 00:00:00 2001 From: Gui Vieira Date: Wed, 20 Nov 2024 10:06:49 -0300 Subject: [PATCH 3/8] Move kickoff callbacks to crew's domain --- src/crewai/crew.py | 22 +- src/crewai/project/__init__.py | 8 +- src/crewai/project/annotations.py | 25 +- src/crewai/project/crew_base.py | 33 +- .../cassettes/test_crew_execution_order.yaml | 450 ------------------ tests/project_test.py | 107 ++--- 6 files changed, 81 insertions(+), 564 deletions(-) delete mode 100644 tests/cassettes/test_crew_execution_order.yaml diff --git a/src/crewai/crew.py b/src/crewai/crew.py index 04820adf82..fb03acb5bc 100644 --- a/src/crewai/crew.py +++ b/src/crewai/crew.py @@ -5,7 +5,7 @@ import warnings from concurrent.futures import Future from hashlib import md5 -from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union +from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Tuple, Union from pydantic import ( UUID4, @@ -36,9 +36,7 @@ from crewai.tools.agent_tools.agent_tools import AgentTools from crewai.types.usage_metrics import UsageMetrics from crewai.utilities import I18N, FileHandler, Logger, RPMController -from crewai.utilities.constants import ( - TRAINING_DATA_FILE, -) +from crewai.utilities.constants import TRAINING_DATA_FILE from crewai.utilities.evaluators.crew_evaluator_handler import CrewEvaluator from crewai.utilities.evaluators.task_evaluator import TaskEvaluator from crewai.utilities.formatter import ( @@ -165,6 +163,16 @@ class Crew(BaseModel): default=None, description="Callback to be executed after each task for all agents execution.", ) + before_kickoff_callbacks: List[ + Callable[[Optional[Dict[str, Any]]], Optional[Dict[str, Any]]] + ] = Field( + default_factory=list, + description="List of callbacks to be executed before crew kickoff. It may be used to adjust inputs before the crew is executed.", + ) + after_kickoff_callbacks: List[Callable[[CrewOutput], CrewOutput]] = Field( + default_factory=list, + description="List of callbacks to be executed after crew kickoff. It may be used to adjust the output of the crew.", + ) max_rpm: Optional[int] = Field( default=None, description="Maximum number of requests per minute for the crew execution to be respected.", @@ -478,6 +486,9 @@ def kickoff( self, inputs: Optional[Dict[str, Any]] = None, ) -> CrewOutput: + for callback in self.before_kickoff_callbacks: + inputs = callback(inputs) + """Starts the crew to work on its assigned tasks.""" self._execution_span = self._telemetry.crew_execution_span(self, inputs) self._task_output_handler.reset() @@ -520,6 +531,9 @@ def kickoff( f"The process '{self.process}' is not implemented yet." ) + for callback in self.after_kickoff_callbacks: + result = callback(result) + metrics += [agent._token_process.get_summary() for agent in self.agents] self.usage_metrics = UsageMetrics() diff --git a/src/crewai/project/__init__.py b/src/crewai/project/__init__.py index 1dbb6e41bc..25f6f5e040 100644 --- a/src/crewai/project/__init__.py +++ b/src/crewai/project/__init__.py @@ -1,5 +1,7 @@ from .annotations import ( + after_kickoff, agent, + before_kickoff, cache_handler, callback, crew, @@ -9,8 +11,6 @@ pipeline, task, tool, - before_crew, - after_crew, ) from .crew_base import CrewBase from .pipeline_base import PipelineBase @@ -28,6 +28,6 @@ "llm", "cache_handler", "pipeline", - "before_crew", - "after_crew", + "before_kickoff", + "after_kickoff", ] diff --git a/src/crewai/project/annotations.py b/src/crewai/project/annotations.py index c1a497fa19..83e396a4c4 100644 --- a/src/crewai/project/annotations.py +++ b/src/crewai/project/annotations.py @@ -5,13 +5,13 @@ from crewai.project.utils import memoize -def before_crew(func): - func.is_before_crew = True +def before_kickoff(func): + func.is_before_kickoff = True return func -def after_crew(func): - func.is_after_crew = True +def after_kickoff(func): + func.is_after_kickoff = True return func @@ -109,6 +109,19 @@ def wrapper(self, *args, **kwargs) -> Crew: self.agents = instantiated_agents self.tasks = instantiated_tasks - return func(self, *args, **kwargs) + crew = func(self, *args, **kwargs) - return wrapper + def callback_wrapper(callback, instance): + def wrapper(*args, **kwargs): + return callback(instance, *args, **kwargs) + + return wrapper + + for _, callback in self._before_kickoff.items(): + crew.before_kickoff_callbacks.append(callback_wrapper(callback, self)) + for _, callback in self._after_kickoff.items(): + crew.after_kickoff_callbacks.append(callback_wrapper(callback, self)) + + return crew + + return memoize(wrapper) diff --git a/src/crewai/project/crew_base.py b/src/crewai/project/crew_base.py index ed48b24d18..e93452a6ef 100644 --- a/src/crewai/project/crew_base.py +++ b/src/crewai/project/crew_base.py @@ -43,8 +43,8 @@ def __init__(self, *args, **kwargs): for attr in [ "is_task", "is_agent", - "is_before_crew", - "is_after_crew", + "is_before_kickoff", + "is_after_kickoff", "is_kickoff", ] ) @@ -57,11 +57,11 @@ def __init__(self, *args, **kwargs): self._original_agents = self._filter_functions( self._original_functions, "is_agent" ) - self._before_crew = self._filter_functions( - self._original_functions, "is_before_crew" + self._before_kickoff = self._filter_functions( + self._original_functions, "is_before_kickoff" ) - self._after_crew = self._filter_functions( - self._original_functions, "is_after_crew" + self._after_kickoff = self._filter_functions( + self._original_functions, "is_after_kickoff" ) self._kickoff = self._filter_functions( self._original_functions, "is_kickoff" @@ -213,25 +213,4 @@ def _map_task_variables( callback_functions[callback]() for callback in callbacks ] - def kickoff(self, inputs=None): - # Execute before_crew functions and allow them to modify inputs - for _, func in self._before_crew.items(): - modified_inputs = func(self, inputs) - if modified_inputs is not None: - inputs = modified_inputs - - # Get the crew instance - crew_instance = self.crew() - - # Execute the crew's tasks - result = crew_instance.kickoff(inputs=inputs) - - # Execute after_crew functions and allow them to modify the output - for _, func in self._after_crew.items(): - modified_result = func(self, result) - if modified_result is not None: - result = modified_result - - return result - return cast(T, WrappedClass) diff --git a/tests/cassettes/test_crew_execution_order.yaml b/tests/cassettes/test_crew_execution_order.yaml deleted file mode 100644 index 5f05a32585..0000000000 --- a/tests/cassettes/test_crew_execution_order.yaml +++ /dev/null @@ -1,450 +0,0 @@ -interactions: -- request: - body: !!binary | - CuMOCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkSug4KEgoQY3Jld2FpLnRl - bGVtZXRyeRKSDAoQiPNFpMW9CoeJ9Zm3+M0txRIIWLnalHui3g4qDENyZXcgQ3JlYXRlZDABOcAS - H7rirwgYQRBNIbrirwgYShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuODAuMEoaCg5weXRob25fdmVy - c2lvbhIICgYzLjExLjdKLgoIY3Jld19rZXkSIgogZjM0NmE5YWQ2ZDczMDYzZTA2NzdiMTdjZTlj - NTAxNzdKMQoHY3Jld19pZBImCiQ1MTZhMTZiNi1mMWY2LTRlMzUtYjY3Ni05ZjRiMGY3MTBhZDRK - HAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdf - bnVtYmVyX29mX3Rhc2tzEgIYAkobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgCSqwFCgtjcmV3 - X2FnZW50cxKcBQqZBVt7ImtleSI6ICI3M2MzNDljOTNjMTYzYjVkNGRmOThhNjRmYWMxYzQzMCIs - ICJpZCI6ICI1N2ZhM2QwNC04ZTQ5LTQyMDMtOTg2OS1lNzliMDdiYWJkNGMiLCAicm9sZSI6ICJ7 - dG9waWN9IFNlbmlvciBEYXRhIFJlc2VhcmNoZXJcbiIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4 - X2l0ZXIiOiAyMCwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwg - ImxsbSI6ICJncHQtNG8iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAiYWxsb3dfY29k - ZV9leGVjdXRpb24/IjogZmFsc2UsICJtYXhfcmV0cnlfbGltaXQiOiAyLCAidG9vbHNfbmFtZXMi - OiBbXX0sIHsia2V5IjogImJiMDY4Mzc3YzE2NDFiZTZkN2Q5N2E1MTY1OWRiNjEzIiwgImlkIjog - ImM5NzA4YTVjLTI4MjEtNDI4Ny05ZDkyLWE3MmU1NWEyMTZlYiIsICJyb2xlIjogInt0b3BpY30g - UmVwb3J0aW5nIEFuYWx5c3RcbiIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyMCwg - Im1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJncHQt - NG8iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAiYWxsb3dfY29kZV9leGVjdXRpb24/ - IjogZmFsc2UsICJtYXhfcmV0cnlfbGltaXQiOiAyLCAidG9vbHNfbmFtZXMiOiBbXX1dSpMECgpj - cmV3X3Rhc2tzEoQECoEEW3sia2V5IjogIjZhZmM0YjM5NjI1OWZiYjc2ODFmNTZjNzc1NWNjOTM3 - IiwgImlkIjogIjYxOWYxNWFhLTc1NDItNDJiOC04MDZhLWJlNmVhZTQwYmYyMyIsICJhc3luY19l - eGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAi - e3RvcGljfSBTZW5pb3IgRGF0YSBSZXNlYXJjaGVyXG4iLCAiYWdlbnRfa2V5IjogIjczYzM0OWM5 - M2MxNjNiNWQ0ZGY5OGE2NGZhYzFjNDMwIiwgInRvb2xzX25hbWVzIjogW119LCB7ImtleSI6ICJi - MTdiMTg4ZGJmMTRmOTNhOThlNWI5NWFhZDM2NzU3NyIsICJpZCI6ICJhNGIzOGJjYi1jN2Y3LTRk - MTMtYjFiNC00Yzc0ZmE4NzIxOTQiLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5f - aW5wdXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogInt0b3BpY30gUmVwb3J0aW5nIEFuYWx5c3Rc - biIsICJhZ2VudF9rZXkiOiAiYmIwNjgzNzdjMTY0MWJlNmQ3ZDk3YTUxNjU5ZGI2MTMiLCAidG9v - bHNfbmFtZXMiOiBbXX1degIYAYUBAAEAABKOAgoQaSYAFNgUUCxMT0z+KwJCrBIIrjh6pRvY2zEq - DFRhc2sgQ3JlYXRlZDABOag/LbrirwgYQTilLbrirwgYSi4KCGNyZXdfa2V5EiIKIGYzNDZhOWFk - NmQ3MzA2M2UwNjc3YjE3Y2U5YzUwMTc3SjEKB2NyZXdfaWQSJgokNTE2YTE2YjYtZjFmNi00ZTM1 - LWI2NzYtOWY0YjBmNzEwYWQ0Si4KCHRhc2tfa2V5EiIKIDZhZmM0YjM5NjI1OWZiYjc2ODFmNTZj - Nzc1NWNjOTM3SjEKB3Rhc2tfaWQSJgokNjE5ZjE1YWEtNzU0Mi00MmI4LTgwNmEtYmU2ZWFlNDBi - ZjIzegIYAYUBAAEAAA== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1894' - Content-Type: - - application/x-protobuf - User-Agent: - - OTel-OTLP-Exporter-Python/1.27.0 - method: POST - uri: https://telemetry.crewai.com:4319/v1/traces - response: - body: - string: "\n\0" - headers: - Content-Length: - - '2' - Content-Type: - - application/x-protobuf - Date: - - Sun, 17 Nov 2024 07:10:46 GMT - status: - code: 200 - message: OK -- request: - body: '{"messages": [{"role": "system", "content": "You are LLMs Senior Data Researcher\n. - You''re a seasoned researcher with a knack for uncovering the latest developments - in LLMs. Known for your ability to find the most relevant information and present - it in a clear and concise manner.\n\nYour personal goal is: Uncover cutting-edge - developments in LLMs\n\nTo 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: 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: Conduct a thorough research - about LLMs Make sure you find any interesting and relevant information given - the current year is 2024.\n\n\nThis is the expect criteria for your final answer: - A list with 10 bullet points of the most relevant information about LLMs\n\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: - - '1235' - content-type: - - application/json - cookie: - - __cf_bm=08pKRcLhS1PDw0mYfL2jz19ac6M.T31GoiMuI5DlX6w-1731827382-1.0.1.1-UfOLu3AaIUuXP1sGzdV6oggJ1q7iMTC46t08FDhYVrKcW5YmD4CbifudOJiSgx8h0JLTwZdgk.aG05S0eAO_PQ; - _cfuvid=74kaPOoAcp8YRSA0XocQ1FFNksu9V0_KiWdQfo7wQuQ-1731827382509-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.11.7 - method: POST - uri: https://api.openai.com/v1/chat/completions - response: - body: - string: !!binary | - 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 - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 8e3de71c79986217-GRU - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Sun, 17 Nov 2024 07:10:50 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: - - '5446' - 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: - - '29999713' - x-ratelimit-reset-requests: - - 6ms - x-ratelimit-reset-tokens: - - 0s - x-request-id: - - req_dda88f1d73ab714daf68612f9936d111 - status: - code: 200 - message: OK -- request: - body: !!binary | - Cs4CCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkSpQIKEgoQY3Jld2FpLnRl - bGVtZXRyeRKOAgoQyRM1X58vc+Q8vTI/ofl1GBIIY3Nm20DB7JsqDFRhc2sgQ3JlYXRlZDABOZgm - aAvkrwgYQehgagvkrwgYSi4KCGNyZXdfa2V5EiIKIGYzNDZhOWFkNmQ3MzA2M2UwNjc3YjE3Y2U5 - YzUwMTc3SjEKB2NyZXdfaWQSJgokNTE2YTE2YjYtZjFmNi00ZTM1LWI2NzYtOWY0YjBmNzEwYWQ0 - Si4KCHRhc2tfa2V5EiIKIGIxN2IxODhkYmYxNGY5M2E5OGU1Yjk1YWFkMzY3NTc3SjEKB3Rhc2tf - aWQSJgokYTRiMzhiY2ItYzdmNy00ZDEzLWIxYjQtNGM3NGZhODcyMTk0egIYAYUBAAEAAA== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '337' - Content-Type: - - application/x-protobuf - User-Agent: - - OTel-OTLP-Exporter-Python/1.27.0 - method: POST - uri: https://telemetry.crewai.com:4319/v1/traces - response: - body: - string: "\n\0" - headers: - Content-Length: - - '2' - Content-Type: - - application/x-protobuf - Date: - - Sun, 17 Nov 2024 07:10:51 GMT - status: - code: 200 - message: OK -- request: - body: '{"messages": [{"role": "system", "content": "You are LLMs Reporting Analyst\n. - You''re a meticulous analyst with a keen eye for detail. You''re known for your - ability to turn complex data into clear and concise reports, making it easy - for others to understand and act on the information you provide.\nYour personal - goal is: Create detailed reports based on LLMs data analysis and research findings\n\nTo - 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: 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: Review the context you got and expand each topic into a full section for - a report. Make sure the report is detailed and contains any and all relevant - information.\n\n\nThis is the expect criteria for your final answer: A fully - fledge reports with the mains topics, each with a full section of information. - Formatted as markdown without ''```''\n\nyou MUST return the actual complete - content as the final answer, not a summary.\n\nThis is the context you''re working - with:\n1. **Advancements in Architectural Design**: In 2024, LLMs have seen - significant improvements in architecture, with models adopting more layered - and complex structures that enhance contextual understanding and prevent degradation - in performance over long text sequences. This has improved accuracy and coherence - in generating human-like text.\n\n2. **Integration with Multimodal Data**: The - latest LLMs have integrated multimodal capabilities, allowing them to process - and generate not just text, but also integrate and interpret images, audio, - and video data. This integration significantly enhances user interaction capabilities - and widens practical applications, particularly in fields such as creative industries - and customer service.\n\n3. **Efficiency and Scalability**: There is a strong - focus on reducing the carbon footprint of training and deploying LLMs. Techniques - such as model distillation and the use of more efficient training processes - are commonplace. Models are also being designed for scalability to better serve - a wide range of applications without requiring extensive computational resources.\n\n4. - **Fine-Tuning and Customization**: The ability to finely tune LLMs for specific - industry or organizational needs has become more advanced. Developers can now - more easily customize these models to align with particular styles, industry - jargon, or brands, enhancing relevance and utility across diverse applications.\n\n5. - **Ethical AI and Safety Measures**: A growing emphasis is placed on ethical - considerations. Frameworks for ensuring fairness, reducing biases, and enhancing - transparency in outputs are being developed. New protocols are in place to predict - and mitigate potential misuses of LLMs to improve trust and reliability.\n\n6. - **Proliferation of Open Source Models**: With the community demanding transparency - and flexibility, many open-source LLMs have been developed to promote research - and innovation. These models provide robust alternatives to commercial counterparts - and enhance collaborative development efforts across the globe.\n\n7. **Emergence - of LLM-Driven Applications**: 2024 has seen a rise in applications based on - LLM technology, including advanced customer service bots, dynamic content creation - tools, and educational software that personalizes learning experiences. This - expands the role of LLMs beyond traditional academic or entertainment purposes.\n\n8. - **Focus on Low-Resource Language Support**: LLMs are becoming more adept at - understanding and generating languages with fewer resources, vastly improving - global accessibility and allowing technology to support a wider array of linguistic - communities. This helps bridge digital divides and promote inclusivity.\n\n9. - **Enhanced Interaction Techniques**: Novel interaction paradigms, such as real-time - adaptations and on-the-fly learning, enable LLMs to adjust tone, complexity, - and content more responsively to user feedback. This leads to more natural, - engaging, and personalized interactions in various interface environments.\n\n10. - **Collaborative Intelligence**: There''s an emerging trend of using LLMs in - collaborative settings where AI assists human decision-making by synthesizing - large datasets to suggest insights and trends. This symbiosis enhances productivity - and innovation in research and business contexts.\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: - - '4742' - content-type: - - application/json - cookie: - - __cf_bm=08pKRcLhS1PDw0mYfL2jz19ac6M.T31GoiMuI5DlX6w-1731827382-1.0.1.1-UfOLu3AaIUuXP1sGzdV6oggJ1q7iMTC46t08FDhYVrKcW5YmD4CbifudOJiSgx8h0JLTwZdgk.aG05S0eAO_PQ; - _cfuvid=74kaPOoAcp8YRSA0XocQ1FFNksu9V0_KiWdQfo7wQuQ-1731827382509-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.11.7 - method: POST - uri: https://api.openai.com/v1/chat/completions - response: - body: - string: !!binary | - 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 - L4f7OwUCdjevN/8BAAD//wMA9xdqlskdAAA= - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 8e3de74049116217-GRU - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Sun, 17 Nov 2024 07:11:00 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: - - '9414' - 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: - - '29998843' - x-ratelimit-reset-requests: - - 6ms - x-ratelimit-reset-tokens: - - 2ms - x-request-id: - - req_ffd793f9d60c093888d2483ea4305dd6 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/project_test.py b/tests/project_test.py index 329886a258..6c68f49937 100644 --- a/tests/project_test.py +++ b/tests/project_test.py @@ -1,9 +1,9 @@ +import pytest + from crewai.agent import Agent -from crewai.project import agent, task, before_crew, after_crew, crew -from crewai.project import CrewBase -from crewai.task import Task from crewai.crew import Crew -import pytest +from crewai.project import CrewBase, after_kickoff, agent, before_kickoff, crew, task +from crewai.task import Task class SimpleCrew: @@ -47,13 +47,13 @@ def research_task(self): def reporting_task(self): return Task(config=self.tasks_config["reporting_task"]) - @before_crew + @before_kickoff def modify_inputs(self, inputs): if inputs: inputs["topic"] = "Bicycles" return inputs - @after_crew + @after_kickoff def modify_outputs(self, outputs): outputs.raw = outputs.raw + " post processed" return outputs @@ -83,6 +83,16 @@ def test_task_memoization(): ), "Task memoization is not working as expected" +def test_crew_memoization(): + crew = TestCrew() + first_call_result = crew.crew() + second_call_result = crew.crew() + + assert ( + first_call_result is second_call_result + ), "Crew references should point to the same object" + + def test_task_name(): simple_task = SimpleCrew().simple_task() assert ( @@ -96,32 +106,33 @@ def test_task_name(): @pytest.mark.vcr(filter_headers=["authorization"]) -def test_before_crew_modification(): +def test_before_kickoff_modification(): crew = TestCrew() inputs = {"topic": "LLMs"} - result = crew.kickoff(inputs=inputs) - print(result.raw) - assert "bicycles" in result.raw, "Before crew function did not modify inputs" + result = crew.crew().kickoff(inputs=inputs) + assert "bicycles" in result.raw, "Before kickoff function did not modify inputs" @pytest.mark.vcr(filter_headers=["authorization"]) -def test_after_crew_modification(): +def test_after_kickoff_modification(): crew = TestCrew() # Assuming the crew execution returns a dict - result = crew.kickoff({"topic": "LLMs"}) + result = crew.crew().kickoff({"topic": "LLMs"}) - assert "post processed" in result.raw, "After crew function did not modify outputs" + assert ( + "post processed" in result.raw + ), "After kickoff function did not modify outputs" @pytest.mark.vcr(filter_headers=["authorization"]) -def test_before_crew_with_none_input(): +def test_before_kickoff_with_none_input(): crew = TestCrew() crew.crew().kickoff(None) # Test should pass without raising exceptions @pytest.mark.vcr(filter_headers=["authorization"]) -def test_multiple_before_after_crew(): +def test_multiple_before_after_kickoff(): @CrewBase class MultipleHooksCrew: agents_config = "config/agents.yaml" @@ -143,22 +154,22 @@ def research_task(self): def reporting_task(self): return Task(config=self.tasks_config["reporting_task"]) - @before_crew + @before_kickoff def first_before(self, inputs): inputs["topic"] = "Bicycles" return inputs - @before_crew + @before_kickoff def second_before(self, inputs): inputs["topic"] = "plants" return inputs - @after_crew + @after_kickoff def first_after(self, outputs): outputs.raw = outputs.raw + " processed first" return outputs - @after_crew + @after_kickoff def second_after(self, outputs): outputs.raw = outputs.raw + " processed second" return outputs @@ -168,58 +179,8 @@ def crew(self): return Crew(agents=self.agents, tasks=self.tasks, verbose=True) crew = MultipleHooksCrew() - result = crew.kickoff({"topic": "LLMs"}) - - assert "plants" in result.raw, "First before_crew not executed" - assert "processed first" in result.raw, "First after_crew not executed" - assert "processed second" in result.raw, "Second after_crew not executed" - - -@pytest.mark.vcr(filter_headers=["authorization"]) -def test_crew_execution_order(): - execution_order = [] - - @CrewBase - class OrderTestCrew: - agents_config = "config/agents.yaml" - tasks_config = "config/tasks.yaml" - - @agent - def researcher(self): - return Agent(config=self.agents_config["researcher"]) - - @agent - def reporting_analyst(self): - return Agent(config=self.agents_config["reporting_analyst"]) - - @task - def research_task(self): - execution_order.append("task") - return Task(config=self.tasks_config["research_task"]) - - @task - def reporting_task(self): - return Task(config=self.tasks_config["reporting_task"]) - - @before_crew - def before(self, inputs): - execution_order.append("before") - return inputs - - @after_crew - def after(self, outputs): - execution_order.append("after") - return outputs - - @crew - def crew(self): - return Crew(agents=self.agents, tasks=self.tasks, verbose=True) - - crew = OrderTestCrew() - crew.kickoff({"topic": "LLMs"}) + result = crew.crew().kickoff({"topic": "LLMs"}) - assert execution_order == [ - "before", - "task", - "after", - ], "Crew execution order is incorrect" + assert "plants" in result.raw, "First before_kickoff not executed" + assert "processed first" in result.raw, "First after_kickoff not executed" + assert "processed second" in result.raw, "Second after_kickoff not executed" From 495c3859af015b970c7c478946769ae18983de17 Mon Sep 17 00:00:00 2001 From: Gui Vieira Date: Wed, 20 Nov 2024 10:26:00 -0300 Subject: [PATCH 4/8] Cassettes --- .../test_after_kickoff_modification.yaml | 487 +++++++++++++++++ .../test_before_kickoff_modification.yaml | 500 ++++++++++++++++++ .../test_before_kickoff_with_none_input.yaml | 492 +++++++++++++++++ .../test_multiple_before_after_kickoff.yaml | 495 +++++++++++++++++ 4 files changed, 1974 insertions(+) create mode 100644 tests/cassettes/test_after_kickoff_modification.yaml create mode 100644 tests/cassettes/test_before_kickoff_modification.yaml create mode 100644 tests/cassettes/test_before_kickoff_with_none_input.yaml create mode 100644 tests/cassettes/test_multiple_before_after_kickoff.yaml diff --git a/tests/cassettes/test_after_kickoff_modification.yaml b/tests/cassettes/test_after_kickoff_modification.yaml new file mode 100644 index 0000000000..bf63b910d4 --- /dev/null +++ b/tests/cassettes/test_after_kickoff_modification.yaml @@ -0,0 +1,487 @@ +interactions: +- request: + body: !!binary | + CusOCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkSwg4KEgoQY3Jld2FpLnRl + bGVtZXRyeRKaDAoQJ2RtlOW3xhPcNjmbKwSJaxIIMUF8zJjQkvQqDENyZXcgQ3JlYXRlZDABOThF + x7PrrgkYQWiczLPrrgkYShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuODAuMEoaCg5weXRob25fdmVy + c2lvbhIICgYzLjEyLjdKLgoIY3Jld19rZXkSIgogMWYxMjhiZGI3YmFhNGI2NzcxNGYxZGFlZGMy + ZjNhYjZKMQoHY3Jld19pZBImCiQzNGJiYzZjYS03MmRiLTQwMzktODQzMy01NTFmOWNmNDM0YTdK + HAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdf + bnVtYmVyX29mX3Rhc2tzEgIYAkobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgCSrQFCgtjcmV3 + X2FnZW50cxKkBQqhBVt7ImtleSI6ICI3M2MzNDljOTNjMTYzYjVkNGRmOThhNjRmYWMxYzQzMCIs + ICJpZCI6ICI4MjJkOGM2OC01NzlkLTQ4ZWUtOTBhMi1hNjJiNDgzY2JhNGUiLCAicm9sZSI6ICJ7 + dG9waWN9IFNlbmlvciBEYXRhIFJlc2VhcmNoZXJcbiIsICJ2ZXJib3NlPyI6IHRydWUsICJtYXhf + aXRlciI6IDIwLCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAi + bGxtIjogImdwdC00by1taW5pIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93 + X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25h + bWVzIjogW119LCB7ImtleSI6ICIxMDRmZTA2NTllMTBiNDI2Y2Y4OGYwMjRmYjU3MTU1MyIsICJp + ZCI6ICI0YTY4NDQwZi0xMjRkLTQ3YmEtYWEzNy1hZTZmMTI2NzlkMmIiLCAicm9sZSI6ICJ7dG9w + aWN9IFJlcG9ydGluZyBBbmFseXN0XG4iLCAidmVyYm9zZT8iOiB0cnVlLCAibWF4X2l0ZXIiOiAy + MCwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJn + cHQtNG8tbWluaSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJhbGxvd19jb2RlX2V4 + ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtd + fV1KkwQKCmNyZXdfdGFza3MShAQKgQRbeyJrZXkiOiAiNmFmYzRiMzk2MjU5ZmJiNzY4MWY1NmM3 + NzU1Y2M5MzciLCAiaWQiOiAiODE2YzI1ZDgtNDg3NC00MmMxLWJmNzEtODc2OTcxZDNmYmExIiwg + ImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRf + cm9sZSI6ICJ7dG9waWN9IFNlbmlvciBEYXRhIFJlc2VhcmNoZXJcbiIsICJhZ2VudF9rZXkiOiAi + NzNjMzQ5YzkzYzE2M2I1ZDRkZjk4YTY0ZmFjMWM0MzAiLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsi + a2V5IjogImIxN2IxODhkYmYxNGY5M2E5OGU1Yjk1YWFkMzY3NTc3IiwgImlkIjogIjM4YzU1NTI5 + LTc2ODAtNDc5OS1iODdiLTFmMDY2NjE5MGU2NyIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2Us + ICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAie3RvcGljfSBSZXBvcnRpbmcg + QW5hbHlzdFxuIiwgImFnZW50X2tleSI6ICIxMDRmZTA2NTllMTBiNDI2Y2Y4OGYwMjRmYjU3MTU1 + MyIsICJ0b29sc19uYW1lcyI6IFtdfV16AhgBhQEAAQAAEo4CChCo3E4xT/U6O20NrD4/Zkt6EggD + /w74tbrrOCoMVGFzayBDcmVhdGVkMAE5SPTas+uuCRhB6IDbs+uuCRhKLgoIY3Jld19rZXkSIgog + MWYxMjhiZGI3YmFhNGI2NzcxNGYxZGFlZGMyZjNhYjZKMQoHY3Jld19pZBImCiQzNGJiYzZjYS03 + MmRiLTQwMzktODQzMy01NTFmOWNmNDM0YTdKLgoIdGFza19rZXkSIgogNmFmYzRiMzk2MjU5ZmJi + NzY4MWY1NmM3NzU1Y2M5MzdKMQoHdGFza19pZBImCiQ4MTZjMjVkOC00ODc0LTQyYzEtYmY3MS04 + NzY5NzFkM2ZiYTF6AhgBhQEAAQAA + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1902' + Content-Type: + - application/x-protobuf + User-Agent: + - OTel-OTLP-Exporter-Python/1.27.0 + method: POST + uri: https://telemetry.crewai.com:4319/v1/traces + response: + body: + string: "\n\0" + headers: + Content-Length: + - '2' + Content-Type: + - application/x-protobuf + Date: + - Wed, 20 Nov 2024 13:04:24 GMT + status: + code: 200 + message: OK +- request: + body: '{"messages": [{"role": "system", "content": "You are Bicycles Senior Data + Researcher\n. You''re a seasoned researcher with a knack for uncovering the + latest developments in Bicycles. Known for your ability to find the most relevant + information and present it in a clear and concise manner.\n\nYour personal goal + is: Uncover cutting-edge developments in Bicycles\n\nTo 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: 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: + Conduct a thorough research about Bicycles Make sure you find any interesting + and relevant information given the current year is 2024.\n\n\nThis is the expect + criteria for your final answer: A list with 10 bullet points of the most relevant + information about Bicycles\n\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-mini", "stop": ["\nObservation:"], "stream": false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '1260' + content-type: + - application/json + cookie: + - __cf_bm=CkK4UvBd9ukXvn50uJwGambJcz5zERAJfeXJ9xge6H4-1732107842-1.0.1.1-IOK2yVL3RlD75MgmnKzIEyE38HNknwn6I8BBJ1wjGz4jCTd0YWIBPnvUm9gB8D_zLlUA9G7p_wbrfyc4mO_Bmg; + _cfuvid=MmeN9oHWrBLThkEJdaSFHBfWe95JvA8iFnnt7CC92tk-1732107842102-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - x64 + 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-AVefTnyhy126z54bX4Wq0TjWFUGJI\",\n \"object\": + \"chat.completion\",\n \"created\": 1732107859,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer. \\nFinal + Answer: \\n\\n1. **E-Bike Boom**: Electric bikes (e-bikes) have seen a significant + rise in popularity, with industry reports indicating a projected growth of 60% + in sales compared to previous years. Many cities are paving bike lanes specifically + designed for e-bikes to accommodate this surge.\\n\\n2. **Sustainability in + Manufacturing**: Bicycle manufacturers are increasingly adopting sustainable + practices, such as using recycled materials for frames and parts, and implementing + environmentally friendly production processes. This shift is driven by consumer + demand for greener products.\\n\\n3. **Smart Bicycles**: The integration of + technology in bicycles has progressed with smart bikes featuring built-in GPS, + automated gear shifting, and performance analytics. These innovations enhance + the cycling experience and cater to data-driven enthusiasts.\\n\\n4. **Bike + Sharing Programs**: Urban areas are continuing to expand bike-sharing programs, + with some cities introducing electric bike options and introducing smartphone + apps to streamline the renting process, increasing accessibility and convenience + for riders.\\n\\n5. **Safety Innovations**: Advances in safety technology such + as smart helmets that incorporate lights and indicators, anti-collision systems + using sensor technology, and built-in communication systems to connect with + smartphones are on the rise, aimed at reducing accidents.\\n\\n6. **Adventure + Cycling Trends**: There is a growing popularity in adventure and gravel cycling, + with more cyclists seeking off-road experiences. This has prompted manufacturers + to develop dedicated bikes that cater to rugged terrains, with features such + as wider tires and durable frames.\\n\\n7. **Customization and Personalization**: + The market for customizable bicycles is expanding. Consumers are now able to + choose colors, styles, and features that suit their personal preferences, leading + to a more personalized cycling experience.\\n\\n8. **Communities and Events**: + Cycling communities are thriving globally, with an increase in events such as + group rides, competitive races, and festivals celebrating biking culture. This + fosters social engagement and promotes cycling as a lifestyle.\\n\\n9. **Cargo + Bikes for Urban Living**: The rise of cargo bikes, particularly in urban environments, + allows for efficient transportation of goods, making them an appealing choice + for small businesses and families. This trend is encouraged by city planners + promoting cycling as an alternative to car deliveries.\\n\\n10. **Regulatory + Changes**: Governments around the world are increasingly implementing policies + to support cycling infrastructure, such as funding for bike lanes, subsidies + for bicycle purchases, and stricter emissions standards for motor vehicles, + making cycling a more attractive option for commuting.\\n\\nEach of these points + represents the latest developments in the bicycle industry as we move through + 2024, highlighting advancements in technology, trends in user preferences, and + a broader societal shift towards sustainability and health.\",\n \"refusal\": + null\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n + \ }\n ],\n \"usage\": {\n \"prompt_tokens\": 237,\n \"completion_tokens\": + 539,\n \"total_tokens\": 776,\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_0705bf87c0\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8e58a5276a096225-GRU + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Wed, 20 Nov 2024 13:04:26 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: + - '7355' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149999708' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_5536f2a242886d3949f0cdc1628b2996 + http_version: HTTP/1.1 + status_code: 200 +- request: + body: !!binary | + Cs4CCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkSpQIKEgoQY3Jld2FpLnRl + bGVtZXRyeRKOAgoQpBIRwGH/fJtGJT1cIWsC5BIIM3YyJZEYUUgqDFRhc2sgQ3JlYXRlZDABOYgb + lILtrgkYQZBnlYLtrgkYSi4KCGNyZXdfa2V5EiIKIDFmMTI4YmRiN2JhYTRiNjc3MTRmMWRhZWRj + MmYzYWI2SjEKB2NyZXdfaWQSJgokMzRiYmM2Y2EtNzJkYi00MDM5LTg0MzMtNTUxZjljZjQzNGE3 + Si4KCHRhc2tfa2V5EiIKIGIxN2IxODhkYmYxNGY5M2E5OGU1Yjk1YWFkMzY3NTc3SjEKB3Rhc2tf + aWQSJgokMzhjNTU1MjktNzY4MC00Nzk5LWI4N2ItMWYwNjY2MTkwZTY3egIYAYUBAAEAAA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '337' + Content-Type: + - application/x-protobuf + User-Agent: + - OTel-OTLP-Exporter-Python/1.27.0 + method: POST + uri: https://telemetry.crewai.com:4319/v1/traces + response: + body: + string: "\n\0" + headers: + Content-Length: + - '2' + Content-Type: + - application/x-protobuf + Date: + - Wed, 20 Nov 2024 13:04:29 GMT + status: + code: 200 + message: OK +- request: + body: '{"messages": [{"role": "system", "content": "You are Bicycles Reporting + Analyst\n. You''re a meticulous analyst with a keen eye for detail. You''re + known for your ability to turn complex data into clear and concise reports, + making it easy for others to understand and act on the information you provide.\n\nYour + personal goal is: Create detailed reports based on Bicycles data analysis and + research findings\n\nTo 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: + 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: Review the context you got and + expand each topic into a full section for a report. Make sure the report is + detailed and contains any and all relevant information.\n\n\nThis is the expect + criteria for your final answer: A fully fledge reports with the mains topics, + each with a full section of information. Formatted as markdown without ''```''\n\nyou + MUST return the actual complete content as the final answer, not a summary.\n\nThis + is the context you''re working with:\n1. **E-Bike Boom**: Electric bikes (e-bikes) + have seen a significant rise in popularity, with industry reports indicating + a projected growth of 60% in sales compared to previous years. Many cities are + paving bike lanes specifically designed for e-bikes to accommodate this surge.\n\n2. + **Sustainability in Manufacturing**: Bicycle manufacturers are increasingly + adopting sustainable practices, such as using recycled materials for frames + and parts, and implementing environmentally friendly production processes. This + shift is driven by consumer demand for greener products.\n\n3. **Smart Bicycles**: + The integration of technology in bicycles has progressed with smart bikes featuring + built-in GPS, automated gear shifting, and performance analytics. These innovations + enhance the cycling experience and cater to data-driven enthusiasts.\n\n4. **Bike + Sharing Programs**: Urban areas are continuing to expand bike-sharing programs, + with some cities introducing electric bike options and introducing smartphone + apps to streamline the renting process, increasing accessibility and convenience + for riders.\n\n5. **Safety Innovations**: Advances in safety technology such + as smart helmets that incorporate lights and indicators, anti-collision systems + using sensor technology, and built-in communication systems to connect with + smartphones are on the rise, aimed at reducing accidents.\n\n6. **Adventure + Cycling Trends**: There is a growing popularity in adventure and gravel cycling, + with more cyclists seeking off-road experiences. This has prompted manufacturers + to develop dedicated bikes that cater to rugged terrains, with features such + as wider tires and durable frames.\n\n7. **Customization and Personalization**: + The market for customizable bicycles is expanding. Consumers are now able to + choose colors, styles, and features that suit their personal preferences, leading + to a more personalized cycling experience.\n\n8. **Communities and Events**: + Cycling communities are thriving globally, with an increase in events such as + group rides, competitive races, and festivals celebrating biking culture. This + fosters social engagement and promotes cycling as a lifestyle.\n\n9. **Cargo + Bikes for Urban Living**: The rise of cargo bikes, particularly in urban environments, + allows for efficient transportation of goods, making them an appealing choice + for small businesses and families. This trend is encouraged by city planners + promoting cycling as an alternative to car deliveries.\n\n10. **Regulatory Changes**: + Governments around the world are increasingly implementing policies to support + cycling infrastructure, such as funding for bike lanes, subsidies for bicycle + purchases, and stricter emissions standards for motor vehicles, making cycling + a more attractive option for commuting.\n\nEach of these points represents the + latest developments in the bicycle industry as we move through 2024, highlighting + advancements in technology, trends in user preferences, and a broader societal + shift towards sustainability and health.\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-mini", "stop": ["\nObservation:"], "stream": + false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '4457' + content-type: + - application/json + cookie: + - __cf_bm=CkK4UvBd9ukXvn50uJwGambJcz5zERAJfeXJ9xge6H4-1732107842-1.0.1.1-IOK2yVL3RlD75MgmnKzIEyE38HNknwn6I8BBJ1wjGz4jCTd0YWIBPnvUm9gB8D_zLlUA9G7p_wbrfyc4mO_Bmg; + _cfuvid=MmeN9oHWrBLThkEJdaSFHBfWe95JvA8iFnnt7CC92tk-1732107842102-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - x64 + 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-AVefbpMLcvelEguI3pyXOpfbaXLGG\",\n \"object\": + \"chat.completion\",\n \"created\": 1732107867,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer \\nFinal + Answer: \\n\\n# Comprehensive Report on the Latest Developments in the Bicycle + Industry (2024)\\n\\n## 1. E-Bike Boom\\nThe popularity of electric bikes (e-bikes) + has surged dramatically in recent years, with industry reports indicating a + projected growth of 60% in sales compared to previous years. This growth can + be attributed to increasing urbanization, the rising need for more sustainable + modes of transport, and technological advancements that have made e-bikes more + accessible and desirable. Cities worldwide are responding to this boom by developing + dedicated bike lanes specifically designed for e-bikes, which not only promotes + safety but also encourages more individuals to consider cycling as a primary + mode of transportation.\\n\\n## 2. Sustainability in Manufacturing\\nIn line + with global trends towards sustainability, bicycle manufacturers are increasingly + adopting eco-friendlier practices. They are utilizing recycled materials for + frames and components and implementing environmentally friendly production processes. + This shift is not just a response to regulatory pressures but also driven by + consumer demand for greener products. Companies that prioritize sustainability + are seeing a competitive edge in an increasingly eco-conscious market, as consumers + are more likely to align their purchases with their values regarding environmental + responsibility.\\n\\n## 3. Smart Bicycles\\nThe integration of technology in + bicycles has advanced significantly, resulting in the emergence of smart bikes. + These bicycles often feature built-in GPS for navigation, automated gear shifting + for smoother rides, and performance analytics that allow users to track their + cycling metrics. Such innovations enhance the overall cycling experience and + cater to performance-focused cyclists who seek data to optimize their rides. + By merging cycling with technology, manufacturers are not only attracting tech + enthusiasts but also making cycling more mainstream.\\n\\n## 4. Bike Sharing + Programs\\nBike-sharing programs are rapidly expanding, particularly in urban + areas. Many cities have started introducing electric bike options within these + programs to meet the growing demand. The introduction of smartphone apps has + streamlined the renting process, increasing accessibility and convenience for + users. This trend not only promotes a healthier lifestyle but also reduces traffic + congestion and environmental impact in densely populated areas, making cycling + a more viable option for commuting.\\n\\n## 5. Safety Innovations\\nRecent advancements + in safety technology are working towards making cycling safer. Innovations such + as smart helmets equipped with lights and turn indicators, anti-collision systems + utilizing sensor technology, and integrated communication systems linking bicycles + with smartphones are increasingly gaining traction. These developments aim to + minimize accidents and enhance the overall sense of security for cyclists, thereby + encouraging more people to take up cycling as a daily activity.\\n\\n## 6. Adventure + Cycling Trends\\nAdventure and gravel cycling are witnessing a renaissance, + with many cyclists seeking off-road experiences that enable a connection with + nature. This trend has led manufacturers to innovate by developing dedicated + bikes suited for rugged terrains, characterized by features like wider tires + and durable frames. As consumers become more adventurous in their hobbies, manufacturers + are recognizing the need to cater to this niche market, fostering the growth + of adventure cycling as a distinct segment in the industry.\\n\\n## 7. Customization + and Personalization\\nThe demand for customizable bicycles is on the rise, allowing + consumers to choose various aspects of their bikes, including colors, styles, + and features. This trend towards personalization is enhancing the cycling experience, + as riders can tailor their bicycles to their preferences. The flourishing market + for custom bikes reflects a broader societal shift towards individuality and + self-expression, as consumers are no longer content with one-size-fits-all solutions.\\n\\n## + 8. Communities and Events\\nCycling communities are thriving worldwide, reflected + in an increase in events such as group rides, competitive races, and festivals + celebrating biking culture. These gatherings not only foster a sense of camaraderie + among cyclists but also promote cycling as a lifestyle choice to the wider community. + The growth of these events is instrumental in building a culture around cycling, + driving advocacy for cycling infrastructure and safety, and ultimately increasing + the number of people who cycle.\\n\\n## 9. Cargo Bikes for Urban Living\\nThe + rise of cargo bikes, especially in urban settings, represents an innovative + solution for transporting goods efficiently while reducing reliance on motor + vehicles. Such bikes serve as an appealing alternative for small businesses + and families alike, allowing for easy deliveries and shopping. City planners + are increasingly promoting cargo bikes within urban transport strategies, recognizing + them as a sustainable option that aligns with broader goals for reducing carbon + footprints and enhancing urban mobility.\\n\\n## 10. Regulatory Changes\\nGovernments + around the globe are progressively enacting regulations to support and grow + cycling infrastructure. Initiatives include funding for bike lanes, subsidies + for bicycle purchases, and stricter emissions standards for cars. These regulatory + changes are making cycling a more attractive option for commuting and are an + acknowledgment of the role that cycling plays in reducing pollution and traffic + congestion. Such policies are instrumental in fostering a cycling-friendly environment + and encouraging more people to adopt biking as a daily mode of transportation.\\n\\nThis + report highlights the most significant developments in the bicycle industry + as we advance through 2024, showcasing the technological breakthroughs, shifts + in user preferences, and an overarching movement toward sustainability and health. + These trends are indicative of a vibrant cycling culture that continues to evolve + to meet the needs of modern society.\",\n \"refusal\": null\n },\n + \ \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n + \ \"usage\": {\n \"prompt_tokens\": 790,\n \"completion_tokens\": 1022,\n + \ \"total_tokens\": 1812,\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_0705bf87c0\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8e58a5580add6225-GRU + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Wed, 20 Nov 2024 13:04:46 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: + - '18921' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149998916' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_32b801874a2fed46b91251052364ec47 + http_version: HTTP/1.1 + status_code: 200 +version: 1 diff --git a/tests/cassettes/test_before_kickoff_modification.yaml b/tests/cassettes/test_before_kickoff_modification.yaml new file mode 100644 index 0000000000..f1f60ea553 --- /dev/null +++ b/tests/cassettes/test_before_kickoff_modification.yaml @@ -0,0 +1,500 @@ +interactions: +- request: + body: !!binary | + CusOCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkSwg4KEgoQY3Jld2FpLnRl + bGVtZXRyeRKaDAoQFHOMv8VK3fCTALziX07PIRIIN6Cmi+pyjGkqDENyZXcgQ3JlYXRlZDABORgw + kr/lrgkYQWDinL/lrgkYShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuODAuMEoaCg5weXRob25fdmVy + c2lvbhIICgYzLjEyLjdKLgoIY3Jld19rZXkSIgogMWYxMjhiZGI3YmFhNGI2NzcxNGYxZGFlZGMy + ZjNhYjZKMQoHY3Jld19pZBImCiQ5MWYxYTY2OC05Y2MwLTQxODctYWZmOS03NzJkNzZlMzg3NDlK + HAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdf + bnVtYmVyX29mX3Rhc2tzEgIYAkobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgCSrQFCgtjcmV3 + X2FnZW50cxKkBQqhBVt7ImtleSI6ICI3M2MzNDljOTNjMTYzYjVkNGRmOThhNjRmYWMxYzQzMCIs + ICJpZCI6ICIxNDFhOGY2NS0zODRjLTQxMDMtODgwZS02ODMzNTQ0NmVkN2YiLCAicm9sZSI6ICJ7 + dG9waWN9IFNlbmlvciBEYXRhIFJlc2VhcmNoZXJcbiIsICJ2ZXJib3NlPyI6IHRydWUsICJtYXhf + aXRlciI6IDIwLCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAi + bGxtIjogImdwdC00by1taW5pIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93 + X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25h + bWVzIjogW119LCB7ImtleSI6ICIxMDRmZTA2NTllMTBiNDI2Y2Y4OGYwMjRmYjU3MTU1MyIsICJp + ZCI6ICI5YWFkMWUxMi00MTgxLTQ5NTctYmNlNS01ZWNhODg2YjMxYWYiLCAicm9sZSI6ICJ7dG9w + aWN9IFJlcG9ydGluZyBBbmFseXN0XG4iLCAidmVyYm9zZT8iOiB0cnVlLCAibWF4X2l0ZXIiOiAy + MCwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJn + cHQtNG8tbWluaSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJhbGxvd19jb2RlX2V4 + ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtd + fV1KkwQKCmNyZXdfdGFza3MShAQKgQRbeyJrZXkiOiAiNmFmYzRiMzk2MjU5ZmJiNzY4MWY1NmM3 + NzU1Y2M5MzciLCAiaWQiOiAiNTI5YmU1NTMtM2Y3Mi00YTU2LWFhNWItYWE0ZTZmMzhlOWJhIiwg + ImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRf + cm9sZSI6ICJ7dG9waWN9IFNlbmlvciBEYXRhIFJlc2VhcmNoZXJcbiIsICJhZ2VudF9rZXkiOiAi + NzNjMzQ5YzkzYzE2M2I1ZDRkZjk4YTY0ZmFjMWM0MzAiLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsi + a2V5IjogImIxN2IxODhkYmYxNGY5M2E5OGU1Yjk1YWFkMzY3NTc3IiwgImlkIjogImI2NzQyNmI0 + LTM2NTAtNDY5MS1iYTU4LWYwZTRmOWM0NTk3YyIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2Us + ICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAie3RvcGljfSBSZXBvcnRpbmcg + QW5hbHlzdFxuIiwgImFnZW50X2tleSI6ICIxMDRmZTA2NTllMTBiNDI2Y2Y4OGYwMjRmYjU3MTU1 + MyIsICJ0b29sc19uYW1lcyI6IFtdfV16AhgBhQEAAQAAEo4CChBM7T06NWnnx9b1Sl8dbVH+Eghz + 9rR/8DUNEioMVGFzayBDcmVhdGVkMAE5yJqzv+WuCRhBqEa0v+WuCRhKLgoIY3Jld19rZXkSIgog + MWYxMjhiZGI3YmFhNGI2NzcxNGYxZGFlZGMyZjNhYjZKMQoHY3Jld19pZBImCiQ5MWYxYTY2OC05 + Y2MwLTQxODctYWZmOS03NzJkNzZlMzg3NDlKLgoIdGFza19rZXkSIgogNmFmYzRiMzk2MjU5ZmJi + NzY4MWY1NmM3NzU1Y2M5MzdKMQoHdGFza19pZBImCiQ1MjliZTU1My0zZjcyLTRhNTYtYWE1Yi1h + YTRlNmYzOGU5YmF6AhgBhQEAAQAA + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1902' + Content-Type: + - application/x-protobuf + User-Agent: + - OTel-OTLP-Exporter-Python/1.27.0 + method: POST + uri: https://telemetry.crewai.com:4319/v1/traces + response: + body: + string: "\n\0" + headers: + Content-Length: + - '2' + Content-Type: + - application/x-protobuf + Date: + - Wed, 20 Nov 2024 13:03:59 GMT + status: + code: 200 + message: OK +- request: + body: '{"messages": [{"role": "system", "content": "You are Bicycles Senior Data + Researcher\n. You''re a seasoned researcher with a knack for uncovering the + latest developments in Bicycles. Known for your ability to find the most relevant + information and present it in a clear and concise manner.\n\nYour personal goal + is: Uncover cutting-edge developments in Bicycles\n\nTo 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: 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: + Conduct a thorough research about Bicycles Make sure you find any interesting + and relevant information given the current year is 2024.\n\n\nThis is the expect + criteria for your final answer: A list with 10 bullet points of the most relevant + information about Bicycles\n\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-mini", "stop": ["\nObservation:"], "stream": false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '1260' + content-type: + - application/json + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - x64 + 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-AVef48hbtmEEfHJzc9KI6SOG72L6j\",\n \"object\": + \"chat.completion\",\n \"created\": 1732107834,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer. \\nFinal + Answer: \\n\\n1. **E-Bike Market Growth**: The e-bike market has experienced + unprecedented growth, with sales increasing by over 45% in 2023 compared to + the previous year, driven by rising fuel prices and increased urbanization. + For 2024, predictions suggest this trend will continue as more consumers seek + sustainable transportation options.\\n\\n2. **Smart Technology Integration**: + Bicycle manufacturers are increasingly integrating smart technology into their + models. Features like GPS navigation, smartphone connectivity, anti-theft alarms, + and fitness tracking are becoming standard, enhancing the cycling experience + while providing riders with valuable data.\\n\\n3. **Sustainable Materials**: + Many companies are now focusing on using sustainable and eco-friendly materials + for bicycle production, with significant advancements in recycled aluminum and + carbon fiber technologies. This approach not only reduces environmental impact + but also appeals to eco-conscious consumers.\\n\\n4. **Urban Infrastructure + Improvements**: Cities worldwide are investing heavily in improving cycling + infrastructure, including the addition of dedicated bike lanes, bike-sharing + programs, and parking facilities, aiming to promote cycling as a primary mode + of transport and improve safety for cyclists.\\n\\n5. **Global Cycling Tourism + Increase**: Cycling tourism has seen a surge in popularity, with destinations + specifically catering to cyclists emerging across Europe, North America, and + Asia. This trend encourages eco-friendly travel options and boosts local economies, + offering curated cycling paths and accommodations.\\n\\n6. **Bike Repair & Maintenance + Innovations**: Innovative solutions like mobile bike repair services and self-service + bike repair stations are becoming more common, addressing the maintenance needs + of cyclists and reducing barriers to cycling.\\n\\n7. **Safety Innovations**: + The development of safety features such as automatic lights that respond to + ambient light, integrated turn signals in helmets, and advanced brake systems + have become essential selling points for new bikes, increasing rider visibility + and safety.\\n\\n8. **Performance Enhancements**: Advances in bike design and + materials, such as lightweight titanium and carbon fiber frames, have enhanced + performance for competitive cyclists. Additionally, innovations in gear shifting + and suspension systems are improving efficiency and comfort.\\n\\n9. **Inclusivity + in Cycling**: An increasing number of brands are focusing on inclusivity, producing + step-through frames and bikes tailored for various body types and abilities, + thus promoting cycling for people of all ages and physical conditions.\\n\\n10. + **Data Analytics for Cycling Trends**: The use of data analytics to study cycling + patterns has increased, helping cities and businesses understand cycling behaviors + and improve services. Insights gathered are being used to optimize bike-sharing + programs and enhance cycling infrastructure strategically.\\n\\nThis comprehensive + understanding highlights the diverse and exciting developments in the bicycle + industry, reflective of the shifting trends and technological advancements as + we move through 2024.\",\n \"refusal\": null\n },\n \"logprobs\": + null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 237,\n \"completion_tokens\": 540,\n \"total_tokens\": 777,\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_0705bf87c0\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8e58a48a783d6225-GRU + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Wed, 20 Nov 2024 13:04:02 GMT + Server: + - cloudflare + Set-Cookie: + - __cf_bm=CkK4UvBd9ukXvn50uJwGambJcz5zERAJfeXJ9xge6H4-1732107842-1.0.1.1-IOK2yVL3RlD75MgmnKzIEyE38HNknwn6I8BBJ1wjGz4jCTd0YWIBPnvUm9gB8D_zLlUA9G7p_wbrfyc4mO_Bmg; + path=/; expires=Wed, 20-Nov-24 13:34:02 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=MmeN9oHWrBLThkEJdaSFHBfWe95JvA8iFnnt7CC92tk-1732107842102-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: + - '7649' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149999708' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_60a333db2dbe3378c077ae0b2af16f8e + http_version: HTTP/1.1 + status_code: 200 +- request: + body: !!binary | + Cs4CCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkSpQIKEgoQY3Jld2FpLnRl + bGVtZXRyeRKOAgoQU4pBe1pQxsUBVChkPK41ghII8dnGjmMshHkqDFRhc2sgQ3JlYXRlZDABOQiW + uMjnrgkYQYjOucjnrgkYSi4KCGNyZXdfa2V5EiIKIDFmMTI4YmRiN2JhYTRiNjc3MTRmMWRhZWRj + MmYzYWI2SjEKB2NyZXdfaWQSJgokOTFmMWE2NjgtOWNjMC00MTg3LWFmZjktNzcyZDc2ZTM4NzQ5 + Si4KCHRhc2tfa2V5EiIKIGIxN2IxODhkYmYxNGY5M2E5OGU1Yjk1YWFkMzY3NTc3SjEKB3Rhc2tf + aWQSJgokYjY3NDI2YjQtMzY1MC00NjkxLWJhNTgtZjBlNGY5YzQ1OTdjegIYAYUBAAEAAA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '337' + Content-Type: + - application/x-protobuf + User-Agent: + - OTel-OTLP-Exporter-Python/1.27.0 + method: POST + uri: https://telemetry.crewai.com:4319/v1/traces + response: + body: + string: "\n\0" + headers: + Content-Length: + - '2' + Content-Type: + - application/x-protobuf + Date: + - Wed, 20 Nov 2024 13:04:04 GMT + status: + code: 200 + message: OK +- request: + body: '{"messages": [{"role": "system", "content": "You are Bicycles Reporting + Analyst\n. You''re a meticulous analyst with a keen eye for detail. You''re + known for your ability to turn complex data into clear and concise reports, + making it easy for others to understand and act on the information you provide.\n\nYour + personal goal is: Create detailed reports based on Bicycles data analysis and + research findings\n\nTo 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: + 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: Review the context you got and + expand each topic into a full section for a report. Make sure the report is + detailed and contains any and all relevant information.\n\n\nThis is the expect + criteria for your final answer: A fully fledge reports with the mains topics, + each with a full section of information. Formatted as markdown without ''```''\n\nyou + MUST return the actual complete content as the final answer, not a summary.\n\nThis + is the context you''re working with:\n1. **E-Bike Market Growth**: The e-bike + market has experienced unprecedented growth, with sales increasing by over 45% + in 2023 compared to the previous year, driven by rising fuel prices and increased + urbanization. For 2024, predictions suggest this trend will continue as more + consumers seek sustainable transportation options.\n\n2. **Smart Technology + Integration**: Bicycle manufacturers are increasingly integrating smart technology + into their models. Features like GPS navigation, smartphone connectivity, anti-theft + alarms, and fitness tracking are becoming standard, enhancing the cycling experience + while providing riders with valuable data.\n\n3. **Sustainable Materials**: + Many companies are now focusing on using sustainable and eco-friendly materials + for bicycle production, with significant advancements in recycled aluminum and + carbon fiber technologies. This approach not only reduces environmental impact + but also appeals to eco-conscious consumers.\n\n4. **Urban Infrastructure Improvements**: + Cities worldwide are investing heavily in improving cycling infrastructure, + including the addition of dedicated bike lanes, bike-sharing programs, and parking + facilities, aiming to promote cycling as a primary mode of transport and improve + safety for cyclists.\n\n5. **Global Cycling Tourism Increase**: Cycling tourism + has seen a surge in popularity, with destinations specifically catering to cyclists + emerging across Europe, North America, and Asia. This trend encourages eco-friendly + travel options and boosts local economies, offering curated cycling paths and + accommodations.\n\n6. **Bike Repair & Maintenance Innovations**: Innovative + solutions like mobile bike repair services and self-service bike repair stations + are becoming more common, addressing the maintenance needs of cyclists and reducing + barriers to cycling.\n\n7. **Safety Innovations**: The development of safety + features such as automatic lights that respond to ambient light, integrated + turn signals in helmets, and advanced brake systems have become essential selling + points for new bikes, increasing rider visibility and safety.\n\n8. **Performance + Enhancements**: Advances in bike design and materials, such as lightweight titanium + and carbon fiber frames, have enhanced performance for competitive cyclists. + Additionally, innovations in gear shifting and suspension systems are improving + efficiency and comfort.\n\n9. **Inclusivity in Cycling**: An increasing number + of brands are focusing on inclusivity, producing step-through frames and bikes + tailored for various body types and abilities, thus promoting cycling for people + of all ages and physical conditions.\n\n10. **Data Analytics for Cycling Trends**: + The use of data analytics to study cycling patterns has increased, helping cities + and businesses understand cycling behaviors and improve services. Insights gathered + are being used to optimize bike-sharing programs and enhance cycling infrastructure + strategically.\n\nThis comprehensive understanding highlights the diverse and + exciting developments in the bicycle industry, reflective of the shifting trends + and technological advancements as we move through 2024.\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-mini", "stop": ["\nObservation:"], + "stream": false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '4587' + content-type: + - application/json + cookie: + - __cf_bm=CkK4UvBd9ukXvn50uJwGambJcz5zERAJfeXJ9xge6H4-1732107842-1.0.1.1-IOK2yVL3RlD75MgmnKzIEyE38HNknwn6I8BBJ1wjGz4jCTd0YWIBPnvUm9gB8D_zLlUA9G7p_wbrfyc4mO_Bmg; + _cfuvid=MmeN9oHWrBLThkEJdaSFHBfWe95JvA8iFnnt7CC92tk-1732107842102-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - x64 + 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-AVefC4hfHvHYaSnPpfpnDBIn5IOgg\",\n \"object\": + \"chat.completion\",\n \"created\": 1732107842,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer \\nFinal + Answer: \\n\\n# Detailed Report on Current Bicycle Industry Trends\\n\\n## 1. + E-Bike Market Growth\\nThe e-bike market has experienced unprecedented growth + in 2023, with sales skyrocketing by over 45% compared to the previous year. + The surge in popularity is largely attributed to rising fuel prices that compel + consumers to explore alternative modes of transportation, as well as increased + urbanization that pushes individuals towards more sustainable commuting options. + In 2024, forecasts indicate that this robust growth is likely to persist as + more consumers prioritize eco-friendly transportation solutions. Factors driving + this momentum include government incentives for electric vehicle purchases, + improved battery technology providing longer ranges, and the appeal of e-bikes + as a viable solution for first-and-last-mile connectivity in urban environments.\\n\\n## + 2. Smart Technology Integration\\nThe bicycle manufacturing industry is witnessing + an increasing trend towards integrating smart technology into their products. + Modern bicycles now come equipped with features such as GPS navigation systems, + Bluetooth connectivity, anti-theft alarms, and fitness tracking capabilities. + These enhancements not only enrich the cycling experience by providing cyclists + with valuable data\u2014such as speed, distance traveled, and route optimization\u2014but + also position cycling as a technologically advanced means of transport. Such + innovations cater particularly to tech-savvy consumers looking for a comprehensive + solution that addresses both utility and convenience.\\n\\n## 3. Sustainable + Materials\\nIn response to growing environmental concerns, many bicycle manufacturers + are now focusing on the use of sustainable and eco-friendly materials in their + production processes. Innovations in recycled aluminum production and advancements + in carbon fiber manufacturing are leading the way to minimize the ecological + footprint of bicycles. The shift to sustainable materials not only attracts + eco-conscious consumers but also aligns with the broader movement towards sustainability + within various industries. This commitment to responsible sourcing and production + practices is intended to resonate with consumers increasingly prioritizing sustainability + in their purchasing decisions.\\n\\n## 4. Urban Infrastructure Improvements\\nCities + across the globe are investing significantly to enhance cycling infrastructure, + which includes creating dedicated bike lanes, establishing bike-sharing programs, + and increasing the availability of secure bike parking facilities. The aim of + these investment strategies is to promote cycling as a primary mode of transportation, + thereby alleviating traffic congestion and reducing urban air pollution. These + improvements not only make cycling safer and more appealing but also encourage + a cultural shift towards embracing cycling as a sustainable form of transport, + contributing to healthier urban populations.\\n\\n## 5. Global Cycling Tourism + Increase\\nCycling tourism has emerged as a rapidly growing sector, with numerous + destinations catering specifically to the needs of cyclists. Regions in Europe, + North America, and Asia have begun to promote curated cycling paths and accommodations + that enhance the travel experience for biking enthusiasts. This trend encourages + eco-friendly travel options and provides a substantial boost to local economies + reliant on tourism. With more travelers seeking unique and sustainable adventure + experiences, cycling tourism is cementing its place as a desirable and responsible + leisure activity.\\n\\n## 6. Bike Repair & Maintenance Innovations\\nAs cycling + becomes more popular, addressing the maintenance needs of bicycles is critical. + The advent of innovative solutions such as mobile bike repair services and self-service + repair stations is helping cyclists maintain their bikes more conveniently. + These services remove barriers to cycling by providing quick access to repair + assistance, thus ensuring that cyclists can get back on the road with minimal + downtime. Additionally, the proliferation of these services reflects an increasingly + proactive approach to bicycle maintenance within the industry.\\n\\n## 7. Safety + Innovations\\nSafety remains a paramount concern for cyclists, prompting the + development of several innovative features that enhance visibility and rider + protection. New safety technologies include automatic lights that adjust to + ambient lighting, integrated turn signals built into helmets, and advanced braking + systems that improve stopping power. These innovations not only elevate the + overall safety of new bicycles but also serve as essential selling points for + manufacturers, helping to reassure potential buyers about the security of their + cycling experiences.\\n\\n## 8. Performance Enhancements\\nContinual advancements + in bike design and materials have significantly improved performance for competitive + cyclists. The adoption of lightweight materials like titanium and carbon fiber + frames enhances speed and maneuverability. Moreover, state-of-the-art gear shifting + mechanisms and suspension systems are optimizing cycling efficiency and rider + comfort. These innovations cater to both amateur and professional cyclists alike, + emphasizing the drive for enhanced performance in the marketplace.\\n\\n## 9. + Inclusivity in Cycling\\nThe bicycle industry is progressively recognizing the + importance of inclusivity by producing more diverse models catering to a wide + range of body types and abilities. This includes step-through frames designed + for easier mounting and dismounting as well as specialized bikes accommodating + unique ergonomic needs. By promoting cycling as an approachable and accessible + activity for individuals of various ages and physical conditions, brands are + broadening their market reach and fostering a more inclusive cycling community.\\n\\n## + 10. Data Analytics for Cycling Trends\\nThe utilization of data analytics in + cycling is on the rise, as cities and businesses increasingly turn to data-driven + insights to understand cyclist behaviors and optimize offerings. Analytics are + being harnessed to fine-tune bike-sharing programs, enhancing user experience + through informed decision-making. This strategic approach not only aids in the + identification of high-demand cycling routes but also informs infrastructure + investments, ensuring that cycling continues to become a more viable and attractive + option for urban transport.\\n\\nIn summary, these trends reflect a dynamic + and rapidly evolving bicycle industry characterized by technological advancements, + sustainability efforts, and a commitment to inclusivity. As we advance through + 2024, these developments will shape the future of cycling, making it not just + a mode of transport but a lifestyle choice that emphasizes health, environment, + and community engagement.\",\n \"refusal\": null\n },\n \"logprobs\": + null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 791,\n \"completion_tokens\": 1102,\n \"total_tokens\": 1893,\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_0705bf87c0\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8e58a4be3c906225-GRU + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Wed, 20 Nov 2024 13:04:18 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: + - '16287' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149998883' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_bb43402829dc4dc60bf6f4b76a72e6c9 + http_version: HTTP/1.1 + status_code: 200 +version: 1 diff --git a/tests/cassettes/test_before_kickoff_with_none_input.yaml b/tests/cassettes/test_before_kickoff_with_none_input.yaml new file mode 100644 index 0000000000..e906e80180 --- /dev/null +++ b/tests/cassettes/test_before_kickoff_with_none_input.yaml @@ -0,0 +1,492 @@ +interactions: +- request: + body: !!binary | + CusOCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkSwg4KEgoQY3Jld2FpLnRl + bGVtZXRyeRKaDAoQ4G43ZjKxBKDC/tbsjP4YXxIINS4tBd9tcREqDENyZXcgQ3JlYXRlZDABOQB0 + FQ7yrgkYQdg+GA7yrgkYShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuODAuMEoaCg5weXRob25fdmVy + c2lvbhIICgYzLjEyLjdKLgoIY3Jld19rZXkSIgogMWYxMjhiZGI3YmFhNGI2NzcxNGYxZGFlZGMy + ZjNhYjZKMQoHY3Jld19pZBImCiQzNTE4YjRjNS0xYTM5LTRkYjEtODEwMy03MzllNjQ5YzAwZDhK + HAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdf + bnVtYmVyX29mX3Rhc2tzEgIYAkobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgCSrQFCgtjcmV3 + X2FnZW50cxKkBQqhBVt7ImtleSI6ICI3M2MzNDljOTNjMTYzYjVkNGRmOThhNjRmYWMxYzQzMCIs + ICJpZCI6ICIyZmFkNjUwMC0wYTk1LTRmMTMtYjk5YS0zMTE1YzRkOTM3ODgiLCAicm9sZSI6ICJ7 + dG9waWN9IFNlbmlvciBEYXRhIFJlc2VhcmNoZXJcbiIsICJ2ZXJib3NlPyI6IHRydWUsICJtYXhf + aXRlciI6IDIwLCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAi + bGxtIjogImdwdC00by1taW5pIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93 + X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25h + bWVzIjogW119LCB7ImtleSI6ICIxMDRmZTA2NTllMTBiNDI2Y2Y4OGYwMjRmYjU3MTU1MyIsICJp + ZCI6ICIxYTQ0MjFiOC1lZWMzLTQ1ZjItODY1NS01NDcyMWIyOTk5NDciLCAicm9sZSI6ICJ7dG9w + aWN9IFJlcG9ydGluZyBBbmFseXN0XG4iLCAidmVyYm9zZT8iOiB0cnVlLCAibWF4X2l0ZXIiOiAy + MCwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJn + cHQtNG8tbWluaSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJhbGxvd19jb2RlX2V4 + ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtd + fV1KkwQKCmNyZXdfdGFza3MShAQKgQRbeyJrZXkiOiAiNmFmYzRiMzk2MjU5ZmJiNzY4MWY1NmM3 + NzU1Y2M5MzciLCAiaWQiOiAiMmY2ODFlY2YtNmY0Yy00NzlhLWE0ZWEtY2Y0ZTVmNGM2ZWFlIiwg + ImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRf + cm9sZSI6ICJ7dG9waWN9IFNlbmlvciBEYXRhIFJlc2VhcmNoZXJcbiIsICJhZ2VudF9rZXkiOiAi + NzNjMzQ5YzkzYzE2M2I1ZDRkZjk4YTY0ZmFjMWM0MzAiLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsi + a2V5IjogImIxN2IxODhkYmYxNGY5M2E5OGU1Yjk1YWFkMzY3NTc3IiwgImlkIjogIjgwM2Q5YWYy + LTdhYjAtNDYzNy1iMWJjLTkxNDJmMWJkMDM0YSIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2Us + ICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAie3RvcGljfSBSZXBvcnRpbmcg + QW5hbHlzdFxuIiwgImFnZW50X2tleSI6ICIxMDRmZTA2NTllMTBiNDI2Y2Y4OGYwMjRmYjU3MTU1 + MyIsICJ0b29sc19uYW1lcyI6IFtdfV16AhgBhQEAAQAAEo4CChCkKf4+mBo3buykKHqmcwYdEgit + HkuXVEC4UCoMVGFzayBDcmVhdGVkMAE5uJAnDvKuCRhBcBkoDvKuCRhKLgoIY3Jld19rZXkSIgog + MWYxMjhiZGI3YmFhNGI2NzcxNGYxZGFlZGMyZjNhYjZKMQoHY3Jld19pZBImCiQzNTE4YjRjNS0x + YTM5LTRkYjEtODEwMy03MzllNjQ5YzAwZDhKLgoIdGFza19rZXkSIgogNmFmYzRiMzk2MjU5ZmJi + NzY4MWY1NmM3NzU1Y2M5MzdKMQoHdGFza19pZBImCiQyZjY4MWVjZi02ZjRjLTQ3OWEtYTRlYS1j + ZjRlNWY0YzZlYWV6AhgBhQEAAQAA + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1902' + Content-Type: + - application/x-protobuf + User-Agent: + - OTel-OTLP-Exporter-Python/1.27.0 + method: POST + uri: https://telemetry.crewai.com:4319/v1/traces + response: + body: + string: "\n\0" + headers: + Content-Length: + - '2' + Content-Type: + - application/x-protobuf + Date: + - Wed, 20 Nov 2024 13:04:49 GMT + status: + code: 200 + message: OK +- request: + body: '{"messages": [{"role": "system", "content": "You are {topic} Senior Data + Researcher\n. You''re a seasoned researcher with a knack for uncovering the + latest developments in {topic}. Known for your ability to find the most relevant + information and present it in a clear and concise manner.\n\nYour personal goal + is: Uncover cutting-edge developments in {topic}\n\nTo 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: 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: + Conduct a thorough research about {topic} Make sure you find any interesting + and relevant information given the current year is 2024.\n\n\nThis is the expect + criteria for your final answer: A list with 10 bullet points of the most relevant + information about {topic}\n\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-mini", "stop": ["\nObservation:"], "stream": false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '1255' + content-type: + - application/json + cookie: + - __cf_bm=CkK4UvBd9ukXvn50uJwGambJcz5zERAJfeXJ9xge6H4-1732107842-1.0.1.1-IOK2yVL3RlD75MgmnKzIEyE38HNknwn6I8BBJ1wjGz4jCTd0YWIBPnvUm9gB8D_zLlUA9G7p_wbrfyc4mO_Bmg; + _cfuvid=MmeN9oHWrBLThkEJdaSFHBfWe95JvA8iFnnt7CC92tk-1732107842102-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - x64 + 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-AVefuCEPMJPCqhgvBPhOk55hlNQ0m\",\n \"object\": + \"chat.completion\",\n \"created\": 1732107886,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer. \\nFinal + Answer: \\n\\n1. **Artificial Intelligence Advancements**: In 2024, AI has made + significant strides in natural language processing and computer vision, with + models achieving near-human-level understanding and interpretation capabilities. + This has led to more sophisticated AI applications across industries.\\n\\n2. + **Quantum Computing Progress**: Quantum computers are now capable of surpassing + traditional computing power for specific tasks, with breakthroughs in error + correction and qubit coherence. This achievement is paving the way for real-world + applications in cryptography and complex problem-solving.\\n\\n3. **Sustainable + Energy Technologies**: The shift toward renewable energy sources has accelerated, + with innovations in solar panel efficiency and the rise of hydrogen fuel cells + gaining traction as viable alternatives for energy storage and transportation.\\n\\n4. + **Augmented Reality Enhancements**: In 2024, augmented reality (AR) technologies + are being integrated into everyday applications, from retail to education, providing + immersive experiences that enhance learning and consumer engagement.\\n\\n5. + **5G Expansion and 6G Development**: The rollout of 5G continues to expand globally, + while foundational work on 6G is underway, promising enhanced connectivity speeds, + low latency, and the potential for new applications like smart cities and automated + industries.\\n\\n6. **Data Privacy Regulations**: As data breaches become increasingly + sophisticated, worldwide regulations around data privacy have tightened, with + new laws being implemented to protect consumer information and corporate accountability + in data handling.\\n\\n7. **Biotechnology Breakthroughs**: Advances in gene + editing technologies, particularly CRISPR, have progressed rapidly, making personalized + medicine and agricultural improvements more feasible, aiming to address genetic + diseases and food security.\\n\\n8. **Blockchain Applications**: Beyond cryptocurrencies, + blockchain technology is being applied in supply chain management and digital + identity verification, offering transparent and secure methods for transactions + and record-keeping.\\n\\n9. **Mental Health Technology**: The integration of + technology in mental health care is expanding, with virtual reality and AI-driven + apps providing new therapeutic options for patients, drastically improving accessibility + and treatment personalization.\\n\\n10. **Transportation Innovations**: Electric + vehicles (EVs) have seen increased adoption due to advancements in battery technology, + while autonomous vehicles are becoming more prevalent, with pilot programs indicating + potential for widespread urban deployment by 2025.\",\n \"refusal\": + null\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n + \ }\n ],\n \"usage\": {\n \"prompt_tokens\": 234,\n \"completion_tokens\": + 457,\n \"total_tokens\": 691,\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_0705bf87c0\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8e58a5d1ef736225-GRU + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Wed, 20 Nov 2024 13:04:50 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: + - '3814' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149999710' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_0e0bf8c81c9997414688b5188337104b + http_version: HTTP/1.1 + status_code: 200 +- request: + body: !!binary | + Cs4CCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkSpQIKEgoQY3Jld2FpLnRl + bGVtZXRyeRKOAgoQT0LRe4bJ4FgqPQObXTZKYRIIpR3A/gdzzPQqDFRhc2sgQ3JlYXRlZDABOfCJ + CAXzrgkYQcAICgXzrgkYSi4KCGNyZXdfa2V5EiIKIDFmMTI4YmRiN2JhYTRiNjc3MTRmMWRhZWRj + MmYzYWI2SjEKB2NyZXdfaWQSJgokMzUxOGI0YzUtMWEzOS00ZGIxLTgxMDMtNzM5ZTY0OWMwMGQ4 + Si4KCHRhc2tfa2V5EiIKIGIxN2IxODhkYmYxNGY5M2E5OGU1Yjk1YWFkMzY3NTc3SjEKB3Rhc2tf + aWQSJgokODAzZDlhZjItN2FiMC00NjM3LWIxYmMtOTE0MmYxYmQwMzRhegIYAYUBAAEAAA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '337' + Content-Type: + - application/x-protobuf + User-Agent: + - OTel-OTLP-Exporter-Python/1.27.0 + method: POST + uri: https://telemetry.crewai.com:4319/v1/traces + response: + body: + string: "\n\0" + headers: + Content-Length: + - '2' + Content-Type: + - application/x-protobuf + Date: + - Wed, 20 Nov 2024 13:04:54 GMT + status: + code: 200 + message: OK +- request: + body: '{"messages": [{"role": "system", "content": "You are {topic} Reporting + Analyst\n. You''re a meticulous analyst with a keen eye for detail. You''re + known for your ability to turn complex data into clear and concise reports, + making it easy for others to understand and act on the information you provide.\n\nYour + personal goal is: Create detailed reports based on {topic} data analysis and + research findings\n\nTo 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: + 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: Review the context you got and + expand each topic into a full section for a report. Make sure the report is + detailed and contains any and all relevant information.\n\n\nThis is the expect + criteria for your final answer: A fully fledge reports with the mains topics, + each with a full section of information. Formatted as markdown without ''```''\n\nyou + MUST return the actual complete content as the final answer, not a summary.\n\nThis + is the context you''re working with:\n1. **Artificial Intelligence Advancements**: + In 2024, AI has made significant strides in natural language processing and + computer vision, with models achieving near-human-level understanding and interpretation + capabilities. This has led to more sophisticated AI applications across industries.\n\n2. + **Quantum Computing Progress**: Quantum computers are now capable of surpassing + traditional computing power for specific tasks, with breakthroughs in error + correction and qubit coherence. This achievement is paving the way for real-world + applications in cryptography and complex problem-solving.\n\n3. **Sustainable + Energy Technologies**: The shift toward renewable energy sources has accelerated, + with innovations in solar panel efficiency and the rise of hydrogen fuel cells + gaining traction as viable alternatives for energy storage and transportation.\n\n4. + **Augmented Reality Enhancements**: In 2024, augmented reality (AR) technologies + are being integrated into everyday applications, from retail to education, providing + immersive experiences that enhance learning and consumer engagement.\n\n5. **5G + Expansion and 6G Development**: The rollout of 5G continues to expand globally, + while foundational work on 6G is underway, promising enhanced connectivity speeds, + low latency, and the potential for new applications like smart cities and automated + industries.\n\n6. **Data Privacy Regulations**: As data breaches become increasingly + sophisticated, worldwide regulations around data privacy have tightened, with + new laws being implemented to protect consumer information and corporate accountability + in data handling.\n\n7. **Biotechnology Breakthroughs**: Advances in gene editing + technologies, particularly CRISPR, have progressed rapidly, making personalized + medicine and agricultural improvements more feasible, aiming to address genetic + diseases and food security.\n\n8. **Blockchain Applications**: Beyond cryptocurrencies, + blockchain technology is being applied in supply chain management and digital + identity verification, offering transparent and secure methods for transactions + and record-keeping.\n\n9. **Mental Health Technology**: The integration of technology + in mental health care is expanding, with virtual reality and AI-driven apps + providing new therapeutic options for patients, drastically improving accessibility + and treatment personalization.\n\n10. **Transportation Innovations**: Electric + vehicles (EVs) have seen increased adoption due to advancements in battery technology, + while autonomous vehicles are becoming more prevalent, with pilot programs indicating + potential for widespread urban deployment by 2025.\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-mini", "stop": ["\nObservation:"], "stream": + false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '4065' + content-type: + - application/json + cookie: + - __cf_bm=CkK4UvBd9ukXvn50uJwGambJcz5zERAJfeXJ9xge6H4-1732107842-1.0.1.1-IOK2yVL3RlD75MgmnKzIEyE38HNknwn6I8BBJ1wjGz4jCTd0YWIBPnvUm9gB8D_zLlUA9G7p_wbrfyc4mO_Bmg; + _cfuvid=MmeN9oHWrBLThkEJdaSFHBfWe95JvA8iFnnt7CC92tk-1732107842102-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - x64 + 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-AVefym1A3aTi6N7szB8ei85GCHkyG\",\n \"object\": + \"chat.completion\",\n \"created\": 1732107890,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer \\nFinal + Answer: \\n\\n# Comprehensive Report on Key Technology Trends in 2024\\n\\n## + 1. Artificial Intelligence Advancements\\nIn 2024, artificial intelligence (AI) + has undergone remarkable advancements, particularly in the fields of natural + language processing (NLP) and computer vision. AI models are now achieving near-human-level + understanding and interpretation capabilities, enabling more nuanced interactions + between humans and machines. This progression has spurred the development of + sophisticated AI applications across various sectors, from healthcare, where + AI can analyze medical images and assist in diagnostic processes, to finance, + where predictive analytics enhances decision-making and risk management. With + AI being employed in customer service chatbots and personal assistants, the + technology's integration into daily operations significantly improves productivity + and user experience.\\n\\n## 2. Quantum Computing Progress\\nThe capabilities + of quantum computers have expanded significantly, showcasing their potential + to exceed traditional computing power for specific tasks. In 2024, key breakthroughs + have been made in areas such as error correction and qubit coherence, addressing + longstanding challenges in the field. These advancements are not only enhancing + the performance of quantum systems but are also paving the way for practical + applications in cryptography, where quantum encryption could revolutionize data + security protocols, and in complex problem-solving scenarios across scientific + research and logistics. As quantum technology matures, it holds the promise + to solve problems that are currently intractable for classical computers.\\n\\n## + 3. Sustainable Energy Technologies\\nThe global shift towards sustainable energy + sources has gained remarkable momentum in 2024, driven by innovations in solar + panel efficiency and the adoption of hydrogen fuel cells. Advances in photovoltaic + technology have led to the development of more efficient solar panels capable + of capturing a higher percentage of sunlight, reducing reliance on fossil fuels. + Simultaneously, hydrogen fuel cells are emerging as a viable alternative for + energy storage and transportation, particularly in heavy-duty vehicles and public + transport systems. This transformation towards greener energy solutions is critical + in combating climate change while fostering economic growth through new job + creation in the clean technology sector.\\n\\n## 4. Augmented Reality Enhancements\\nAugmented + reality (AR) technologies are becoming increasingly integrated into everyday + applications as of 2024, providing immersive experiences across various industries, + including retail and education. In retail, AR is enhancing consumer engagement + by allowing customers to visualize products in a real-world context before making + a purchase. In education, AR is facilitating interactive learning experiences, + enabling students to engage with complex subjects through visual simulations + and augmented textbooks. These advancements not only improve user engagement + but also foster greater understanding and retention of information.\\n\\n## + 5. 5G Expansion and 6G Development\\nThe global rollout of 5G technology continues + at a rapid pace, significantly enhancing connectivity speeds and reducing latency. + As 2024 progresses, foundational work on the next-generation 6G networks is + also underway, promising even greater improvements in connectivity and the potential + for groundbreaking applications. These advancements are facilitating the emergence + of smart cities, automated industries, and enhanced telecommunications services. + The increased bandwidth provided by 5G and the anticipation surrounding 6G enable + new possibilities in mobile communications, Internet of Things (IoT) implementations, + and real-time data processing.\\n\\n## 6. Data Privacy Regulations\\nAs data + breaches become increasingly sophisticated and pervasive, regulations surrounding + data privacy have intensified globally in 2024. Many countries have enacted + new laws aimed at protecting consumer information and holding businesses accountable + for their data handling practices. This regulatory environment requires organizations + to implement robust data protection measures, maintain transparency, and establish + trust with consumers. The emphasis on data privacy not only safeguards individuals' + personal information but also promotes ethical practices within the tech industry, + thereby fostering greater public confidence in emerging digital services.\\n\\n## + 7. Biotechnology Breakthroughs\\nThe biotechnology sector has experienced significant + developments in 2024, particularly regarding gene editing technologies such + as CRISPR. These advances enable researchers to make precise modifications to + genetic material, paving the way for personalized medicine that targets genetic + diseases at the source. Agricultural improvements are also on the horizon as + genetically modified crops become more resilient to climate change and pests, + addressing global food security challenges. With ongoing research and clinical + trials, the potential applications of biotechnology in healthcare and agriculture + present transformative opportunities to improve quality of life and sustainability.\\n\\n## + 8. Blockchain Applications\\nBeyond its initial use in cryptocurrencies, blockchain + technology is finding diverse applications in areas such as supply chain management + and digital identity verification. In 2024, businesses leverage blockchain's + inherent transparency and security to streamline operations, enhance traceability, + and foster trust among stakeholders. For example, in supply chain management, + blockchain allows for real-time tracking of products, enabling greater accountability + and efficient inventory management. Similarly, digital identity verification + is becoming more secure through decentralized systems, reducing the risk of + identity theft and fraud, thereby enhancing overall trust in digital transactions.\\n\\n## + 9. Mental Health Technology\\nIn recent years, technology's role in mental health + care has expanded dramatically, with innovative solutions such as virtual reality + (VR) therapy and AI-driven mental health applications emerging in 2024. These + technologies offer patients new therapeutic options that enhance accessibility + and treatment personalization. VR environments can simulate therapeutic situations + for exposure therapy while AI algorithms tailor mental health interventions + according to individual needs, improving overall efficacy. This integration + of technology into mental health care has the potential to bridge gaps in traditional + therapy access, providing vital support to those in need.\\n\\n## 10. Transportation + Innovations\\nTransportation has seen significant innovations as of 2024, driven + primarily by advancements in electric vehicles (EVs) and autonomous technology. + Increasing adoption of EVs is correlated with enhanced battery technologies + that extend range and reduce charging time, making them more appealing to consumers. + Simultaneously, pilot programs for autonomous vehicles are indicating promising + results for safe integration into urban environments. These developments present + the opportunity for reduced traffic congestion, lower emissions, and enhanced + mobility solutions, fundamentally reshaping the landscape of transportation + in cities worldwide by 2025. \\n\\nThrough these comprehensive explorations + of emerging technologies, it is clear that 2024 marks a pivotal year for innovation, + shaping future directions in various industries and enhancing societal progress.\",\n + \ \"refusal\": null\n },\n \"logprobs\": null,\n \"finish_reason\": + \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 708,\n \"completion_tokens\": + 1223,\n \"total_tokens\": 1931,\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_0705bf87c0\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8e58a5ec0f936225-GRU + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Wed, 20 Nov 2024 13:05:05 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: + - '15043' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149999013' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_4bd436f5144121694f8df654ed8514ea + http_version: HTTP/1.1 + status_code: 200 +version: 1 diff --git a/tests/cassettes/test_multiple_before_after_kickoff.yaml b/tests/cassettes/test_multiple_before_after_kickoff.yaml new file mode 100644 index 0000000000..7cd59d4740 --- /dev/null +++ b/tests/cassettes/test_multiple_before_after_kickoff.yaml @@ -0,0 +1,495 @@ +interactions: +- request: + body: !!binary | + CusOCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkSwg4KEgoQY3Jld2FpLnRl + bGVtZXRyeRKaDAoQoIrabVYsFbbHfYiDTst34xIIG0YGNNs8p2gqDENyZXcgQ3JlYXRlZDABOYhW + grn2rgkYQUBQhbn2rgkYShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuODAuMEoaCg5weXRob25fdmVy + c2lvbhIICgYzLjEyLjdKLgoIY3Jld19rZXkSIgogMWYxMjhiZGI3YmFhNGI2NzcxNGYxZGFlZGMy + ZjNhYjZKMQoHY3Jld19pZBImCiQzM2Q1NTk3MS1iZmI2LTQ5MTgtODNhZC1iZWMxZmEyYzc0NjhK + HAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdf + bnVtYmVyX29mX3Rhc2tzEgIYAkobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgCSrQFCgtjcmV3 + X2FnZW50cxKkBQqhBVt7ImtleSI6ICI3M2MzNDljOTNjMTYzYjVkNGRmOThhNjRmYWMxYzQzMCIs + ICJpZCI6ICIwZGZjYzg3MS01ZGI5LTRkYjItOWIyNy0xN2I0MmIyZmZiMTAiLCAicm9sZSI6ICJ7 + dG9waWN9IFNlbmlvciBEYXRhIFJlc2VhcmNoZXJcbiIsICJ2ZXJib3NlPyI6IHRydWUsICJtYXhf + aXRlciI6IDIwLCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAi + bGxtIjogImdwdC00by1taW5pIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93 + X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25h + bWVzIjogW119LCB7ImtleSI6ICIxMDRmZTA2NTllMTBiNDI2Y2Y4OGYwMjRmYjU3MTU1MyIsICJp + ZCI6ICJiZjFkODdkZC0zZmUyLTRjYTctOTI1My0xYTQyYTljNWE5NjYiLCAicm9sZSI6ICJ7dG9w + aWN9IFJlcG9ydGluZyBBbmFseXN0XG4iLCAidmVyYm9zZT8iOiB0cnVlLCAibWF4X2l0ZXIiOiAy + MCwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJn + cHQtNG8tbWluaSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJhbGxvd19jb2RlX2V4 + ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtd + fV1KkwQKCmNyZXdfdGFza3MShAQKgQRbeyJrZXkiOiAiNmFmYzRiMzk2MjU5ZmJiNzY4MWY1NmM3 + NzU1Y2M5MzciLCAiaWQiOiAiNjhhZmY3NzctODEwYy00N2Q0LTlmMjItMjBlY2VhY2Y3ZTFhIiwg + ImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRf + cm9sZSI6ICJ7dG9waWN9IFNlbmlvciBEYXRhIFJlc2VhcmNoZXJcbiIsICJhZ2VudF9rZXkiOiAi + NzNjMzQ5YzkzYzE2M2I1ZDRkZjk4YTY0ZmFjMWM0MzAiLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsi + a2V5IjogImIxN2IxODhkYmYxNGY5M2E5OGU1Yjk1YWFkMzY3NTc3IiwgImlkIjogImNlZmFlNzU1 + LTMzNzctNGE3OS1hNGMyLTZkMDk5Yzk0YmRlYiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2Us + ICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAie3RvcGljfSBSZXBvcnRpbmcg + QW5hbHlzdFxuIiwgImFnZW50X2tleSI6ICIxMDRmZTA2NTllMTBiNDI2Y2Y4OGYwMjRmYjU3MTU1 + MyIsICJ0b29sc19uYW1lcyI6IFtdfV16AhgBhQEAAQAAEo4CChAk4SmgCGgI1cLD7bspORIREgiA + ME8JXP1gfioMVGFzayBDcmVhdGVkMAE56EuWufauCRhBWOCWufauCRhKLgoIY3Jld19rZXkSIgog + MWYxMjhiZGI3YmFhNGI2NzcxNGYxZGFlZGMyZjNhYjZKMQoHY3Jld19pZBImCiQzM2Q1NTk3MS1i + ZmI2LTQ5MTgtODNhZC1iZWMxZmEyYzc0NjhKLgoIdGFza19rZXkSIgogNmFmYzRiMzk2MjU5ZmJi + NzY4MWY1NmM3NzU1Y2M5MzdKMQoHdGFza19pZBImCiQ2OGFmZjc3Ny04MTBjLTQ3ZDQtOWYyMi0y + MGVjZWFjZjdlMWF6AhgBhQEAAQAA + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1902' + Content-Type: + - application/x-protobuf + User-Agent: + - OTel-OTLP-Exporter-Python/1.27.0 + method: POST + uri: https://telemetry.crewai.com:4319/v1/traces + response: + body: + string: "\n\0" + headers: + Content-Length: + - '2' + Content-Type: + - application/x-protobuf + Date: + - Wed, 20 Nov 2024 13:05:09 GMT + status: + code: 200 + message: OK +- request: + body: '{"messages": [{"role": "system", "content": "You are plants Senior Data + Researcher\n. You''re a seasoned researcher with a knack for uncovering the + latest developments in plants. Known for your ability to find the most relevant + information and present it in a clear and concise manner.\n\nYour personal goal + is: Uncover cutting-edge developments in plants\n\nTo 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: 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: + Conduct a thorough research about plants Make sure you find any interesting + and relevant information given the current year is 2024.\n\n\nThis is the expect + criteria for your final answer: A list with 10 bullet points of the most relevant + information about plants\n\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-mini", "stop": ["\nObservation:"], "stream": false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '1250' + content-type: + - application/json + cookie: + - __cf_bm=CkK4UvBd9ukXvn50uJwGambJcz5zERAJfeXJ9xge6H4-1732107842-1.0.1.1-IOK2yVL3RlD75MgmnKzIEyE38HNknwn6I8BBJ1wjGz4jCTd0YWIBPnvUm9gB8D_zLlUA9G7p_wbrfyc4mO_Bmg; + _cfuvid=MmeN9oHWrBLThkEJdaSFHBfWe95JvA8iFnnt7CC92tk-1732107842102-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - x64 + 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-AVegEGAMTASvlfwjAjy5PsqGwtN6X\",\n \"object\": + \"chat.completion\",\n \"created\": 1732107906,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer \\nFinal + Answer: \\n1. **Plant-Based Plastics**: 2024 has seen significant advancements + in bioplastics derived from plants such as corn and sugarcane, which are being + used as sustainable alternatives to petroleum-based plastics. These innovations + aim to reduce plastic waste and reliance on fossil fuels.\\n\\n2. **Gene Editing + Breakthroughs**: CRISPR technology continues to revolutionize agricultural practices. + Researchers have developed genetically modified crops that are more resistant + to pests and diseases, thereby decreasing the need for chemical pesticides and + increasing food security.\\n\\n3. **Vertical Farming Expansion**: Urban agriculture + has gained momentum with vertical farming techniques that utilize less water + and space. In 2024, cities worldwide are adopting these innovative systems to + meet the growing food demand while reducing transportation emissions.\\n\\n4. + **Climate-Resilient Plants**: Scientists are identifying and breeding plant + varieties that can withstand extreme weather conditions such as droughts, floods, + and high temperatures, helping farmers adapt to climate change and ensuring + crop yields remain stable.\\n\\n5. **Edible Vaccines in Plants**: Research into + producing vaccines in plants has progressed, with trials showing that certain + plants can be engineered to express antigens that could serve as edible vaccines, + offering a low-cost and easy delivery method for immunizations.\\n\\n6. **Fungi + and Plant Collaborations**: The study of mycorrhizal fungi and their symbiotic + relationships with plants has gained traction. Research indicates that these + fungi enhance nutrient uptake and enhance plant resilience to environmental + stressors, making them pivotal in sustainable agriculture.\\n\\n7. **Biophilic + Design**: The trend of integrating nature into architecture and urban planning + has expanded, with an emphasis on incorporating plants into building designs + to improve air quality, enhance mental well-being, and reduce overall energy + consumption.\\n\\n8. **Deciduous Trees and Urban Cooling**: Research shows that + strategically planted deciduous trees can significantly lower urban temperatures, + reduce energy consumption for cooling, and improve urban biodiversity, highlighting + the importance of green infrastructure.\\n\\n9. **Carnivorous Plant Studies**: + The understanding of carnivorous plants and their unique adaptations has advanced, + with findings suggesting potential applications in pest control and sustainable + agriculture due to their natural predatory methods.\\n\\n10. **Smart Agriculture + Technology**: The integration of IoT and AI in agriculture is revolutionizing + plant cultivation. Farmers now use sensors and data analytics to monitor plant + health in real-time, optimize water usage, and increase crop yields sustainably.\\n\\nThese + insights underline the ongoing research and innovations in the plant science + field that can lead to more sustainable and resilient agricultural practices + while addressing critical global challenges.\",\n \"refusal\": null\n + \ },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n + \ ],\n \"usage\": {\n \"prompt_tokens\": 227,\n \"completion_tokens\": + 529,\n \"total_tokens\": 756,\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_0705bf87c0\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8e58a64f3a306225-GRU + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Wed, 20 Nov 2024 13:05:13 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: + - '7289' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149999711' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_250abe3944c3c859e59c2c976b0a1248 + http_version: HTTP/1.1 + status_code: 200 +- request: + body: !!binary | + Cs4CCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkSpQIKEgoQY3Jld2FpLnRl + bGVtZXRyeRKOAgoQDrK/EDJCqiT+GyzEBtuJzBIIDx9rCaKAVKMqDFRhc2sgQ3JlYXRlZDABOTCH + rYH4rgkYQdCQroH4rgkYSi4KCGNyZXdfa2V5EiIKIDFmMTI4YmRiN2JhYTRiNjc3MTRmMWRhZWRj + MmYzYWI2SjEKB2NyZXdfaWQSJgokMzNkNTU5NzEtYmZiNi00OTE4LTgzYWQtYmVjMWZhMmM3NDY4 + Si4KCHRhc2tfa2V5EiIKIGIxN2IxODhkYmYxNGY5M2E5OGU1Yjk1YWFkMzY3NTc3SjEKB3Rhc2tf + aWQSJgokY2VmYWU3NTUtMzM3Ny00YTc5LWE0YzItNmQwOTljOTRiZGViegIYAYUBAAEAAA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '337' + Content-Type: + - application/x-protobuf + User-Agent: + - OTel-OTLP-Exporter-Python/1.27.0 + method: POST + uri: https://telemetry.crewai.com:4319/v1/traces + response: + body: + string: "\n\0" + headers: + Content-Length: + - '2' + Content-Type: + - application/x-protobuf + Date: + - Wed, 20 Nov 2024 13:05:19 GMT + status: + code: 200 + message: OK +- request: + body: '{"messages": [{"role": "system", "content": "You are plants Reporting Analyst\n. + You''re a meticulous analyst with a keen eye for detail. You''re known for your + ability to turn complex data into clear and concise reports, making it easy + for others to understand and act on the information you provide.\n\nYour personal + goal is: Create detailed reports based on plants data analysis and research + findings\n\nTo 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: 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: Review the context you got and expand each + topic into a full section for a report. Make sure the report is detailed and + contains any and all relevant information.\n\n\nThis is the expect criteria + for your final answer: A fully fledge reports with the mains topics, each with + a full section of information. Formatted as markdown without ''```''\n\nyou + MUST return the actual complete content as the final answer, not a summary.\n\nThis + is the context you''re working with:\n1. **Plant-Based Plastics**: 2024 has + seen significant advancements in bioplastics derived from plants such as corn + and sugarcane, which are being used as sustainable alternatives to petroleum-based + plastics. These innovations aim to reduce plastic waste and reliance on fossil + fuels.\n\n2. **Gene Editing Breakthroughs**: CRISPR technology continues to + revolutionize agricultural practices. Researchers have developed genetically + modified crops that are more resistant to pests and diseases, thereby decreasing + the need for chemical pesticides and increasing food security.\n\n3. **Vertical + Farming Expansion**: Urban agriculture has gained momentum with vertical farming + techniques that utilize less water and space. In 2024, cities worldwide are + adopting these innovative systems to meet the growing food demand while reducing + transportation emissions.\n\n4. **Climate-Resilient Plants**: Scientists are + identifying and breeding plant varieties that can withstand extreme weather + conditions such as droughts, floods, and high temperatures, helping farmers + adapt to climate change and ensuring crop yields remain stable.\n\n5. **Edible + Vaccines in Plants**: Research into producing vaccines in plants has progressed, + with trials showing that certain plants can be engineered to express antigens + that could serve as edible vaccines, offering a low-cost and easy delivery method + for immunizations.\n\n6. **Fungi and Plant Collaborations**: The study of mycorrhizal + fungi and their symbiotic relationships with plants has gained traction. Research + indicates that these fungi enhance nutrient uptake and enhance plant resilience + to environmental stressors, making them pivotal in sustainable agriculture.\n\n7. + **Biophilic Design**: The trend of integrating nature into architecture and + urban planning has expanded, with an emphasis on incorporating plants into building + designs to improve air quality, enhance mental well-being, and reduce overall + energy consumption.\n\n8. **Deciduous Trees and Urban Cooling**: Research shows + that strategically planted deciduous trees can significantly lower urban temperatures, + reduce energy consumption for cooling, and improve urban biodiversity, highlighting + the importance of green infrastructure.\n\n9. **Carnivorous Plant Studies**: + The understanding of carnivorous plants and their unique adaptations has advanced, + with findings suggesting potential applications in pest control and sustainable + agriculture due to their natural predatory methods.\n\n10. **Smart Agriculture + Technology**: The integration of IoT and AI in agriculture is revolutionizing + plant cultivation. Farmers now use sensors and data analytics to monitor plant + health in real-time, optimize water usage, and increase crop yields sustainably.\n\nThese + insights underline the ongoing research and innovations in the plant science + field that can lead to more sustainable and resilient agricultural practices + while addressing critical global challenges.\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-mini", "stop": ["\nObservation:"], "stream": + false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '4383' + content-type: + - application/json + cookie: + - __cf_bm=CkK4UvBd9ukXvn50uJwGambJcz5zERAJfeXJ9xge6H4-1732107842-1.0.1.1-IOK2yVL3RlD75MgmnKzIEyE38HNknwn6I8BBJ1wjGz4jCTd0YWIBPnvUm9gB8D_zLlUA9G7p_wbrfyc4mO_Bmg; + _cfuvid=MmeN9oHWrBLThkEJdaSFHBfWe95JvA8iFnnt7CC92tk-1732107842102-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.52.1 + x-stainless-arch: + - x64 + 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-AVegMn5Ai2jlIz10QbT0vQQ6TPvD0\",\n \"object\": + \"chat.completion\",\n \"created\": 1732107914,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer \\nFinal + Answer: \\n\\n# Comprehensive Report on Advancements in Plant Science (2024)\\n\\n## + 1. Plant-Based Plastics\\n2024 has witnessed remarkable progress in the development + of plant-based plastics, particularly those derived from renewable resources + such as corn and sugarcane. Unlike traditional petroleum-based plastics, these + bioplastics are designed to be more environmentally friendly, addressing pressing + concerns regarding plastic waste and the continuous reliance on fossil fuels. + The production processes have been optimized to ensure lower carbon footprints + and reduced greenhouse gas emissions. Moreover, major manufacturers are beginning + to scale up production of these materials, integrating them into a wide array + of products, from packaging to consumer goods, thereby offering sustainable + alternatives and contributing positively to circular economy initiatives.\\n\\n## + 2. Gene Editing Breakthroughs\\nThe introduction of CRISPR technology has emerged + as a game-changer in agricultural methodologies. In 2024, cutting-edge research + has led to the development of genetically modified crops that exhibit enhanced + resistance to pests and diseases. This advancement not only supports increased + food production but also significantly reduces dependency on chemical pesticides, + which can have detrimental effects on both environmental health and biodiversity. + By facilitating the creation of hardier crops, these innovations play a crucial + role in bolstering food security, enabling farmers to achieve higher yields + even under challenging agricultural conditions.\\n\\n## 3. Vertical Farming + Expansion\\nVertical farming techniques have surged in popularity as urban agriculture + continues to evolve in 2024. These innovative systems are engineered to optimize + space and resource usage, utilizing cutting-edge hydroponic and aeroponic methods + to grow food in controlled environments. Cities around the globe are implementing + vertical farms to tackle the increasing demand for fresh produce while simultaneously + minimizing transportation emissions and enhancing food security in urban settings. + By using significantly less water and land compared to traditional farming, + vertical farming represents a sustainable solution to urban food production + challenges in the face of rapid urbanization.\\n\\n## 4. Climate-Resilient Plants\\nIn + response to the unpredictable impacts of climate change, researchers are focused + on identifying and breeding plant varieties capable of enduring extreme weather + conditions, such as droughts, floods, and extreme temperatures. This initiative + aims to empower farmers with viable options to adapt to shifting climate patterns, + ensuring stable crop yields despite adverse environmental conditions. The development + of these climate-resilient plants is vital for maintaining food supply chains + and safeguarding agricultural biodiversity, ultimately contributing to the long-term + sustainability of farming practices.\\n\\n## 5. Edible Vaccines in Plants\\nInnovative + research in the area of edible vaccines is making significant strides in 2024. + Scientists are exploring the potential of genetically engineered plants to express + specific antigens that can serve as immunizations. These advancements hold promising + implications for public health, particularly in developing regions where traditional + vaccine delivery systems may be less feasible. Edible vaccines offer a cost-effective, + accessible, and non-invasive way to promote immunity against various diseases, + highlighting the intersection of agriculture and health science in addressing + global health challenges.\\n\\n## 6. Fungi and Plant Collaborations\\nThe symbiotic + relationships between mycorrhizal fungi and plants have gained increasing attention + in research circles. Studies conducted in 2024 reveal that these fungi enhance + nutrient uptake, improve soil health, and bolster plant resilience when faced + with environmental stressors, such as drought and soil degradation. The incorporation + of these beneficial fungi into sustainable agricultural practices not only promotes + plant health but also contributes to organic farming resiliency, highlighting + the importance of understanding and utilizing biological partnerships in cultivating + healthy crops.\\n\\n## 7. Biophilic Design\\nThe concept of biophilic design + continues to gain traction in architecture and urban planning throughout 2024, + underscoring the importance of integrating nature into built environments. This + approach encourages the incorporation of plants and green spaces into architectural + designs, enhancing air quality and promoting mental well-being. By reducing + reliance on artificial heating and cooling systems, biophilic design offers + opportunities to lower overall energy consumption. As cities recognize the benefits + of urban greenery, significant investments are being made to create healthier, + more sustainable urban ecosystems.\\n\\n## 8. Deciduous Trees and Urban Cooling\\nResearch + conducted this year has demonstrated that strategic planting of deciduous trees + in urban areas can lead to significant temperature reductions. These trees act + as natural air conditioners by providing shade and releasing moisture. The benefits + extend beyond cooling cities\u2014for instance, they contribute to lower energy + consumption for air conditioning, enhance local biodiversity, and improve overall + urban livability. Understanding the role of green infrastructure in combating + urban heat islands is essential for developing climate-responsive cities.\\n\\n## + 9. Carnivorous Plant Studies\\nRecent advancements in the study of carnivorous + plants reveal exciting potential applications in sustainable pest control and + agriculture. By understanding their unique adaptations and natural predatory + methods, researchers envision the use of these plants as biological pest management + tools in crop production. In 2024, interest in harnessing the ecological roles + of these plants may lead to more sustainable farming practices, alleviating + the need for chemical pesticides and promoting healthier ecosystems.\\n\\n## + 10. Smart Agriculture Technology\\nThe integration of Internet of Things (IoT) + and Artificial Intelligence (AI) into agriculture has transformed how farming + is conducted in 2024. Smart agriculture technologies enable farmers to monitor + plant health, soil conditions, and microclimates through advanced sensors and + data analytics. This real-time data helps optimize water usage, elevate crop + yields, and foster sustainable farming practices. As farmers harness these technological + advancements, the sector moves toward a more efficient and environmentally conscious + model of production.\\n\\nIn conclusion, these insights reflect ongoing research + and innovation in the field of plant science, laying the groundwork for more + sustainable and resilient agricultural practices. As the world faces critical + global challenges, these advancements illustrate the potential to leverage plant + science in creating solutions that address both environmental concerns and food + security.\",\n \"refusal\": null\n },\n \"logprobs\": null,\n + \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 777,\n \"completion_tokens\": 1163,\n \"total_tokens\": 1940,\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_0705bf87c0\"\n}\n" + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8e58a67f18856225-GRU + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Wed, 20 Nov 2024 13:05:35 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: + - '20960' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149998934' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_1a11ba8b9c0cb1803e99cd95fa1fb890 + http_version: HTTP/1.1 + status_code: 200 +version: 1 From 6774bc2c53d6a81acf104be9ad6e82f4beb5a543 Mon Sep 17 00:00:00 2001 From: Gui Vieira Date: Wed, 20 Nov 2024 16:08:08 -0300 Subject: [PATCH 5/8] Make mypy happy --- src/crewai/crew.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/crewai/crew.py b/src/crewai/crew.py index fb03acb5bc..7f55399768 100644 --- a/src/crewai/crew.py +++ b/src/crewai/crew.py @@ -486,8 +486,8 @@ def kickoff( self, inputs: Optional[Dict[str, Any]] = None, ) -> CrewOutput: - for callback in self.before_kickoff_callbacks: - inputs = callback(inputs) + for before_callback in self.before_kickoff_callbacks: + inputs = before_callback(inputs) """Starts the crew to work on its assigned tasks.""" self._execution_span = self._telemetry.crew_execution_span(self, inputs) @@ -531,8 +531,8 @@ def kickoff( f"The process '{self.process}' is not implemented yet." ) - for callback in self.after_kickoff_callbacks: - result = callback(result) + for after_callback in self.after_kickoff_callbacks: + result = after_callback(result) metrics += [agent._token_process.get_summary() for agent in self.agents] From 14a36d3f5efef6772bce705955a2a024f7afa74c Mon Sep 17 00:00:00 2001 From: "Brandon Hancock (bhancock_ai)" <109994880+bhancockio@users.noreply.github.com> Date: Wed, 20 Nov 2024 18:40:08 -0500 Subject: [PATCH 6/8] Knowledge (#1567) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * initial knowledge * WIP * Adding core knowledge sources * Improve types and better support for file paths * added additional sources * fix linting * update yaml to include optional deps * adding in lorenze feedback * ensure embeddings are persisted * improvements all around Knowledge class * return this * properly reset memory * properly reset memory+knowledge * consolodation and improvements * linted * cleanup rm unused embedder * fix test * fix duplicate * generating cassettes for knowledge test * updated default embedder * None embedder to use default on pipeline cloning * improvements * fixed text_file_knowledge * mypysrc fixes * type check fixes * added extra cassette * just mocks * linted * mock knowledge query to not spin up db * linted * verbose run * put a flag * fix * adding docs * better docs * improvements from review * more docs * linted * rm print * more fixes * clearer docs * added docstrings and type hints for cli --------- Co-authored-by: João Moura Co-authored-by: Lorenze Jay --- .github/workflows/tests.yml | 4 +- docs/concepts/knowledge.mdx | 75 +++ pyproject.toml | 10 + src/crewai/__init__.py | 14 +- src/crewai/agent.py | 15 +- src/crewai/cli/cli.py | 14 +- src/crewai/cli/reset_memories_command.py | 15 +- src/crewai/crew.py | 14 + src/crewai/knowledge/__init__.py | 0 src/crewai/knowledge/embedder/__init__.py | 0 .../knowledge/embedder/base_embedder.py | 55 ++ src/crewai/knowledge/embedder/fastembed.py | 93 +++ src/crewai/knowledge/knowledge.py | 54 ++ src/crewai/knowledge/source/__init__.py | 0 .../source/base_file_knowledge_source.py | 36 ++ .../knowledge/source/base_knowledge_source.py | 48 ++ .../knowledge/source/csv_knowledge_source.py | 44 ++ .../source/excel_knowledge_source.py | 56 ++ .../knowledge/source/json_knowledge_source.py | 54 ++ .../knowledge/source/pdf_knowledge_source.py | 54 ++ .../source/string_knowledge_source.py | 33 ++ .../source/text_file_knowledge_source.py | 35 ++ src/crewai/knowledge/storage/__init__.py | 0 .../storage/base_knowledge_storage.py | 29 + .../knowledge/storage/knowledge_storage.py | 132 +++++ src/crewai/memory/storage/rag_storage.py | 134 +---- src/crewai/utilities/__init__.py | 2 + src/crewai/utilities/constants.py | 1 + .../utilities/embedding_configurator.py | 183 ++++++ tests/agent_test.py | 42 +- .../test_agent_with_knowledge_sources.yaml | 115 ++++ .../test_kickoff_for_each_error_handling.yaml | 232 ++++++++ tests/knowledge/__init__.py | 0 tests/knowledge/crewai_quickstart.pdf | Bin 0 -> 952178 bytes tests/knowledge/knowledge_test.py | 545 ++++++++++++++++++ tests/pipeline/test_pipeline.py | 2 + uv.lock | 434 +++++++++----- 37 files changed, 2305 insertions(+), 269 deletions(-) create mode 100644 docs/concepts/knowledge.mdx create mode 100644 src/crewai/knowledge/__init__.py create mode 100644 src/crewai/knowledge/embedder/__init__.py create mode 100644 src/crewai/knowledge/embedder/base_embedder.py create mode 100644 src/crewai/knowledge/embedder/fastembed.py create mode 100644 src/crewai/knowledge/knowledge.py create mode 100644 src/crewai/knowledge/source/__init__.py create mode 100644 src/crewai/knowledge/source/base_file_knowledge_source.py create mode 100644 src/crewai/knowledge/source/base_knowledge_source.py create mode 100644 src/crewai/knowledge/source/csv_knowledge_source.py create mode 100644 src/crewai/knowledge/source/excel_knowledge_source.py create mode 100644 src/crewai/knowledge/source/json_knowledge_source.py create mode 100644 src/crewai/knowledge/source/pdf_knowledge_source.py create mode 100644 src/crewai/knowledge/source/string_knowledge_source.py create mode 100644 src/crewai/knowledge/source/text_file_knowledge_source.py create mode 100644 src/crewai/knowledge/storage/__init__.py create mode 100644 src/crewai/knowledge/storage/base_knowledge_storage.py create mode 100644 src/crewai/knowledge/storage/knowledge_storage.py create mode 100644 src/crewai/utilities/embedding_configurator.py create mode 100644 tests/cassettes/test_agent_with_knowledge_sources.yaml create mode 100644 tests/cassettes/test_kickoff_for_each_error_handling.yaml create mode 100644 tests/knowledge/__init__.py create mode 100644 tests/knowledge/crewai_quickstart.pdf create mode 100644 tests/knowledge/knowledge_test.py diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 04f6693d03..76ef2a611a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -26,7 +26,7 @@ jobs: run: uv python install 3.11.9 - name: Install the project - run: uv sync --dev + run: uv sync --dev --all-extras - name: Run tests - run: uv run pytest tests + run: uv run pytest tests -vv diff --git a/docs/concepts/knowledge.mdx b/docs/concepts/knowledge.mdx new file mode 100644 index 0000000000..2afb1b5689 --- /dev/null +++ b/docs/concepts/knowledge.mdx @@ -0,0 +1,75 @@ +--- +title: Knowledge +description: What is knowledge in CrewAI and how to use it. +icon: book +--- + +# Using Knowledge in CrewAI + +## Introduction + +The Knowledge class in CrewAI provides a powerful way to manage and query knowledge sources for your AI agents. This guide will show you how to implement knowledge management in your CrewAI projects. +Additionally, we have specific tools for generate knowledge sources for strings, text files, PDF's, and Spreadsheets. You can expand on any source type by extending the `KnowledgeSource` class. + +## Basic Implementation + +Here's a simple example of how to use the Knowledge class: + +```python +from crewai import Agent, Task, Crew, Process, LLM +from crewai.knowledge.source.string_knowledge_source import StringKnowledgeSource + +# Create a knowledge source +content = "Users name is John. He is 30 years old and lives in San Francisco." +string_source = StringKnowledgeSource( + content=content, metadata={"preference": "personal"} +) + + +llm = LLM(model="gpt-4o-mini", temperature=0) + # Create an agent with the knowledge store +agent = Agent( + role="About User", + goal="You know everything about the user.", + backstory="""You are a master at understanding people and their preferences.""", + verbose=True, + allow_delegation=False, + llm=llm, +) +task = Task( + description="Answer the following questions about the user: {question}", + expected_output="An answer to the question.", + agent=agent, +) + +crew = Crew( + agents=[agent], + tasks=[task], + verbose=True, + process=Process.sequential, + knowledge={"sources": [string_source], "metadata": {"preference": "personal"}}, # Enable knowledge by adding the sources here. You can also add more sources to the sources list. +) + +result = crew.kickoff(inputs={"question": "What city does John live in and how old is he?"}) +``` + + +## Embedder Configuration + +You can also configure the embedder for the knowledge store. This is useful if you want to use a different embedder for the knowledge store than the one used for the agents. + +```python +... +string_source = StringKnowledgeSource( + content="Users name is John. He is 30 years old and lives in San Francisco.", + metadata={"preference": "personal"} +) +crew = Crew( + ... + knowledge={ + "sources": [string_source], + "metadata": {"preference": "personal"}, + "embedder_config": {"provider": "openai", "config": {"model": "text-embedding-3-small"}}, + }, +) +``` diff --git a/pyproject.toml b/pyproject.toml index 5955baf330..2dbc00e24e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,6 +39,16 @@ Repository = "https://github.com/crewAIInc/crewAI" [project.optional-dependencies] tools = ["crewai-tools>=0.14.0"] agentops = ["agentops>=0.3.0"] +fastembed = ["fastembed>=0.4.1"] +pdfplumber = [ + "pdfplumber>=0.11.4", +] +pandas = [ + "pandas>=2.2.3", +] +openpyxl = [ + "openpyxl>=3.1.5", +] mem0 = ["mem0ai>=0.1.29"] [tool.uv] diff --git a/src/crewai/__init__.py b/src/crewai/__init__.py index fbad09663f..6cfa381de0 100644 --- a/src/crewai/__init__.py +++ b/src/crewai/__init__.py @@ -1,7 +1,9 @@ import warnings + from crewai.agent import Agent from crewai.crew import Crew from crewai.flow.flow import Flow +from crewai.knowledge.knowledge import Knowledge from crewai.llm import LLM from crewai.pipeline import Pipeline from crewai.process import Process @@ -15,4 +17,14 @@ module="pydantic.main", ) __version__ = "0.80.0" -__all__ = ["Agent", "Crew", "Process", "Task", "Pipeline", "Router", "LLM", "Flow"] +__all__ = [ + "Agent", + "Crew", + "Process", + "Task", + "Pipeline", + "Router", + "LLM", + "Flow", + "Knowledge", +] diff --git a/src/crewai/agent.py b/src/crewai/agent.py index 4e9a0685f5..d17cbbdfed 100644 --- a/src/crewai/agent.py +++ b/src/crewai/agent.py @@ -11,8 +11,8 @@ from crewai.cli.constants import ENV_VARS from crewai.llm import LLM from crewai.memory.contextual.contextual_memory import ContextualMemory -from crewai.tools.agent_tools.agent_tools import AgentTools from crewai.tools import BaseTool +from crewai.tools.agent_tools.agent_tools import AgentTools from crewai.utilities import Converter, Prompts from crewai.utilities.constants import TRAINED_AGENTS_DATA_FILE, TRAINING_DATA_FILE from crewai.utilities.token_counter_callback import TokenCalcHandler @@ -52,6 +52,7 @@ class Agent(BaseAgent): role: The role of the agent. goal: The objective of the agent. backstory: The backstory of the agent. + knowledge: The knowledge base of the agent. config: Dict representation of agent configuration. llm: The language model that will run the agent. function_calling_llm: The language model that will handle the tool calling for this agent, it overrides the crew function_calling_llm. @@ -272,6 +273,18 @@ def execute_task( if memory.strip() != "": task_prompt += self.i18n.slice("memory").format(memory=memory) + # Integrate the knowledge base + if self.crew and self.crew.knowledge: + knowledge_snippets = self.crew.knowledge.query([task.prompt()]) + valid_snippets = [ + result["context"] + for result in knowledge_snippets + if result and result.get("context") + ] + if valid_snippets: + formatted_knowledge = "\n".join(valid_snippets) + task_prompt += f"\n\nAdditional Information:\n{formatted_knowledge}" + tools = tools or self.tools or [] self.create_agent_executor(tools=tools, task=task) diff --git a/src/crewai/cli/cli.py b/src/crewai/cli/cli.py index 0f43ff3f47..600eb6142b 100644 --- a/src/crewai/cli/cli.py +++ b/src/crewai/cli/cli.py @@ -136,6 +136,7 @@ def log_tasks_outputs() -> None: @click.option("-l", "--long", is_flag=True, help="Reset LONG TERM memory") @click.option("-s", "--short", is_flag=True, help="Reset SHORT TERM memory") @click.option("-e", "--entities", is_flag=True, help="Reset ENTITIES memory") +@click.option("-kn", "--knowledge", is_flag=True, help="Reset KNOWLEDGE storage") @click.option( "-k", "--kickoff-outputs", @@ -143,17 +144,24 @@ def log_tasks_outputs() -> None: help="Reset LATEST KICKOFF TASK OUTPUTS", ) @click.option("-a", "--all", is_flag=True, help="Reset ALL memories") -def reset_memories(long, short, entities, kickoff_outputs, all): +def reset_memories( + long: bool, + short: bool, + entities: bool, + knowledge: bool, + kickoff_outputs: bool, + all: bool, +) -> None: """ Reset the crew memories (long, short, entity, latest_crew_kickoff_ouputs). This will delete all the data saved. """ try: - if not all and not (long or short or entities or kickoff_outputs): + if not all and not (long or short or entities or knowledge or kickoff_outputs): click.echo( "Please specify at least one memory type to reset using the appropriate flags." ) return - reset_memories_command(long, short, entities, kickoff_outputs, all) + reset_memories_command(long, short, entities, knowledge, kickoff_outputs, all) except Exception as e: click.echo(f"An error occurred while resetting memories: {e}", err=True) diff --git a/src/crewai/cli/reset_memories_command.py b/src/crewai/cli/reset_memories_command.py index c4808594fa..31624cfc34 100644 --- a/src/crewai/cli/reset_memories_command.py +++ b/src/crewai/cli/reset_memories_command.py @@ -5,9 +5,17 @@ from crewai.memory.long_term.long_term_memory import LongTermMemory from crewai.memory.short_term.short_term_memory import ShortTermMemory from crewai.utilities.task_output_storage_handler import TaskOutputStorageHandler +from crewai.knowledge.storage.knowledge_storage import KnowledgeStorage -def reset_memories_command(long, short, entity, kickoff_outputs, all) -> None: +def reset_memories_command( + long, + short, + entity, + knowledge, + kickoff_outputs, + all, +) -> None: """ Reset the crew memories. @@ -17,6 +25,7 @@ def reset_memories_command(long, short, entity, kickoff_outputs, all) -> None: entity (bool): Whether to reset the entity memory. kickoff_outputs (bool): Whether to reset the latest kickoff task outputs. all (bool): Whether to reset all memories. + knowledge (bool): Whether to reset the knowledge. """ try: @@ -25,6 +34,7 @@ def reset_memories_command(long, short, entity, kickoff_outputs, all) -> None: EntityMemory().reset() LongTermMemory().reset() TaskOutputStorageHandler().reset() + KnowledgeStorage().reset() click.echo("All memories have been reset.") else: if long: @@ -40,6 +50,9 @@ def reset_memories_command(long, short, entity, kickoff_outputs, all) -> None: if kickoff_outputs: TaskOutputStorageHandler().reset() click.echo("Latest Kickoff outputs stored has been reset.") + if knowledge: + KnowledgeStorage().reset() + click.echo("Knowledge has been reset.") except subprocess.CalledProcessError as e: click.echo(f"An error occurred while resetting the memories: {e}", err=True) diff --git a/src/crewai/crew.py b/src/crewai/crew.py index 7f55399768..4c3886a3f4 100644 --- a/src/crewai/crew.py +++ b/src/crewai/crew.py @@ -27,6 +27,7 @@ from crewai.memory.entity.entity_memory import EntityMemory from crewai.memory.long_term.long_term_memory import LongTermMemory from crewai.memory.short_term.short_term_memory import ShortTermMemory +from crewai.knowledge.knowledge import Knowledge from crewai.memory.user.user_memory import UserMemory from crewai.process import Process from crewai.task import Task @@ -201,6 +202,10 @@ class Crew(BaseModel): default=[], description="List of execution logs for tasks", ) + knowledge: Optional[Dict[str, Any]] = Field( + default=None, description="Knowledge for the crew. Add knowledge sources to the knowledge object." + ) + @field_validator("id", mode="before") @classmethod @@ -275,6 +280,15 @@ def create_crew_memory(self) -> "Crew": self._user_memory = None return self + @model_validator(mode="after") + def create_crew_knowledge(self) -> "Crew": + if self.knowledge: + try: + self.knowledge = Knowledge(**self.knowledge) if isinstance(self.knowledge, dict) else self.knowledge + except (TypeError, ValueError) as e: + raise ValueError(f"Invalid knowledge configuration: {str(e)}") + return self + @model_validator(mode="after") def check_manager_llm(self): """Validates that the language model is set when using hierarchical process.""" diff --git a/src/crewai/knowledge/__init__.py b/src/crewai/knowledge/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/crewai/knowledge/embedder/__init__.py b/src/crewai/knowledge/embedder/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/crewai/knowledge/embedder/base_embedder.py b/src/crewai/knowledge/embedder/base_embedder.py new file mode 100644 index 0000000000..c3252bf432 --- /dev/null +++ b/src/crewai/knowledge/embedder/base_embedder.py @@ -0,0 +1,55 @@ +from abc import ABC, abstractmethod +from typing import List + +import numpy as np + + +class BaseEmbedder(ABC): + """ + Abstract base class for text embedding models + """ + + @abstractmethod + def embed_chunks(self, chunks: List[str]) -> np.ndarray: + """ + Generate embeddings for a list of text chunks + + Args: + chunks: List of text chunks to embed + + Returns: + Array of embeddings + """ + pass + + @abstractmethod + def embed_texts(self, texts: List[str]) -> np.ndarray: + """ + Generate embeddings for a list of texts + + Args: + texts: List of texts to embed + + Returns: + Array of embeddings + """ + pass + + @abstractmethod + def embed_text(self, text: str) -> np.ndarray: + """ + Generate embedding for a single text + + Args: + text: Text to embed + + Returns: + Embedding array + """ + pass + + @property + @abstractmethod + def dimension(self) -> int: + """Get the dimension of the embeddings""" + pass diff --git a/src/crewai/knowledge/embedder/fastembed.py b/src/crewai/knowledge/embedder/fastembed.py new file mode 100644 index 0000000000..54db116431 --- /dev/null +++ b/src/crewai/knowledge/embedder/fastembed.py @@ -0,0 +1,93 @@ +from pathlib import Path +from typing import List, Optional, Union + +import numpy as np + +from .base_embedder import BaseEmbedder + +try: + from fastembed_gpu import TextEmbedding # type: ignore + + FASTEMBED_AVAILABLE = True +except ImportError: + try: + from fastembed import TextEmbedding + + FASTEMBED_AVAILABLE = True + except ImportError: + FASTEMBED_AVAILABLE = False + + +class FastEmbed(BaseEmbedder): + """ + A wrapper class for text embedding models using FastEmbed + """ + + def __init__( + self, + model_name: str = "BAAI/bge-small-en-v1.5", + cache_dir: Optional[Union[str, Path]] = None, + ): + """ + Initialize the embedding model + + Args: + model_name: Name of the model to use + cache_dir: Directory to cache the model + gpu: Whether to use GPU acceleration + """ + if not FASTEMBED_AVAILABLE: + raise ImportError( + "FastEmbed is not installed. Please install it with: " + "uv pip install fastembed or uv pip install fastembed-gpu for GPU support" + ) + + self.model = TextEmbedding( + model_name=model_name, + cache_dir=str(cache_dir) if cache_dir else None, + ) + + def embed_chunks(self, chunks: List[str]) -> List[np.ndarray]: + """ + Generate embeddings for a list of text chunks + + Args: + chunks: List of text chunks to embed + + Returns: + List of embeddings + """ + embeddings = list(self.model.embed(chunks)) + return embeddings + + def embed_texts(self, texts: List[str]) -> List[np.ndarray]: + """ + Generate embeddings for a list of texts + + Args: + texts: List of texts to embed + + Returns: + List of embeddings + """ + embeddings = list(self.model.embed(texts)) + return embeddings + + def embed_text(self, text: str) -> np.ndarray: + """ + Generate embedding for a single text + + Args: + text: Text to embed + + Returns: + Embedding array + """ + return self.embed_texts([text])[0] + + @property + def dimension(self) -> int: + """Get the dimension of the embeddings""" + # Generate a test embedding to get dimensions + test_embed = self.embed_text("test") + return len(test_embed) diff --git a/src/crewai/knowledge/knowledge.py b/src/crewai/knowledge/knowledge.py new file mode 100644 index 0000000000..cf2907e670 --- /dev/null +++ b/src/crewai/knowledge/knowledge.py @@ -0,0 +1,54 @@ +import os + +from typing import List, Optional, Dict, Any +from pydantic import BaseModel, ConfigDict, Field + +from crewai.knowledge.source.base_knowledge_source import BaseKnowledgeSource +from crewai.knowledge.storage.knowledge_storage import KnowledgeStorage +from crewai.utilities.logger import Logger +from crewai.utilities.constants import DEFAULT_SCORE_THRESHOLD +os.environ["TOKENIZERS_PARALLELISM"] = "false" # removes logging from fastembed + + +class Knowledge(BaseModel): + """ + Knowledge is a collection of sources and setup for the vector store to save and query relevant context. + Args: + sources: List[BaseKnowledgeSource] = Field(default_factory=list) + storage: KnowledgeStorage = Field(default_factory=KnowledgeStorage) + embedder_config: Optional[Dict[str, Any]] = None + """ + sources: List[BaseKnowledgeSource] = Field(default_factory=list) + model_config = ConfigDict(arbitrary_types_allowed=True) + storage: KnowledgeStorage = Field(default_factory=KnowledgeStorage) + embedder_config: Optional[Dict[str, Any]] = None + + def __init__(self, embedder_config: Optional[Dict[str, Any]] = None, **data): + super().__init__(**data) + self.storage = KnowledgeStorage(embedder_config=embedder_config or None) + + try: + for source in self.sources: + source.add() + except Exception as e: + Logger(verbose=True).log( + "warning", + f"Failed to init knowledge: {e}", + color="yellow", + ) + + def query( + self, query: List[str], limit: int = 3, preference: Optional[str] = None + ) -> List[Dict[str, Any]]: + """ + Query across all knowledge sources to find the most relevant information. + Returns the top_k most relevant chunks. + """ + + results = self.storage.search( + query, + limit, + filter={"preference": preference} if preference else None, + score_threshold=DEFAULT_SCORE_THRESHOLD, + ) + return results diff --git a/src/crewai/knowledge/source/__init__.py b/src/crewai/knowledge/source/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/crewai/knowledge/source/base_file_knowledge_source.py b/src/crewai/knowledge/source/base_file_knowledge_source.py new file mode 100644 index 0000000000..b6e3465342 --- /dev/null +++ b/src/crewai/knowledge/source/base_file_knowledge_source.py @@ -0,0 +1,36 @@ +from pathlib import Path +from typing import Union, List + +from pydantic import Field + +from crewai.knowledge.source.base_knowledge_source import BaseKnowledgeSource +from typing import Dict, Any +from crewai.knowledge.storage.knowledge_storage import KnowledgeStorage + + +class BaseFileKnowledgeSource(BaseKnowledgeSource): + """Base class for knowledge sources that load content from files.""" + + file_path: Union[Path, List[Path]] = Field(...) + content: Dict[Path, str] = Field(init=False, default_factory=dict) + storage: KnowledgeStorage = Field(default_factory=KnowledgeStorage) + + def model_post_init(self, _): + """Post-initialization method to load content.""" + self.content = self.load_content() + + def load_content(self) -> Dict[Path, str]: + """Load and preprocess file content. Should be overridden by subclasses.""" + paths = [self.file_path] if isinstance(self.file_path, Path) else self.file_path + + for path in paths: + if not path.exists(): + raise FileNotFoundError(f"File not found: {path}") + if not path.is_file(): + raise ValueError(f"Path is not a file: {path}") + return {} + + def save_documents(self, metadata: Dict[str, Any]): + """Save the documents to the storage.""" + chunk_metadatas = [metadata.copy() for _ in self.chunks] + self.storage.save(self.chunks, chunk_metadatas) diff --git a/src/crewai/knowledge/source/base_knowledge_source.py b/src/crewai/knowledge/source/base_knowledge_source.py new file mode 100644 index 0000000000..bb4c69cf39 --- /dev/null +++ b/src/crewai/knowledge/source/base_knowledge_source.py @@ -0,0 +1,48 @@ +from abc import ABC, abstractmethod +from typing import List, Dict, Any + +import numpy as np +from pydantic import BaseModel, ConfigDict, Field + +from crewai.knowledge.storage.knowledge_storage import KnowledgeStorage + + +class BaseKnowledgeSource(BaseModel, ABC): + """Abstract base class for knowledge sources.""" + + chunk_size: int = 4000 + chunk_overlap: int = 200 + chunks: List[str] = Field(default_factory=list) + chunk_embeddings: List[np.ndarray] = Field(default_factory=list) + + model_config = ConfigDict(arbitrary_types_allowed=True) + storage: KnowledgeStorage = Field(default_factory=KnowledgeStorage) + metadata: Dict[str, Any] = Field(default_factory=dict) + + @abstractmethod + def load_content(self) -> Dict[Any, str]: + """Load and preprocess content from the source.""" + pass + + @abstractmethod + def add(self) -> None: + """Process content, chunk it, compute embeddings, and save them.""" + pass + + def get_embeddings(self) -> List[np.ndarray]: + """Return the list of embeddings for the chunks.""" + return self.chunk_embeddings + + def _chunk_text(self, text: str) -> List[str]: + """Utility method to split text into chunks.""" + return [ + text[i : i + self.chunk_size] + for i in range(0, len(text), self.chunk_size - self.chunk_overlap) + ] + + def save_documents(self, metadata: Dict[str, Any]): + """ + Save the documents to the storage. + This method should be called after the chunks and embeddings are generated. + """ + self.storage.save(self.chunks, metadata) diff --git a/src/crewai/knowledge/source/csv_knowledge_source.py b/src/crewai/knowledge/source/csv_knowledge_source.py new file mode 100644 index 0000000000..0946104a46 --- /dev/null +++ b/src/crewai/knowledge/source/csv_knowledge_source.py @@ -0,0 +1,44 @@ +import csv +from typing import Dict, List +from pathlib import Path + +from crewai.knowledge.source.base_file_knowledge_source import BaseFileKnowledgeSource + + +class CSVKnowledgeSource(BaseFileKnowledgeSource): + """A knowledge source that stores and queries CSV file content using embeddings.""" + + def load_content(self) -> Dict[Path, str]: + """Load and preprocess CSV file content.""" + super().load_content() # Validate the file path + + file_path = ( + self.file_path[0] if isinstance(self.file_path, list) else self.file_path + ) + file_path = Path(file_path) if isinstance(file_path, str) else file_path + + with open(file_path, "r", encoding="utf-8") as csvfile: + reader = csv.reader(csvfile) + content = "" + for row in reader: + content += " ".join(row) + "\n" + return {file_path: content} + + def add(self) -> None: + """ + Add CSV file content to the knowledge source, chunk it, compute embeddings, + and save the embeddings. + """ + content_str = ( + str(self.content) if isinstance(self.content, dict) else self.content + ) + new_chunks = self._chunk_text(content_str) + self.chunks.extend(new_chunks) + self.save_documents(metadata=self.metadata) + + def _chunk_text(self, text: str) -> List[str]: + """Utility method to split text into chunks.""" + return [ + text[i : i + self.chunk_size] + for i in range(0, len(text), self.chunk_size - self.chunk_overlap) + ] diff --git a/src/crewai/knowledge/source/excel_knowledge_source.py b/src/crewai/knowledge/source/excel_knowledge_source.py new file mode 100644 index 0000000000..3b5c715146 --- /dev/null +++ b/src/crewai/knowledge/source/excel_knowledge_source.py @@ -0,0 +1,56 @@ +from typing import Dict, List +from pathlib import Path +from crewai.knowledge.source.base_file_knowledge_source import BaseFileKnowledgeSource + + +class ExcelKnowledgeSource(BaseFileKnowledgeSource): + """A knowledge source that stores and queries Excel file content using embeddings.""" + + def load_content(self) -> Dict[Path, str]: + """Load and preprocess Excel file content.""" + super().load_content() # Validate the file path + pd = self._import_dependencies() + + if isinstance(self.file_path, list): + file_path = self.file_path[0] + else: + file_path = self.file_path + + df = pd.read_excel(file_path) + content = df.to_csv(index=False) + return {file_path: content} + + def _import_dependencies(self): + """Dynamically import dependencies.""" + try: + import openpyxl # noqa + import pandas as pd + + return pd + except ImportError as e: + missing_package = str(e).split()[-1] + raise ImportError( + f"{missing_package} is not installed. Please install it with: pip install {missing_package}" + ) + + def add(self) -> None: + """ + Add Excel file content to the knowledge source, chunk it, compute embeddings, + and save the embeddings. + """ + # Convert dictionary values to a single string if content is a dictionary + if isinstance(self.content, dict): + content_str = "\n".join(str(value) for value in self.content.values()) + else: + content_str = str(self.content) + + new_chunks = self._chunk_text(content_str) + self.chunks.extend(new_chunks) + self.save_documents(metadata=self.metadata) + + def _chunk_text(self, text: str) -> List[str]: + """Utility method to split text into chunks.""" + return [ + text[i : i + self.chunk_size] + for i in range(0, len(text), self.chunk_size - self.chunk_overlap) + ] diff --git a/src/crewai/knowledge/source/json_knowledge_source.py b/src/crewai/knowledge/source/json_knowledge_source.py new file mode 100644 index 0000000000..490423a00b --- /dev/null +++ b/src/crewai/knowledge/source/json_knowledge_source.py @@ -0,0 +1,54 @@ +import json +from typing import Any, Dict, List +from pathlib import Path + +from crewai.knowledge.source.base_file_knowledge_source import BaseFileKnowledgeSource + + +class JSONKnowledgeSource(BaseFileKnowledgeSource): + """A knowledge source that stores and queries JSON file content using embeddings.""" + + def load_content(self) -> Dict[Path, str]: + """Load and preprocess JSON file content.""" + super().load_content() # Validate the file path + paths = [self.file_path] if isinstance(self.file_path, Path) else self.file_path + + content: Dict[Path, str] = {} + for path in paths: + with open(path, "r", encoding="utf-8") as json_file: + data = json.load(json_file) + content[path] = self._json_to_text(data) + return content + + def _json_to_text(self, data: Any, level: int = 0) -> str: + """Recursively convert JSON data to a text representation.""" + text = "" + indent = " " * level + if isinstance(data, dict): + for key, value in data.items(): + text += f"{indent}{key}: {self._json_to_text(value, level + 1)}\n" + elif isinstance(data, list): + for item in data: + text += f"{indent}- {self._json_to_text(item, level + 1)}\n" + else: + text += f"{str(data)}" + return text + + def add(self) -> None: + """ + Add JSON file content to the knowledge source, chunk it, compute embeddings, + and save the embeddings. + """ + content_str = ( + str(self.content) if isinstance(self.content, dict) else self.content + ) + new_chunks = self._chunk_text(content_str) + self.chunks.extend(new_chunks) + self.save_documents(metadata=self.metadata) + + def _chunk_text(self, text: str) -> List[str]: + """Utility method to split text into chunks.""" + return [ + text[i : i + self.chunk_size] + for i in range(0, len(text), self.chunk_size - self.chunk_overlap) + ] diff --git a/src/crewai/knowledge/source/pdf_knowledge_source.py b/src/crewai/knowledge/source/pdf_knowledge_source.py new file mode 100644 index 0000000000..623ba30a26 --- /dev/null +++ b/src/crewai/knowledge/source/pdf_knowledge_source.py @@ -0,0 +1,54 @@ +from typing import List, Dict +from pathlib import Path + +from crewai.knowledge.source.base_file_knowledge_source import BaseFileKnowledgeSource + + +class PDFKnowledgeSource(BaseFileKnowledgeSource): + """A knowledge source that stores and queries PDF file content using embeddings.""" + + def load_content(self) -> Dict[Path, str]: + """Load and preprocess PDF file content.""" + super().load_content() # Validate the file paths + pdfplumber = self._import_pdfplumber() + + paths = [self.file_path] if isinstance(self.file_path, Path) else self.file_path + content = {} + + for path in paths: + text = "" + with pdfplumber.open(path) as pdf: + for page in pdf.pages: + page_text = page.extract_text() + if page_text: + text += page_text + "\n" + content[path] = text + return content + + def _import_pdfplumber(self): + """Dynamically import pdfplumber.""" + try: + import pdfplumber + + return pdfplumber + except ImportError: + raise ImportError( + "pdfplumber is not installed. Please install it with: pip install pdfplumber" + ) + + def add(self) -> None: + """ + Add PDF file content to the knowledge source, chunk it, compute embeddings, + and save the embeddings. + """ + for _, text in self.content.items(): + new_chunks = self._chunk_text(text) + self.chunks.extend(new_chunks) + self.save_documents(metadata=self.metadata) + + def _chunk_text(self, text: str) -> List[str]: + """Utility method to split text into chunks.""" + return [ + text[i : i + self.chunk_size] + for i in range(0, len(text), self.chunk_size - self.chunk_overlap) + ] diff --git a/src/crewai/knowledge/source/string_knowledge_source.py b/src/crewai/knowledge/source/string_knowledge_source.py new file mode 100644 index 0000000000..d4c22e3c18 --- /dev/null +++ b/src/crewai/knowledge/source/string_knowledge_source.py @@ -0,0 +1,33 @@ +from typing import List + +from pydantic import Field + +from crewai.knowledge.source.base_knowledge_source import BaseKnowledgeSource + + +class StringKnowledgeSource(BaseKnowledgeSource): + """A knowledge source that stores and queries plain text content using embeddings.""" + + content: str = Field(...) + + def model_post_init(self, _): + """Post-initialization method to validate content.""" + self.load_content() + + def load_content(self): + """Validate string content.""" + if not isinstance(self.content, str): + raise ValueError("StringKnowledgeSource only accepts string content") + + def add(self) -> None: + """Add string content to the knowledge source, chunk it, compute embeddings, and save them.""" + new_chunks = self._chunk_text(self.content) + self.chunks.extend(new_chunks) + self.save_documents(metadata=self.metadata) + + def _chunk_text(self, text: str) -> List[str]: + """Utility method to split text into chunks.""" + return [ + text[i : i + self.chunk_size] + for i in range(0, len(text), self.chunk_size - self.chunk_overlap) + ] diff --git a/src/crewai/knowledge/source/text_file_knowledge_source.py b/src/crewai/knowledge/source/text_file_knowledge_source.py new file mode 100644 index 0000000000..640db4ef9c --- /dev/null +++ b/src/crewai/knowledge/source/text_file_knowledge_source.py @@ -0,0 +1,35 @@ +from typing import Dict, List +from pathlib import Path + +from crewai.knowledge.source.base_file_knowledge_source import BaseFileKnowledgeSource + + +class TextFileKnowledgeSource(BaseFileKnowledgeSource): + """A knowledge source that stores and queries text file content using embeddings.""" + + def load_content(self) -> Dict[Path, str]: + """Load and preprocess text file content.""" + super().load_content() + paths = [self.file_path] if isinstance(self.file_path, Path) else self.file_path + content = {} + for path in paths: + with path.open("r", encoding="utf-8") as f: + content[path] = f.read() # type: ignore + return content + + def add(self) -> None: + """ + Add text file content to the knowledge source, chunk it, compute embeddings, + and save the embeddings. + """ + for _, text in self.content.items(): + new_chunks = self._chunk_text(text) + self.chunks.extend(new_chunks) + self.save_documents(metadata=self.metadata) + + def _chunk_text(self, text: str) -> List[str]: + """Utility method to split text into chunks.""" + return [ + text[i : i + self.chunk_size] + for i in range(0, len(text), self.chunk_size - self.chunk_overlap) + ] diff --git a/src/crewai/knowledge/storage/__init__.py b/src/crewai/knowledge/storage/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/crewai/knowledge/storage/base_knowledge_storage.py b/src/crewai/knowledge/storage/base_knowledge_storage.py new file mode 100644 index 0000000000..78d370e04b --- /dev/null +++ b/src/crewai/knowledge/storage/base_knowledge_storage.py @@ -0,0 +1,29 @@ +from abc import ABC, abstractmethod +from typing import Dict, Any, List, Optional + + +class BaseKnowledgeStorage(ABC): + """Abstract base class for knowledge storage implementations.""" + + @abstractmethod + def search( + self, + query: List[str], + limit: int = 3, + filter: Optional[dict] = None, + score_threshold: float = 0.35, + ) -> List[Dict[str, Any]]: + """Search for documents in the knowledge base.""" + pass + + @abstractmethod + def save( + self, documents: List[str], metadata: Dict[str, Any] | List[Dict[str, Any]] + ) -> None: + """Save documents to the knowledge base.""" + pass + + @abstractmethod + def reset(self) -> None: + """Reset the knowledge base.""" + pass diff --git a/src/crewai/knowledge/storage/knowledge_storage.py b/src/crewai/knowledge/storage/knowledge_storage.py new file mode 100644 index 0000000000..b3d5ba7505 --- /dev/null +++ b/src/crewai/knowledge/storage/knowledge_storage.py @@ -0,0 +1,132 @@ +import contextlib +import io +import logging +import chromadb +import os +from crewai.utilities.paths import db_storage_path +from typing import Optional, List +from typing import Dict, Any +from crewai.utilities import EmbeddingConfigurator +from crewai.knowledge.storage.base_knowledge_storage import BaseKnowledgeStorage +import hashlib + + +@contextlib.contextmanager +def suppress_logging( + logger_name="chromadb.segment.impl.vector.local_persistent_hnsw", + level=logging.ERROR, +): + logger = logging.getLogger(logger_name) + original_level = logger.getEffectiveLevel() + logger.setLevel(level) + with ( + contextlib.redirect_stdout(io.StringIO()), + contextlib.redirect_stderr(io.StringIO()), + contextlib.suppress(UserWarning), + ): + yield + logger.setLevel(original_level) + + +class KnowledgeStorage(BaseKnowledgeStorage): + """ + Extends Storage to handle embeddings for memory entries, improving + search efficiency. + """ + + collection: Optional[chromadb.Collection] = None + + def __init__(self, embedder_config: Optional[Dict[str, Any]] = None): + self._initialize_app(embedder_config or {}) + + def search( + self, + query: List[str], + limit: int = 3, + filter: Optional[dict] = None, + score_threshold: float = 0.35, + ) -> List[Dict[str, Any]]: + with suppress_logging(): + if self.collection: + fetched = self.collection.query( + query_texts=query, + n_results=limit, + where=filter, + ) + results = [] + for i in range(len(fetched["ids"][0])): # type: ignore + result = { + "id": fetched["ids"][0][i], # type: ignore + "metadata": fetched["metadatas"][0][i], # type: ignore + "context": fetched["documents"][0][i], # type: ignore + "score": fetched["distances"][0][i], # type: ignore + } + if result["score"] >= score_threshold: # type: ignore + results.append(result) + return results + else: + raise Exception("Collection not initialized") + + def _initialize_app(self, embedder_config: Optional[Dict[str, Any]] = None): + import chromadb + from chromadb.config import Settings + + self._set_embedder_config(embedder_config) + + chroma_client = chromadb.PersistentClient( + path=f"{db_storage_path()}/knowledge", + settings=Settings(allow_reset=True), + ) + + self.app = chroma_client + + try: + self.collection = self.app.get_or_create_collection(name="knowledge") + except Exception: + raise Exception("Failed to create or get collection") + + def reset(self): + if self.app: + self.app.reset() + + def save( + self, documents: List[str], metadata: Dict[str, Any] | List[Dict[str, Any]] + ): + if self.collection: + metadatas = [metadata] if isinstance(metadata, dict) else metadata + + ids = [ + hashlib.sha256(doc.encode("utf-8")).hexdigest() for doc in documents + ] + + self.collection.upsert( + documents=documents, + metadatas=metadatas, + ids=ids, + ) + else: + raise Exception("Collection not initialized") + + def _create_default_embedding_function(self): + from chromadb.utils.embedding_functions.openai_embedding_function import ( + OpenAIEmbeddingFunction, + ) + + return OpenAIEmbeddingFunction( + api_key=os.getenv("OPENAI_API_KEY"), model_name="text-embedding-3-small" + ) + + def _set_embedder_config( + self, embedder_config: Optional[Dict[str, Any]] = None + ) -> None: + """Set the embedding configuration for the knowledge storage. + + Args: + embedder_config (Optional[Dict[str, Any]]): Configuration dictionary for the embedder. + If None or empty, defaults to the default embedding function. + """ + self.embedder_config = ( + EmbeddingConfigurator().configure_embedder(embedder_config) + if embedder_config + else self._create_default_embedding_function() + ) diff --git a/src/crewai/memory/storage/rag_storage.py b/src/crewai/memory/storage/rag_storage.py index 7af5fb5544..4023cf5584 100644 --- a/src/crewai/memory/storage/rag_storage.py +++ b/src/crewai/memory/storage/rag_storage.py @@ -4,13 +4,12 @@ import os import shutil import uuid -from typing import Any, Dict, List, Optional, cast -from chromadb import Documents, EmbeddingFunction, Embeddings +from typing import Any, Dict, List, Optional from chromadb.api import ClientAPI -from chromadb.api.types import validate_embedding_function from crewai.memory.storage.base_rag_storage import BaseRAGStorage from crewai.utilities.paths import db_storage_path +from crewai.utilities import EmbeddingConfigurator @contextlib.contextmanager @@ -51,133 +50,8 @@ def __init__(self, type, allow_reset=True, embedder_config=None, crew=None): self._initialize_app() def _set_embedder_config(self): - if self.embedder_config is None: - self.embedder_config = self._create_default_embedding_function() - - if isinstance(self.embedder_config, dict): - provider = self.embedder_config.get("provider") - config = self.embedder_config.get("config", {}) - model_name = config.get("model") - if provider == "openai": - from chromadb.utils.embedding_functions.openai_embedding_function import ( - OpenAIEmbeddingFunction, - ) - - self.embedder_config = OpenAIEmbeddingFunction( - api_key=config.get("api_key") or os.getenv("OPENAI_API_KEY"), - model_name=model_name, - ) - elif provider == "azure": - from chromadb.utils.embedding_functions.openai_embedding_function import ( - OpenAIEmbeddingFunction, - ) - - self.embedder_config = OpenAIEmbeddingFunction( - api_key=config.get("api_key"), - api_base=config.get("api_base"), - api_type=config.get("api_type", "azure"), - api_version=config.get("api_version"), - model_name=model_name, - ) - elif provider == "ollama": - from chromadb.utils.embedding_functions.ollama_embedding_function import ( - OllamaEmbeddingFunction, - ) - - self.embedder_config = OllamaEmbeddingFunction( - url=config.get("url", "http://localhost:11434/api/embeddings"), - model_name=model_name, - ) - elif provider == "vertexai": - from chromadb.utils.embedding_functions.google_embedding_function import ( - GoogleVertexEmbeddingFunction, - ) - - self.embedder_config = GoogleVertexEmbeddingFunction( - model_name=model_name, - api_key=config.get("api_key"), - ) - elif provider == "google": - from chromadb.utils.embedding_functions.google_embedding_function import ( - GoogleGenerativeAiEmbeddingFunction, - ) - - self.embedder_config = GoogleGenerativeAiEmbeddingFunction( - model_name=model_name, - api_key=config.get("api_key"), - ) - elif provider == "cohere": - from chromadb.utils.embedding_functions.cohere_embedding_function import ( - CohereEmbeddingFunction, - ) - - self.embedder_config = CohereEmbeddingFunction( - model_name=model_name, - api_key=config.get("api_key"), - ) - elif provider == "bedrock": - from chromadb.utils.embedding_functions.amazon_bedrock_embedding_function import ( - AmazonBedrockEmbeddingFunction, - ) - - self.embedder_config = AmazonBedrockEmbeddingFunction( - session=config.get("session"), - ) - elif provider == "huggingface": - from chromadb.utils.embedding_functions.huggingface_embedding_function import ( - HuggingFaceEmbeddingServer, - ) - - self.embedder_config = HuggingFaceEmbeddingServer( - url=config.get("api_url"), - ) - elif provider == "watson": - try: - import ibm_watsonx_ai.foundation_models as watson_models - from ibm_watsonx_ai import Credentials - from ibm_watsonx_ai.metanames import ( - EmbedTextParamsMetaNames as EmbedParams, - ) - except ImportError as e: - raise ImportError( - "IBM Watson dependencies are not installed. Please install them to use Watson embedding." - ) from e - - class WatsonEmbeddingFunction(EmbeddingFunction): - def __call__(self, input: Documents) -> Embeddings: - if isinstance(input, str): - input = [input] - - embed_params = { - EmbedParams.TRUNCATE_INPUT_TOKENS: 3, - EmbedParams.RETURN_OPTIONS: {"input_text": True}, - } - - embedding = watson_models.Embeddings( - model_id=config.get("model"), - params=embed_params, - credentials=Credentials( - api_key=config.get("api_key"), url=config.get("api_url") - ), - project_id=config.get("project_id"), - ) - - try: - embeddings = embedding.embed_documents(input) - return cast(Embeddings, embeddings) - - except Exception as e: - print("Error during Watson embedding:", e) - raise e - - self.embedder_config = WatsonEmbeddingFunction() - else: - raise Exception( - f"Unsupported embedding provider: {provider}, supported providers: [openai, azure, ollama, vertexai, google, cohere, huggingface, watson]" - ) - else: - validate_embedding_function(self.embedder_config) - self.embedder_config = self.embedder_config + configurator = EmbeddingConfigurator() + self.embedder_config = configurator.configure_embedder(self.embedder_config) def _initialize_app(self): import chromadb diff --git a/src/crewai/utilities/__init__.py b/src/crewai/utilities/__init__.py index 26d35a6ccd..dd6d9fa44f 100644 --- a/src/crewai/utilities/__init__.py +++ b/src/crewai/utilities/__init__.py @@ -10,6 +10,7 @@ from .exceptions.context_window_exceeding_exception import ( LLMContextLengthExceededException, ) +from .embedding_configurator import EmbeddingConfigurator __all__ = [ "Converter", @@ -23,4 +24,5 @@ "RPMController", "YamlParser", "LLMContextLengthExceededException", + "EmbeddingConfigurator", ] diff --git a/src/crewai/utilities/constants.py b/src/crewai/utilities/constants.py index 22cc2ffbe7..59f7899133 100644 --- a/src/crewai/utilities/constants.py +++ b/src/crewai/utilities/constants.py @@ -1,2 +1,3 @@ TRAINING_DATA_FILE = "training_data.pkl" TRAINED_AGENTS_DATA_FILE = "trained_agents_data.pkl" +DEFAULT_SCORE_THRESHOLD = 0.35 diff --git a/src/crewai/utilities/embedding_configurator.py b/src/crewai/utilities/embedding_configurator.py new file mode 100644 index 0000000000..f0f77ffca0 --- /dev/null +++ b/src/crewai/utilities/embedding_configurator.py @@ -0,0 +1,183 @@ +import os +from typing import Any, Dict, cast +from chromadb import EmbeddingFunction, Documents, Embeddings +from chromadb.api.types import validate_embedding_function + + +class EmbeddingConfigurator: + def __init__(self): + self.embedding_functions = { + "openai": self._configure_openai, + "azure": self._configure_azure, + "ollama": self._configure_ollama, + "vertexai": self._configure_vertexai, + "google": self._configure_google, + "cohere": self._configure_cohere, + "bedrock": self._configure_bedrock, + "huggingface": self._configure_huggingface, + "watson": self._configure_watson, + } + + def configure_embedder( + self, + embedder_config: Dict[str, Any] | None = None, + ) -> EmbeddingFunction: + """Configures and returns an embedding function based on the provided config.""" + if embedder_config is None: + return self._create_default_embedding_function() + + provider = embedder_config.get("provider") + config = embedder_config.get("config", {}) + model_name = config.get("model") + + if isinstance(provider, EmbeddingFunction): + try: + validate_embedding_function(provider) + return provider + except Exception as e: + raise ValueError(f"Invalid custom embedding function: {str(e)}") + + if provider not in self.embedding_functions: + raise Exception( + f"Unsupported embedding provider: {provider}, supported providers: {list(self.embedding_functions.keys())}" + ) + + return self.embedding_functions[provider](config, model_name) + + @staticmethod + def _create_default_embedding_function(): + from chromadb.utils.embedding_functions.openai_embedding_function import ( + OpenAIEmbeddingFunction, + ) + + return OpenAIEmbeddingFunction( + api_key=os.getenv("OPENAI_API_KEY"), model_name="text-embedding-3-small" + ) + + @staticmethod + def _configure_openai(config, model_name): + from chromadb.utils.embedding_functions.openai_embedding_function import ( + OpenAIEmbeddingFunction, + ) + + return OpenAIEmbeddingFunction( + api_key=config.get("api_key") or os.getenv("OPENAI_API_KEY"), + model_name=model_name, + ) + + @staticmethod + def _configure_azure(config, model_name): + from chromadb.utils.embedding_functions.openai_embedding_function import ( + OpenAIEmbeddingFunction, + ) + + return OpenAIEmbeddingFunction( + api_key=config.get("api_key"), + api_base=config.get("api_base"), + api_type=config.get("api_type", "azure"), + api_version=config.get("api_version"), + model_name=model_name, + ) + + @staticmethod + def _configure_ollama(config, model_name): + from chromadb.utils.embedding_functions.ollama_embedding_function import ( + OllamaEmbeddingFunction, + ) + + return OllamaEmbeddingFunction( + url=config.get("url", "http://localhost:11434/api/embeddings"), + model_name=model_name, + ) + + @staticmethod + def _configure_vertexai(config, model_name): + from chromadb.utils.embedding_functions.google_embedding_function import ( + GoogleVertexEmbeddingFunction, + ) + + return GoogleVertexEmbeddingFunction( + model_name=model_name, + api_key=config.get("api_key"), + ) + + @staticmethod + def _configure_google(config, model_name): + from chromadb.utils.embedding_functions.google_embedding_function import ( + GoogleGenerativeAiEmbeddingFunction, + ) + + return GoogleGenerativeAiEmbeddingFunction( + model_name=model_name, + api_key=config.get("api_key"), + ) + + @staticmethod + def _configure_cohere(config, model_name): + from chromadb.utils.embedding_functions.cohere_embedding_function import ( + CohereEmbeddingFunction, + ) + + return CohereEmbeddingFunction( + model_name=model_name, + api_key=config.get("api_key"), + ) + + @staticmethod + def _configure_bedrock(config, model_name): + from chromadb.utils.embedding_functions.amazon_bedrock_embedding_function import ( + AmazonBedrockEmbeddingFunction, + ) + + return AmazonBedrockEmbeddingFunction( + session=config.get("session"), + ) + + @staticmethod + def _configure_huggingface(config, model_name): + from chromadb.utils.embedding_functions.huggingface_embedding_function import ( + HuggingFaceEmbeddingServer, + ) + + return HuggingFaceEmbeddingServer( + url=config.get("api_url"), + ) + + @staticmethod + def _configure_watson(config, model_name): + try: + import ibm_watsonx_ai.foundation_models as watson_models + from ibm_watsonx_ai import Credentials + from ibm_watsonx_ai.metanames import EmbedTextParamsMetaNames as EmbedParams + except ImportError as e: + raise ImportError( + "IBM Watson dependencies are not installed. Please install them to use Watson embedding." + ) from e + + class WatsonEmbeddingFunction(EmbeddingFunction): + def __call__(self, input: Documents) -> Embeddings: + if isinstance(input, str): + input = [input] + + embed_params = { + EmbedParams.TRUNCATE_INPUT_TOKENS: 3, + EmbedParams.RETURN_OPTIONS: {"input_text": True}, + } + + embedding = watson_models.Embeddings( + model_id=config.get("model"), + params=embed_params, + credentials=Credentials( + api_key=config.get("api_key"), url=config.get("api_url") + ), + project_id=config.get("project_id"), + ) + + try: + embeddings = embedding.embed_documents(input) + return cast(Embeddings, embeddings) + except Exception as e: + print("Error during Watson embedding:", e) + raise e + + return WatsonEmbeddingFunction() diff --git a/tests/agent_test.py b/tests/agent_test.py index c4094d15cf..fb6ab22b81 100644 --- a/tests/agent_test.py +++ b/tests/agent_test.py @@ -10,10 +10,11 @@ from crewai.agents.cache import CacheHandler from crewai.agents.crew_agent_executor import CrewAgentExecutor from crewai.agents.parser import AgentAction, CrewAgentParser, OutputParserException +from crewai.knowledge.source.string_knowledge_source import StringKnowledgeSource from crewai.llm import LLM +from crewai.tools import tool from crewai.tools.tool_calling import InstructorToolCalling from crewai.tools.tool_usage import ToolUsage -from crewai.tools import tool from crewai.tools.tool_usage_events import ToolUsageFinished from crewai.utilities import RPMController from crewai.utilities.events import Emitter @@ -1574,3 +1575,42 @@ def test_agent_execute_task_with_ollama(): result = agent.execute_task(task) assert len(result.split(".")) == 2 assert "AI" in result or "artificial intelligence" in result.lower() + + +@pytest.mark.vcr(filter_headers=["authorization"]) +def test_agent_with_knowledge_sources(): + # Create a knowledge source with some content + content = "Brandon's favorite color is blue and he likes Mexican food." + string_source = StringKnowledgeSource( + content=content, metadata={"preference": "personal"} + ) + + + with patch('crewai.knowledge.storage.knowledge_storage.KnowledgeStorage') as MockKnowledge: + mock_knowledge_instance = MockKnowledge.return_value + mock_knowledge_instance.sources = [string_source] + mock_knowledge_instance.query.return_value = [{ + "content": content, + "metadata": {"preference": "personal"} + }] + + agent = Agent( + role="Information Agent", + goal="Provide information based on knowledge sources", + backstory="You have access to specific knowledge sources.", + llm=LLM(model="gpt-4o-mini"), + ) + + # Create a task that requires the agent to use the knowledge + task = Task( + description="What is Brandon's favorite color?", + expected_output="Brandon's favorite color.", + agent=agent, + ) + + crew = Crew(agents=[agent], tasks=[task]) + result = crew.kickoff() + + # Assert that the agent provides the correct information + assert "blue" in result.raw.lower() + diff --git a/tests/cassettes/test_agent_with_knowledge_sources.yaml b/tests/cassettes/test_agent_with_knowledge_sources.yaml new file mode 100644 index 0000000000..d483a19d2c --- /dev/null +++ b/tests/cassettes/test_agent_with_knowledge_sources.yaml @@ -0,0 +1,115 @@ +interactions: +- request: + body: '{"messages": [{"role": "system", "content": "You are Information Agent. + You have access to specific knowledge sources.\nYour personal goal is: Provide + information based on knowledge sources\nTo 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: 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: What is Brandon''s + favorite color?\n\nThis is the expect criteria for your final answer: Brandon''s + favorite color.\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-mini", "stop": ["\nObservation:"], "stream": false}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '931' + 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.11.9 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: !!binary | + H4sIAAAAAAAAA4xSQW7bMBC86xULXnqxAtmxI1e3FEWBtJekCXJpC4GmVhIdapcgqbhN4L8HlB1L + QVOgFwGa2RnOLPmcAAhdiQKEamVQnTXp5f3d9lsdbndh++C+757Or6/bm6uvn59WH/FGzKKCN1tU + 4VV1prizBoNmOtDKoQwYXef5+SK7WK3ny4HouEITZY0N6ZLTTpNOF9limWZ5Ol8f1S1rhV4U8CMB + AHgevjEnVfhbFJDNXpEOvZcNiuI0BCAcm4gI6b32QVIQs5FUTAFpiH4FxDtQkqDRjwgSmhgbJPkd + OoCf9EWTNHA5/BfwyUmqmD54qOUjOx0QFBt2oD1sTI9n02Mc1r2XsSr1xhzx/Sm34cY63vgjf8Jr + Tdq3pUPpmWJGH9iKgd0nAL+G/fRvKgvruLOhDPyAFA3nF/nBT4zXMmHXRzJwkGaKr2bv+JUVBqmN + n2xYKKlarEbpeB2yrzRPiGTS+u8073kfmmtq/sd+JJRCG7AqrcNKq7eNxzGH8dX+a+y05SGw8H98 + wK6sNTXorNOHN1PbMsuz1aZe5yoTyT55AQAA//8DAPaYLdRBAwAA + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8e54a2a7d81467f7-SJC + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Wed, 20 Nov 2024 01:23:34 GMT + Server: + - cloudflare + Set-Cookie: + - __cf_bm=DoHo1Z11nN9bxkwZmJGnaxRhyrWE0UfyimYuUVRU6A4-1732065814-1.0.1.1-JVRvFrIJLHEq9OaFQS0qcgYcawE7t2XQ4Tpqd58n2Yfx3mvEqD34MJmooi1LtvdvjB2J8x1Rs.rCdXD.msLlKw; + path=/; expires=Wed, 20-Nov-24 01:53:34 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=n3RrNhFMqC3HtJ7n3e3agyxnM1YOQ6eKESz_eeXLtZA-1732065814630-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: + - '344' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149999790' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_8f1622677c64913753a595f679596614 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_kickoff_for_each_error_handling.yaml b/tests/cassettes/test_kickoff_for_each_error_handling.yaml new file mode 100644 index 0000000000..6a479332df --- /dev/null +++ b/tests/cassettes/test_kickoff_for_each_error_handling.yaml @@ -0,0 +1,232 @@ +interactions: +- request: + body: !!binary | + Cv1YCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkS1FgKEgoQY3Jld2FpLnRl + bGVtZXRyeRLADQoQ5TzgW9QzcBbzMl1hJozLcxIIl3adf7U81wwqDENyZXcgQ3JlYXRlZDABOaAJ + txhffgkYQfiVuRhffgkYShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuODAuMEoaCg5weXRob25fdmVy + c2lvbhIICgYzLjEyLjVKLgoIY3Jld19rZXkSIgogM2Y4ZDVjM2FiODgyZDY4NjlkOTNjYjgxZjBl + MmVkNGFKMQoHY3Jld19pZBImCiRjYjRiY2Q1Zi0xYWJkLTQyYmYtOGQ1OC02ZmEzMDU3ZDFjOTZK + HAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdf + bnVtYmVyX29mX3Rhc2tzEgIYA0obChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgCSpIFCgtjcmV3 + X2FnZW50cxKCBQr/BFt7ImtleSI6ICI4YmQyMTM5YjU5NzUxODE1MDZlNDFmZDljNDU2M2Q3NSIs + ICJpZCI6ICI1ZThjNTM1MS1jNWVlLTRhZGUtODY5MC1kM2RhOWI1NzI5YzciLCAicm9sZSI6ICJS + ZXNlYXJjaGVyIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDIwLCAibWF4X3JwbSI6 + IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAibGxtIjogImdwdC00by1taW5pIiwg + ImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZh + bHNlLCAibWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25hbWVzIjogW119LCB7ImtleSI6ICI5 + YTUwMTVlZjQ4OTVkYzYyNzhkNTQ4MThiYTQ0NmFmNyIsICJpZCI6ICJhMTcwODczOC0yYWE2LTRk + ZmYtODFlNy00OGFkMDNjNWFjY2QiLCAicm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwgInZlcmJvc2U/ + IjogZmFsc2UsICJtYXhfaXRlciI6IDIwLCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxs + aW5nX2xsbSI6ICIiLCAibGxtIjogImdwdC00by1taW5pIiwgImRlbGVnYXRpb25fZW5hYmxlZD8i + OiBmYWxzZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0 + IjogMiwgInRvb2xzX25hbWVzIjogW119XUrbBQoKY3Jld190YXNrcxLMBQrJBVt7ImtleSI6ICI2 + Nzg0OWZmNzE3ZGJhZGFiYTFiOTVkNWYyZGZjZWVhMSIsICJpZCI6ICIyNzkxNTMxMy0wNDBhLTRk + ZWItOTVkMy1mNWVmMzg2Mjk3NTEiLCAiYXN5bmNfZXhlY3V0aW9uPyI6IHRydWUsICJodW1hbl9p + bnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiUmVzZWFyY2hlciIsICJhZ2VudF9rZXkiOiAi + OGJkMjEzOWI1OTc1MTgxNTA2ZTQxZmQ5YzQ1NjNkNzUiLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsi + a2V5IjogImZjNTZkZWEzOGM5OTc0YjZmNTVhMmUyOGMxNDk5ODg2IiwgImlkIjogIjc3NzQ3MmVl + LWYzNzAtNDQyZS05NWMyLWVlMGVkYzZiMTgyZiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2Us + ICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiUmVzZWFyY2hlciIsICJhZ2Vu + dF9rZXkiOiAiOGJkMjEzOWI1OTc1MTgxNTA2ZTQxZmQ5YzQ1NjNkNzUiLCAidG9vbHNfbmFtZXMi + OiBbXX0sIHsia2V5IjogIjk0YTgyNmMxOTMwNTU5Njg2YmFmYjQwOWVlODM4NzZmIiwgImlkIjog + ImM4OWEzODA2LTg5MDItNGQ2My1iYzA0LTdjMzRhZTJmM2UxNyIsICJhc3luY19leGVjdXRpb24/ + IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiU2VuaW9yIFdy + aXRlciIsICJhZ2VudF9rZXkiOiAiOWE1MDE1ZWY0ODk1ZGM2Mjc4ZDU0ODE4YmE0NDZhZjciLCAi + dG9vbHNfbmFtZXMiOiBbXX1degIYAYUBAAEAABKOAgoQSqupTllrk2mxgu2AqenZUhIIspWxig2+ + 1M0qDFRhc2sgQ3JlYXRlZDABOcCj1BhffgkYQfhq1RhffgkYSi4KCGNyZXdfa2V5EiIKIDNmOGQ1 + YzNhYjg4MmQ2ODY5ZDkzY2I4MWYwZTJlZDRhSjEKB2NyZXdfaWQSJgokY2I0YmNkNWYtMWFiZC00 + MmJmLThkNTgtNmZhMzA1N2QxYzk2Si4KCHRhc2tfa2V5EiIKIDY3ODQ5ZmY3MTdkYmFkYWJhMWI5 + NWQ1ZjJkZmNlZWExSjEKB3Rhc2tfaWQSJgokMjc5MTUzMTMtMDQwYS00ZGViLTk1ZDMtZjVlZjM4 + NjI5NzUxegIYAYUBAAEAABKOAgoQ3dJesXQA5ISCqVgmwvBMgRIIdrWBiVQuihcqDFRhc2sgQ3Jl + YXRlZDABOdjAch1ffgkYQVh8cx1ffgkYSi4KCGNyZXdfa2V5EiIKIDNmOGQ1YzNhYjg4MmQ2ODY5 + ZDkzY2I4MWYwZTJlZDRhSjEKB2NyZXdfaWQSJgokY2I0YmNkNWYtMWFiZC00MmJmLThkNTgtNmZh + MzA1N2QxYzk2Si4KCHRhc2tfa2V5EiIKIGZjNTZkZWEzOGM5OTc0YjZmNTVhMmUyOGMxNDk5ODg2 + SjEKB3Rhc2tfaWQSJgokNzc3NDcyZWUtZjM3MC00NDJlLTk1YzItZWUwZWRjNmIxODJmegIYAYUB + AAEAABKOAgoQCBmV+4VbArZNiL5MaefbahII1fRxaC46KKgqDFRhc2sgQ3JlYXRlZDABOaDs4SNf + fgkYQai74iNffgkYSi4KCGNyZXdfa2V5EiIKIDNmOGQ1YzNhYjg4MmQ2ODY5ZDkzY2I4MWYwZTJl + ZDRhSjEKB2NyZXdfaWQSJgokY2I0YmNkNWYtMWFiZC00MmJmLThkNTgtNmZhMzA1N2QxYzk2Si4K + CHRhc2tfa2V5EiIKIDk0YTgyNmMxOTMwNTU5Njg2YmFmYjQwOWVlODM4NzZmSjEKB3Rhc2tfaWQS + JgokYzg5YTM4MDYtODkwMi00ZDYzLWJjMDQtN2MzNGFlMmYzZTE3egIYAYUBAAEAABKiBwoQhITI + U8q3JLgneRv1MZQY8RIIF2CpEmiZsP4qDENyZXcgQ3JlYXRlZDABOZDBCytffgkYQTDFDStffgkY + ShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuODAuMEoaCg5weXRob25fdmVyc2lvbhIICgYzLjEyLjVK + LgoIY3Jld19rZXkSIgogYTljYzVkNDMzOTViMjFiMTgxYzgwYmQ0MzUxY2NlYzhKMQoHY3Jld19p + ZBImCiQ2MTMwMWVmYS0yOGQ4LTQyNTItOWVjNi1iM2JmZDcyMWM0MzVKHAoMY3Jld19wcm9jZXNz + EgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tz + EgIYAUobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgBStECCgtjcmV3X2FnZW50cxLBAgq+Alt7 + ImtleSI6ICI4YmQyMTM5YjU5NzUxODE1MDZlNDFmZDljNDU2M2Q3NSIsICJpZCI6ICI3NWRjOTUw + OS02MjQ4LTQ0YWQtYTExZC1iZjdlZWVhOWI0NTQiLCAicm9sZSI6ICJSZXNlYXJjaGVyIiwgInZl + cmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDIwLCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlv + bl9jYWxsaW5nX2xsbSI6ICIiLCAibGxtIjogImdwdC00by1taW5pIiwgImRlbGVnYXRpb25fZW5h + YmxlZD8iOiBmYWxzZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5 + X2xpbWl0IjogMiwgInRvb2xzX25hbWVzIjogW119XUr+AQoKY3Jld190YXNrcxLvAQrsAVt7Imtl + eSI6ICJlOWU2YjcyYWFjMzI2NDU5ZGQ3MDY4ZjBiMTcxN2MxYyIsICJpZCI6ICIxOTBlMGQ1Zi0y + NDg1LTQ3N2ItYWIxNC1kMTlmNDE5YTFlYjQiLCAiYXN5bmNfZXhlY3V0aW9uPyI6IHRydWUsICJo + dW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiUmVzZWFyY2hlciIsICJhZ2VudF9r + ZXkiOiAiOGJkMjEzOWI1OTc1MTgxNTA2ZTQxZmQ5YzQ1NjNkNzUiLCAidG9vbHNfbmFtZXMiOiBb + XX1degIYAYUBAAEAABKOAgoQxgDNe1lQGKnixKPk3O1TDBIISyqKkjcA7OYqDFRhc2sgQ3JlYXRl + ZDABOfCYJCtffgkYQZAlJStffgkYSi4KCGNyZXdfa2V5EiIKIGE5Y2M1ZDQzMzk1YjIxYjE4MWM4 + MGJkNDM1MWNjZWM4SjEKB2NyZXdfaWQSJgokNjEzMDFlZmEtMjhkOC00MjUyLTllYzYtYjNiZmQ3 + MjFjNDM1Si4KCHRhc2tfa2V5EiIKIGU5ZTZiNzJhYWMzMjY0NTlkZDcwNjhmMGIxNzE3YzFjSjEK + B3Rhc2tfaWQSJgokMTkwZTBkNWYtMjQ4NS00NzdiLWFiMTQtZDE5ZjQxOWExZWI0egIYAYUBAAEA + ABK/DQoQwwR54Z8nOGgj2VSb63WRwhIIonLT+7Mwj00qDENyZXcgQ3JlYXRlZDABObDfvzhffgkY + QfBvwjhffgkYShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuODAuMEoaCg5weXRob25fdmVyc2lvbhII + CgYzLjEyLjVKLgoIY3Jld19rZXkSIgogNjZhOTYwZGM2OWZmZjU3OGIyNmM2MWQ0ZjdjNWE5ZmVK + MQoHY3Jld19pZBImCiQxNThhMTkzOS01OWUzLTRlODgtYTRkYi04M2IzN2U5MjgxZWVKHAoMY3Jl + d19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVy + X29mX3Rhc2tzEgIYA0obChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgCSpIFCgtjcmV3X2FnZW50 + cxKCBQr/BFt7ImtleSI6ICI4YmQyMTM5YjU5NzUxODE1MDZlNDFmZDljNDU2M2Q3NSIsICJpZCI6 + ICI1ZThjNTM1MS1jNWVlLTRhZGUtODY5MC1kM2RhOWI1NzI5YzciLCAicm9sZSI6ICJSZXNlYXJj + aGVyIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDIwLCAibWF4X3JwbSI6IG51bGws + ICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAibGxtIjogImdwdC00by1taW5pIiwgImRlbGVn + YXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAi + bWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25hbWVzIjogW119LCB7ImtleSI6ICI5YTUwMTVl + ZjQ4OTVkYzYyNzhkNTQ4MThiYTQ0NmFmNyIsICJpZCI6ICJhMTcwODczOC0yYWE2LTRkZmYtODFl + Ny00OGFkMDNjNWFjY2QiLCAicm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwgInZlcmJvc2U/IjogZmFs + c2UsICJtYXhfaXRlciI6IDIwLCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xs + bSI6ICIiLCAibGxtIjogImdwdC00by1taW5pIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxz + ZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0IjogMiwg + InRvb2xzX25hbWVzIjogW119XUraBQoKY3Jld190YXNrcxLLBQrIBVt7ImtleSI6ICI5NDRhZWYw + YmFjODQwZjFjMjdiZDgzYTkzN2JjMzYxYiIsICJpZCI6ICIzN2FkNzI5MC04Yjg5LTRjNWEtYmNl + Zi03YzY0ZWJhMWM5NjciLCAiYXN5bmNfZXhlY3V0aW9uPyI6IHRydWUsICJodW1hbl9pbnB1dD8i + OiBmYWxzZSwgImFnZW50X3JvbGUiOiAiUmVzZWFyY2hlciIsICJhZ2VudF9rZXkiOiAiOGJkMjEz + OWI1OTc1MTgxNTA2ZTQxZmQ5YzQ1NjNkNzUiLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsia2V5Ijog + ImZjNTZkZWEzOGM5OTc0YjZmNTVhMmUyOGMxNDk5ODg2IiwgImlkIjogIjZhMmViMGY2LTgwZTIt + NDkxOC05Zjk3LWVhNDY3OTNkMjI2YyIsICJhc3luY19leGVjdXRpb24/IjogdHJ1ZSwgImh1bWFu + X2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJSZXNlYXJjaGVyIiwgImFnZW50X2tleSI6 + ICI4YmQyMTM5YjU5NzUxODE1MDZlNDFmZDljNDU2M2Q3NSIsICJ0b29sc19uYW1lcyI6IFtdfSwg + eyJrZXkiOiAiOTRhODI2YzE5MzA1NTk2ODZiYWZiNDA5ZWU4Mzg3NmYiLCAiaWQiOiAiZGQ2Yzkz + NzAtOGYwNC00ZDFmLThjODMtMmFiM2IyYzIwYWI3IiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxz + ZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwg + ImFnZW50X2tleSI6ICI5YTUwMTVlZjQ4OTVkYzYyNzhkNTQ4MThiYTQ0NmFmNyIsICJ0b29sc19u + YW1lcyI6IFtdfV16AhgBhQEAAQAAErMHChBV+1WNQzpVlY6l4C/mUgHzEgi3vWQXjOQJ5CoMQ3Jl + dyBDcmVhdGVkMAE5sH1kPF9+CRhBaH1mPF9+CRhKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC44MC4w + ShoKDnB5dGhvbl92ZXJzaW9uEggKBjMuMTIuNUouCghjcmV3X2tleRIiCiBlZTY3NDVkN2M4YWU4 + MmUwMGRmOTRkZTBmN2Y4NzExOEoxCgdjcmV3X2lkEiYKJDAwOThmODNmLTdkNTAtNGI2Mi1hYmIy + LTJlNTc0N2ZlMWE4OUocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9y + eRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgBShsKFWNyZXdfbnVtYmVyX29mX2FnZW50 + cxICGAFK2QIKC2NyZXdfYWdlbnRzEskCCsYCW3sia2V5IjogImYzMzg2ZjZkOGRhNzVhYTQxNmE2 + ZTMxMDA1M2Y3Njk4IiwgImlkIjogIjEzODI4ZDViLWIyOWMtNDllMy05NWVhLTkyOGQ2ZmZhY2I0 + NSIsICJyb2xlIjogInt0b3BpY30gUmVzZWFyY2hlciIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4 + X2l0ZXIiOiAyMCwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwg + ImxsbSI6ICJncHQtNG8tbWluaSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJhbGxv + d19jb2RlX2V4ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19u + YW1lcyI6IFtdfV1KhwIKCmNyZXdfdGFza3MS+AEK9QFbeyJrZXkiOiAiMDZhNzMyMjBmNDE0OGE0 + YmJkNWJhY2IwZDBiNDRmY2UiLCAiaWQiOiAiNWM4MjM1ZmYtNWVjNy00NzFhLWI4NWEtNWFkZjk3 + YzJkYzI3IiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNl + LCAiYWdlbnRfcm9sZSI6ICJ7dG9waWN9IFJlc2VhcmNoZXIiLCAiYWdlbnRfa2V5IjogImYzMzg2 + ZjZkOGRhNzVhYTQxNmE2ZTMxMDA1M2Y3Njk4IiwgInRvb2xzX25hbWVzIjogW119XXoCGAGFAQAB + AAASjgIKEHOZ/a+LQwTLSkMO0sPwg9gSCL1SwQw1+0iKKgxUYXNrIENyZWF0ZWQwATl4kX48X34J + GEFIFn88X34JGEouCghjcmV3X2tleRIiCiBlZTY3NDVkN2M4YWU4MmUwMGRmOTRkZTBmN2Y4NzEx + OEoxCgdjcmV3X2lkEiYKJDAwOThmODNmLTdkNTAtNGI2Mi1hYmIyLTJlNTc0N2ZlMWE4OUouCgh0 + YXNrX2tleRIiCiAwNmE3MzIyMGY0MTQ4YTRiYmQ1YmFjYjBkMGI0NGZjZUoxCgd0YXNrX2lkEiYK + JDVjODIzNWZmLTVlYzctNDcxYS1iODVhLTVhZGY5N2MyZGMyN3oCGAGFAQABAAASswcKEHZQCRd7 + z4ZBCh4+06qs1r4SCNzrNsw+dn2zKgxDcmV3IENyZWF0ZWQwATlgWdtDX34JGEGIcN1DX34JGEoa + Cg5jcmV3YWlfdmVyc2lvbhIICgYwLjgwLjBKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi41Si4K + CGNyZXdfa2V5EiIKIGVlNjc0NWQ3YzhhZTgyZTAwZGY5NGRlMGY3Zjg3MTE4SjEKB2NyZXdfaWQS + JgokZTgzMTdjNzEtNmZiZS00MjI5LWE3MzctYTkxM2I0ZmU0ZTU0ShwKDGNyZXdfcHJvY2VzcxIM + CgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxIC + GAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAUrZAgoLY3Jld19hZ2VudHMSyQIKxgJbeyJr + ZXkiOiAiZjMzODZmNmQ4ZGE3NWFhNDE2YTZlMzEwMDUzZjc2OTgiLCAiaWQiOiAiNjAwMzU5OTYt + ZWU1ZS00YmZhLThmODctMGM1ZTY0OTBlMmE4IiwgInJvbGUiOiAie3RvcGljfSBSZXNlYXJjaGVy + IiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDIwLCAibWF4X3JwbSI6IG51bGwsICJm + dW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAibGxtIjogImdwdC00by1taW5pIiwgImRlbGVnYXRp + b25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4 + X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25hbWVzIjogW119XUqHAgoKY3Jld190YXNrcxL4AQr1 + AVt7ImtleSI6ICIwNmE3MzIyMGY0MTQ4YTRiYmQ1YmFjYjBkMGI0NGZjZSIsICJpZCI6ICI4MDc3 + MDhjNS0yN2RkLTQ4ZDEtYTU0ZC1lZTRkNTZmMzBiZTQiLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZh + bHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogInt0b3BpY30gUmVzZWFy + Y2hlciIsICJhZ2VudF9rZXkiOiAiZjMzODZmNmQ4ZGE3NWFhNDE2YTZlMzEwMDUzZjc2OTgiLCAi + dG9vbHNfbmFtZXMiOiBbXX1degIYAYUBAAEAABKOAgoQtqHg5uy2kZsnJlJTYgmZoxIIlgUHkQ7m + LugqDFRhc2sgQ3JlYXRlZDABOTi470NffgkYQQg98ENffgkYSi4KCGNyZXdfa2V5EiIKIGVlNjc0 + NWQ3YzhhZTgyZTAwZGY5NGRlMGY3Zjg3MTE4SjEKB2NyZXdfaWQSJgokZTgzMTdjNzEtNmZiZS00 + MjI5LWE3MzctYTkxM2I0ZmU0ZTU0Si4KCHRhc2tfa2V5EiIKIDA2YTczMjIwZjQxNDhhNGJiZDVi + YWNiMGQwYjQ0ZmNlSjEKB3Rhc2tfaWQSJgokODA3NzA4YzUtMjdkZC00OGQxLWE1NGQtZWU0ZDU2 + ZjMwYmU0egIYAYUBAAEAABKzBwoQpfKhpM9cCoiT5Mun1aoNQhII4HhX0QHHc/0qDENyZXcgQ3Jl + YXRlZDABORiH20lffgkYQcix3UlffgkYShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuODAuMEoaCg5w + eXRob25fdmVyc2lvbhIICgYzLjEyLjVKLgoIY3Jld19rZXkSIgogZWU2NzQ1ZDdjOGFlODJlMDBk + Zjk0ZGUwZjdmODcxMThKMQoHY3Jld19pZBImCiRmZDk2MmQwMi0wNGY0LTQ3NDUtODc5YS02NTFm + MzFmMmZhOTZKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkSAhAA + ShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAUobChVjcmV3X251bWJlcl9vZl9hZ2VudHMSAhgB + StkCCgtjcmV3X2FnZW50cxLJAgrGAlt7ImtleSI6ICJmMzM4NmY2ZDhkYTc1YWE0MTZhNmUzMTAw + NTNmNzY5OCIsICJpZCI6ICIzNmZhMTEyZS02ZDVlLTRhMzgtODk0Yy01M2M5YjAzNTI5ODUiLCAi + cm9sZSI6ICJ7dG9waWN9IFJlc2VhcmNoZXIiLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVy + IjogMjAsICJtYXhfcnBtIjogbnVsbCwgImZ1bmN0aW9uX2NhbGxpbmdfbGxtIjogIiIsICJsbG0i + OiAiZ3B0LTRvLW1pbmkiLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAiYWxsb3dfY29k + ZV9leGVjdXRpb24/IjogZmFsc2UsICJtYXhfcmV0cnlfbGltaXQiOiAyLCAidG9vbHNfbmFtZXMi + OiBbXX1dSocCCgpjcmV3X3Rhc2tzEvgBCvUBW3sia2V5IjogIjA2YTczMjIwZjQxNDhhNGJiZDVi + YWNiMGQwYjQ0ZmNlIiwgImlkIjogIjY3NTE3ZjY1LThhYzMtNDIyZi1hMmJhLTM4NDcyZDRkYmZl + NSIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFn + ZW50X3JvbGUiOiAie3RvcGljfSBSZXNlYXJjaGVyIiwgImFnZW50X2tleSI6ICJmMzM4NmY2ZDhk + YTc1YWE0MTZhNmUzMTAwNTNmNzY5OCIsICJ0b29sc19uYW1lcyI6IFtdfV16AhgBhQEAAQAAEo4C + ChAzGUzQMDZOgJ090im3887lEgik7+/nVnqntioMVGFzayBDcmVhdGVkMAE5UO7rSV9+CRhBWEDs + SV9+CRhKLgoIY3Jld19rZXkSIgogZWU2NzQ1ZDdjOGFlODJlMDBkZjk0ZGUwZjdmODcxMThKMQoH + Y3Jld19pZBImCiRmZDk2MmQwMi0wNGY0LTQ3NDUtODc5YS02NTFmMzFmMmZhOTZKLgoIdGFza19r + ZXkSIgogMDZhNzMyMjBmNDE0OGE0YmJkNWJhY2IwZDBiNDRmY2VKMQoHdGFza19pZBImCiQ2NzUx + N2Y2NS04YWMzLTQyMmYtYTJiYS0zODQ3MmQ0ZGJmZTV6AhgBhQEAAQAAErMHChCB1TPvVbWX62DF + 102NfOHLEghdZ/LjI40W8SoMQ3JldyBDcmVhdGVkMAE5sJDUT19+CRhBEHXWT19+CRhKGgoOY3Jl + d2FpX3ZlcnNpb24SCAoGMC44MC4wShoKDnB5dGhvbl92ZXJzaW9uEggKBjMuMTIuNUouCghjcmV3 + X2tleRIiCiBlZTY3NDVkN2M4YWU4MmUwMGRmOTRkZTBmN2Y4NzExOEoxCgdjcmV3X2lkEiYKJDUx + YmI1NGQ0LWM4MTAtNDA0Yy04MTQzLWVmNTgwMTlhN2Q2OEocCgxjcmV3X3Byb2Nlc3MSDAoKc2Vx + dWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgBShsK + FWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAFK2QIKC2NyZXdfYWdlbnRzEskCCsYCW3sia2V5Ijog + ImYzMzg2ZjZkOGRhNzVhYTQxNmE2ZTMxMDA1M2Y3Njk4IiwgImlkIjogIjRlNTExYTRhLTM1Yzkt + NDA0NC1iMzBlLWM4OGZjZTJiMzc5YiIsICJyb2xlIjogInt0b3BpY30gUmVzZWFyY2hlciIsICJ2 + ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyMCwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rp + b25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJncHQtNG8tbWluaSIsICJkZWxlZ2F0aW9uX2Vu + YWJsZWQ/IjogZmFsc2UsICJhbGxvd19jb2RlX2V4ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9yZXRy + eV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtdfV1KhwIKCmNyZXdfdGFza3MS+AEK9QFbeyJr + ZXkiOiAiMDZhNzMyMjBmNDE0OGE0YmJkNWJhY2IwZDBiNDRmY2UiLCAiaWQiOiAiOTIzMWJmZjIt + ODFmOS00MjU4LTgyMDktMjkzMjUyOWI1ZjlmIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwg + Imh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJ7dG9waWN9IFJlc2VhcmNoZXIi + LCAiYWdlbnRfa2V5IjogImYzMzg2ZjZkOGRhNzVhYTQxNmE2ZTMxMDA1M2Y3Njk4IiwgInRvb2xz + X25hbWVzIjogW119XXoCGAGFAQABAAASjgIKECTO19lNFYzBivlrqiZfSxASCIAH8VhjiPfQKgxU + YXNrIENyZWF0ZWQwATnIr+NPX34JGEHQAeRPX34JGEouCghjcmV3X2tleRIiCiBlZTY3NDVkN2M4 + YWU4MmUwMGRmOTRkZTBmN2Y4NzExOEoxCgdjcmV3X2lkEiYKJDUxYmI1NGQ0LWM4MTAtNDA0Yy04 + MTQzLWVmNTgwMTlhN2Q2OEouCgh0YXNrX2tleRIiCiAwNmE3MzIyMGY0MTQ4YTRiYmQ1YmFjYjBk + MGI0NGZjZUoxCgd0YXNrX2lkEiYKJDkyMzFiZmYyLTgxZjktNDI1OC04MjA5LTI5MzI1MjliNWY5 + ZnoCGAGFAQABAAASswcKEHGb7KITfOkYfQT7CRjWfUcSCIn6YlQJ1QVbKgxDcmV3IENyZWF0ZWQw + ATmYH/BYX34JGEEgJ/JYX34JGEoaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjgwLjBKGgoOcHl0aG9u + X3ZlcnNpb24SCAoGMy4xMi41Si4KCGNyZXdfa2V5EiIKIGVlNjc0NWQ3YzhhZTgyZTAwZGY5NGRl + MGY3Zjg3MTE4SjEKB2NyZXdfaWQSJgokZDc5Y2UyMWUtYmU1Ny00NTdiLWExMzEtNjZkMDFmZjQx + ZTI2ShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRj + cmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAUrZAgoL + Y3Jld19hZ2VudHMSyQIKxgJbeyJrZXkiOiAiZjMzODZmNmQ4ZGE3NWFhNDE2YTZlMzEwMDUzZjc2 + OTgiLCAiaWQiOiAiNzRhNDUxNzgtNmExOS00N2RjLThlZjktZDdhZmQ5YzUwMDQ0IiwgInJvbGUi + OiAie3RvcGljfSBSZXNlYXJjaGVyIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDIw + LCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAibGxtIjogImdw + dC00by1taW5pIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93X2NvZGVfZXhl + Y3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25hbWVzIjogW119 + XUqHAgoKY3Jld190YXNrcxL4AQr1AVt7ImtleSI6ICIwNmE3MzIyMGY0MTQ4YTRiYmQ1YmFjYjBk + MGI0NGZjZSIsICJpZCI6ICJjZWZiYjE1ZS01Y2M4LTQwZTctYTViMS03ODkzYjJlZGFkYmQiLCAi + YXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9y + b2xlIjogInt0b3BpY30gUmVzZWFyY2hlciIsICJhZ2VudF9rZXkiOiAiZjMzODZmNmQ4ZGE3NWFh + NDE2YTZlMzEwMDUzZjc2OTgiLCAidG9vbHNfbmFtZXMiOiBbXX1degIYAYUBAAEAAA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '11392' + Content-Type: + - application/x-protobuf + User-Agent: + - OTel-OTLP-Exporter-Python/1.27.0 + method: POST + uri: https://telemetry.crewai.com:4319/v1/traces + response: + body: + string: "\n\0" + headers: + Content-Length: + - '2' + Content-Type: + - application/x-protobuf + Date: + - Tue, 19 Nov 2024 22:14:39 GMT + status: + code: 200 + message: OK +version: 1 diff --git a/tests/knowledge/__init__.py b/tests/knowledge/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/knowledge/crewai_quickstart.pdf b/tests/knowledge/crewai_quickstart.pdf new file mode 100644 index 0000000000000000000000000000000000000000..671baf782c64529284e4aa2940f65434a906d4f6 GIT binary patch literal 952178 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 z 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ⅆs(4`U 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 Oh Date: Wed, 20 Nov 2024 18:52:41 -0600 Subject: [PATCH 7/8] Updated README.md, fix typo(s) (#1637) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ceec198c36..c6be68dc1a 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ You can now start developing your crew by editing the files in the `src/my_proje #### Example of a simple crew with a sequential process: -Instatiate your crew: +Instantiate your crew: ```shell crewai create crew latest-ai-development @@ -399,7 +399,7 @@ Data collected includes: - Roles of agents in a crew - Understand high level use cases so we can build better tools, integrations and examples about it - Tools names available - - Understand out of the publically available tools, which ones are being used the most so we can improve them + - Understand out of the publicly available tools, which ones are being used the most so we can improve them Users can opt-in to Further Telemetry, sharing the complete telemetry data by setting the `share_crew` attribute to `True` on their Crews. Enabling `share_crew` results in the collection of detailed crew and task execution data, including `goal`, `backstory`, `context`, and `output` of tasks. This enables a deeper insight into usage patterns while respecting the user's choice to share. From f8ca49d8df36cfbc8762b604ca94427cf4db0413 Mon Sep 17 00:00:00 2001 From: Andy Bromberg Date: Wed, 20 Nov 2024 16:54:04 -0800 Subject: [PATCH 8/8] Update Perplexity example in documentation (#1623) --- docs/concepts/llms.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/concepts/llms.mdx b/docs/concepts/llms.mdx index 5211e6652d..798fea7263 100644 --- a/docs/concepts/llms.mdx +++ b/docs/concepts/llms.mdx @@ -310,8 +310,8 @@ These are examples of how to configure LLMs for your agent. from crewai import LLM llm = LLM( - model="perplexity/mistral-7b-instruct", - base_url="https://api.perplexity.ai/v1", + model="llama-3.1-sonar-large-128k-online", + base_url="https://api.perplexity.ai/", api_key="your-api-key-here" ) agent = Agent(llm=llm, ...) @@ -400,4 +400,4 @@ This is particularly useful when working with OpenAI-compatible APIs or when you - **API Errors**: Check your API key, network connection, and rate limits. - **Unexpected Outputs**: Refine your prompts and adjust temperature or top_p. - **Performance Issues**: Consider using a more powerful model or optimizing your queries. -- **Timeout Errors**: Increase the `timeout` parameter or optimize your input. \ No newline at end of file +- **Timeout Errors**: Increase the `timeout` parameter or optimize your input.

Ukfn}*%s{kp;X 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 pk+Hk<9^uzzv;hZ1i;XK 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