diff --git a/src/crewai/crew.py b/src/crewai/crew.py index 04820adf8..fb03acb5b 100644 --- a/src/crewai/crew.py +++ b/src/crewai/crew.py @@ -5,7 +5,7 @@ import uuid 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.telemetry import Telemetry 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 @@ class Crew(BaseModel): 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 @@ class Crew(BaseModel): 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 1dbb6e41b..25f6f5e04 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 @@ from .annotations import ( pipeline, task, tool, - before_crew, - after_crew, ) from .crew_base import CrewBase from .pipeline_base import PipelineBase @@ -28,6 +28,6 @@ __all__ = [ "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 c1a497fa1..83e396a4c 100644 --- a/src/crewai/project/annotations.py +++ b/src/crewai/project/annotations.py @@ -5,13 +5,13 @@ from crewai import Crew 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 crew(func) -> Callable[..., 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 ed48b24d1..e93452a6e 100644 --- a/src/crewai/project/crew_base.py +++ b/src/crewai/project/crew_base.py @@ -43,8 +43,8 @@ def CrewBase(cls: T) -> T: 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 CrewBase(cls: T) -> T: 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 CrewBase(cls: T) -> T: 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_after_kickoff_modification.yaml b/tests/cassettes/test_after_kickoff_modification.yaml new file mode 100644 index 000000000..bf63b910d --- /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 000000000..f1f60ea55 --- /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 000000000..e906e8018 --- /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_crew_execution_order.yaml b/tests/cassettes/test_crew_execution_order.yaml deleted file mode 100644 index 5f05a3258..000000000 --- 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/cassettes/test_multiple_before_after_kickoff.yaml b/tests/cassettes/test_multiple_before_after_kickoff.yaml new file mode 100644 index 000000000..7cd59d474 --- /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 diff --git a/tests/project_test.py b/tests/project_test.py index 329886a25..6c68f4993 100644 --- a/tests/project_test.py +++ b/tests/project_test.py @@ -1,10 +1,10 @@ -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.agent import Agent +from crewai.crew import Crew +from crewai.project import CrewBase, after_kickoff, agent, before_kickoff, crew, task +from crewai.task import Task + class SimpleCrew: @agent @@ -47,13 +47,13 @@ class TestCrew: 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 test_multiple_before_after_crew(): 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 test_multiple_before_after_crew(): return Crew(agents=self.agents, tasks=self.tasks, verbose=True) crew = MultipleHooksCrew() - result = crew.kickoff({"topic": "LLMs"}) + result = crew.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"}) - - 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"