mirror of
https://github.com/crewAIInc/crewAI.git
synced 2025-12-16 12:28:30 +00:00
updating crewai version
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "crewai"
|
name = "crewai"
|
||||||
version = "0.75.1"
|
version = "0.76.0"
|
||||||
description = "Cutting-edge framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks."
|
description = "Cutting-edge framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.10,<=3.13"
|
requires-python = ">=3.10,<=3.13"
|
||||||
|
|||||||
@@ -14,5 +14,5 @@ warnings.filterwarnings(
|
|||||||
category=UserWarning,
|
category=UserWarning,
|
||||||
module="pydantic.main",
|
module="pydantic.main",
|
||||||
)
|
)
|
||||||
__version__ = "0.75.1"
|
__version__ = "0.76.0"
|
||||||
__all__ = ["Agent", "Crew", "Process", "Task", "Pipeline", "Router", "LLM", "Flow"]
|
__all__ = ["Agent", "Crew", "Process", "Task", "Pipeline", "Router", "LLM", "Flow"]
|
||||||
|
|||||||
@@ -32,11 +32,12 @@ def crewai():
|
|||||||
@crewai.command()
|
@crewai.command()
|
||||||
@click.argument("type", type=click.Choice(["crew", "pipeline", "flow"]))
|
@click.argument("type", type=click.Choice(["crew", "pipeline", "flow"]))
|
||||||
@click.argument("name")
|
@click.argument("name")
|
||||||
|
@click.option("--skip-provider", is_flag=True, help="Skip provider validation")
|
||||||
@click.option("--provider", type=str, help="The provider to use for the crew")
|
@click.option("--provider", type=str, help="The provider to use for the crew")
|
||||||
def create(type, name, provider):
|
def create(type, name, provider, skip_provider_validation=False):
|
||||||
"""Create a new crew, pipeline, or flow."""
|
"""Create a new crew, pipeline, or flow."""
|
||||||
if type == "crew":
|
if type == "crew":
|
||||||
create_crew(name, provider)
|
create_crew(name, provider, skip_provider_validation)
|
||||||
elif type == "pipeline":
|
elif type == "pipeline":
|
||||||
create_pipeline(name)
|
create_pipeline(name)
|
||||||
elif type == "flow":
|
elif type == "flow":
|
||||||
|
|||||||
@@ -81,77 +81,84 @@ def copy_template_files(folder_path, name, class_name, parent_folder):
|
|||||||
copy_template(src_file, dst_file, name, class_name, folder_path.name)
|
copy_template(src_file, dst_file, name, class_name, folder_path.name)
|
||||||
|
|
||||||
|
|
||||||
def create_crew(name, parent_folder=None):
|
def create_crew(
|
||||||
|
name, provider=None, skip_provider_validation=False, parent_folder=None
|
||||||
|
):
|
||||||
folder_path, folder_name, class_name = create_folder_structure(name, parent_folder)
|
folder_path, folder_name, class_name = create_folder_structure(name, parent_folder)
|
||||||
env_vars = load_env_vars(folder_path)
|
env_vars = load_env_vars(folder_path)
|
||||||
|
if not skip_provider_validation:
|
||||||
|
if not provider:
|
||||||
|
provider_models = get_provider_data()
|
||||||
|
if not provider_models:
|
||||||
|
return
|
||||||
|
|
||||||
existing_provider = None
|
existing_provider = None
|
||||||
for provider, env_keys in ENV_VARS.items():
|
for provider, env_keys in ENV_VARS.items():
|
||||||
if any(key in env_vars for key in env_keys):
|
if any(key in env_vars for key in env_keys):
|
||||||
existing_provider = provider
|
existing_provider = provider
|
||||||
break
|
break
|
||||||
|
|
||||||
if existing_provider:
|
if existing_provider:
|
||||||
if not click.confirm(
|
if not click.confirm(
|
||||||
f"Found existing environment variable configuration for {existing_provider.capitalize()}. Do you want to override it?"
|
f"Found existing environment variable configuration for {existing_provider.capitalize()}. Do you want to override it?"
|
||||||
):
|
):
|
||||||
click.secho("Keeping existing provider configuration.", fg="yellow")
|
click.secho("Keeping existing provider configuration.", fg="yellow")
|
||||||
|
return
|
||||||
|
|
||||||
|
provider_models = get_provider_data()
|
||||||
|
if not provider_models:
|
||||||
return
|
return
|
||||||
|
|
||||||
provider_models = get_provider_data()
|
while True:
|
||||||
if not provider_models:
|
selected_provider = select_provider(provider_models)
|
||||||
return
|
if selected_provider is None: # User typed 'q'
|
||||||
|
click.secho("Exiting...", fg="yellow")
|
||||||
|
sys.exit(0)
|
||||||
|
if selected_provider: # Valid selection
|
||||||
|
break
|
||||||
|
click.secho(
|
||||||
|
"No provider selected. Please try again or press 'q' to exit.", fg="red"
|
||||||
|
)
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
selected_provider = select_provider(provider_models)
|
selected_model = select_model(selected_provider, provider_models)
|
||||||
if selected_provider is None: # User typed 'q'
|
if selected_model is None: # User typed 'q'
|
||||||
click.secho("Exiting...", fg="yellow")
|
click.secho("Exiting...", fg="yellow")
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
if selected_provider: # Valid selection
|
if selected_model: # Valid selection
|
||||||
break
|
break
|
||||||
click.secho(
|
click.secho(
|
||||||
"No provider selected. Please try again or press 'q' to exit.", fg="red"
|
"No model selected. Please try again or press 'q' to exit.", fg="red"
|
||||||
)
|
)
|
||||||
|
|
||||||
while True:
|
if selected_provider in PROVIDERS:
|
||||||
selected_model = select_model(selected_provider, provider_models)
|
api_key_var = ENV_VARS[selected_provider][0]
|
||||||
if selected_model is None: # User typed 'q'
|
else:
|
||||||
click.secho("Exiting...", fg="yellow")
|
api_key_var = click.prompt(
|
||||||
sys.exit(0)
|
f"Enter the environment variable name for your {selected_provider.capitalize()} API key",
|
||||||
if selected_model: # Valid selection
|
type=str,
|
||||||
break
|
default="",
|
||||||
click.secho(
|
)
|
||||||
"No model selected. Please try again or press 'q' to exit.", fg="red"
|
|
||||||
)
|
|
||||||
|
|
||||||
if selected_provider in PROVIDERS:
|
|
||||||
api_key_var = ENV_VARS[selected_provider][0]
|
|
||||||
else:
|
|
||||||
api_key_var = click.prompt(
|
|
||||||
f"Enter the environment variable name for your {selected_provider.capitalize()} API key",
|
|
||||||
type=str,
|
|
||||||
default="",
|
|
||||||
)
|
|
||||||
|
|
||||||
api_key_value = ""
|
|
||||||
click.echo(
|
|
||||||
f"Enter your {selected_provider.capitalize()} API key (press Enter to skip): ",
|
|
||||||
nl=False,
|
|
||||||
)
|
|
||||||
try:
|
|
||||||
api_key_value = input()
|
|
||||||
except (KeyboardInterrupt, EOFError):
|
|
||||||
api_key_value = ""
|
api_key_value = ""
|
||||||
|
click.echo(
|
||||||
|
f"Enter your {selected_provider.capitalize()} API key (press Enter to skip): ",
|
||||||
|
nl=False,
|
||||||
|
)
|
||||||
|
try:
|
||||||
|
api_key_value = input()
|
||||||
|
except (KeyboardInterrupt, EOFError):
|
||||||
|
api_key_value = ""
|
||||||
|
|
||||||
if api_key_value.strip():
|
if api_key_value.strip():
|
||||||
env_vars = {api_key_var: api_key_value}
|
env_vars = {api_key_var: api_key_value}
|
||||||
write_env_file(folder_path, env_vars)
|
write_env_file(folder_path, env_vars)
|
||||||
click.secho("API key saved to .env file", fg="green")
|
click.secho("API key saved to .env file", fg="green")
|
||||||
else:
|
else:
|
||||||
click.secho("No API key provided. Skipping .env file creation.", fg="yellow")
|
click.secho("No API key provided. Skipping .env file creation.", fg="yellow")
|
||||||
|
|
||||||
env_vars["MODEL"] = selected_model
|
env_vars["MODEL"] = selected_model
|
||||||
click.secho(f"Selected model: {selected_model}", fg="green")
|
click.secho(f"Selected model: {selected_model}", fg="green")
|
||||||
|
|
||||||
package_dir = Path(__file__).parent
|
package_dir = Path(__file__).parent
|
||||||
templates_dir = package_dir / "templates" / "crew"
|
templates_dir = package_dir / "templates" / "crew"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ description = "{{name}} using crewAI"
|
|||||||
authors = [{ name = "Your Name", email = "you@example.com" }]
|
authors = [{ name = "Your Name", email = "you@example.com" }]
|
||||||
requires-python = ">=3.10,<=3.13"
|
requires-python = ">=3.10,<=3.13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crewai[tools]>=0.75.1,<1.0.0"
|
"crewai[tools]>=0.76.0,<1.0.0"
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.scripts]
|
[project.scripts]
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ description = "{{name}} using crewAI"
|
|||||||
authors = [{ name = "Your Name", email = "you@example.com" }]
|
authors = [{ name = "Your Name", email = "you@example.com" }]
|
||||||
requires-python = ">=3.10,<=3.13"
|
requires-python = ">=3.10,<=3.13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crewai[tools]>=0.75.1,<1.0.0",
|
"crewai[tools]>=0.76.0,<1.0.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.scripts]
|
[project.scripts]
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ authors = ["Your Name <you@example.com>"]
|
|||||||
|
|
||||||
[tool.poetry.dependencies]
|
[tool.poetry.dependencies]
|
||||||
python = ">=3.10,<=3.13"
|
python = ">=3.10,<=3.13"
|
||||||
crewai = { extras = ["tools"], version = ">=0.75.1,<1.0.0" }
|
crewai = { extras = ["tools"], version = ">=0.76.0,<1.0.0" }
|
||||||
asyncio = "*"
|
asyncio = "*"
|
||||||
|
|
||||||
[tool.poetry.scripts]
|
[tool.poetry.scripts]
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ description = "{{name}} using crewAI"
|
|||||||
authors = ["Your Name <you@example.com>"]
|
authors = ["Your Name <you@example.com>"]
|
||||||
requires-python = ">=3.10,<=3.13"
|
requires-python = ">=3.10,<=3.13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crewai[tools]>=0.75.1,<1.0.0"
|
"crewai[tools]>=0.76.0,<1.0.0"
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.scripts]
|
[project.scripts]
|
||||||
|
|||||||
@@ -5,6 +5,6 @@ description = "Power up your crews with {{folder_name}}"
|
|||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.10,<=3.13"
|
requires-python = ">=3.10,<=3.13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crewai[tools]>=0.75.1"
|
"crewai[tools]>=0.76.0"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user