mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-10 16:48:30 +00:00
Add version check to crew_chat.py (#1966)
* Add version check to crew_chat.py with min version 0.98.0 Co-Authored-By: brandon@crewai.com <brandon@crewai.com> * Fix import sorting in crew_chat.py Co-Authored-By: brandon@crewai.com <brandon@crewai.com> * Fix import sorting in crew_chat.py (attempt 3) Co-Authored-By: brandon@crewai.com <brandon@crewai.com> * Update error message, add version check helper, fix import sorting Co-Authored-By: brandon@crewai.com <brandon@crewai.com> * Fix import sorting with Ruff auto-fix Co-Authored-By: brandon@crewai.com <brandon@crewai.com> * Remove poetry check and import comment headers in crew_chat.py Co-Authored-By: brandon@crewai.com <brandon@crewai.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: brandon@crewai.com <brandon@crewai.com>
This commit is contained in:
committed by
GitHub
parent
8c76bad50f
commit
67bf4aea56
@@ -6,12 +6,42 @@ from typing import Any, Dict, List, Optional, Set, Tuple
|
|||||||
|
|
||||||
import click
|
import click
|
||||||
import tomli
|
import tomli
|
||||||
|
from packaging import version
|
||||||
|
|
||||||
|
from crewai.cli.utils import read_toml
|
||||||
|
from crewai.cli.version import get_crewai_version
|
||||||
from crewai.crew import Crew
|
from crewai.crew import Crew
|
||||||
from crewai.llm import LLM
|
from crewai.llm import LLM
|
||||||
from crewai.types.crew_chat import ChatInputField, ChatInputs
|
from crewai.types.crew_chat import ChatInputField, ChatInputs
|
||||||
from crewai.utilities.llm_utils import create_llm
|
from crewai.utilities.llm_utils import create_llm
|
||||||
|
|
||||||
|
MIN_REQUIRED_VERSION = "0.98.0"
|
||||||
|
|
||||||
|
|
||||||
|
def check_conversational_crews_version(crewai_version: str, pyproject_data: dict) -> bool:
|
||||||
|
"""
|
||||||
|
Check if the installed crewAI version supports conversational crews.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
crewai_version: The current version of crewAI
|
||||||
|
pyproject_data: Dictionary containing pyproject.toml data
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
bool: True if version check passes, False otherwise
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
if version.parse(crewai_version) < version.parse(MIN_REQUIRED_VERSION):
|
||||||
|
click.secho(
|
||||||
|
"You are using an older version of crewAI that doesn't support conversational crews. "
|
||||||
|
"Run 'uv upgrade crewai' to get the latest version.",
|
||||||
|
fg="red"
|
||||||
|
)
|
||||||
|
return False
|
||||||
|
except version.InvalidVersion:
|
||||||
|
click.secho("Invalid crewAI version format detected", fg="red")
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def run_chat():
|
def run_chat():
|
||||||
"""
|
"""
|
||||||
@@ -19,6 +49,11 @@ def run_chat():
|
|||||||
Incorporates crew_name, crew_description, and input fields to build a tool schema.
|
Incorporates crew_name, crew_description, and input fields to build a tool schema.
|
||||||
Exits if crew_name or crew_description are missing.
|
Exits if crew_name or crew_description are missing.
|
||||||
"""
|
"""
|
||||||
|
crewai_version = get_crewai_version()
|
||||||
|
pyproject_data = read_toml()
|
||||||
|
|
||||||
|
if not check_conversational_crews_version(crewai_version, pyproject_data):
|
||||||
|
return
|
||||||
crew, crew_name = load_crew_and_name()
|
crew, crew_name = load_crew_and_name()
|
||||||
chat_llm = initialize_chat_llm(crew)
|
chat_llm = initialize_chat_llm(crew)
|
||||||
if not chat_llm:
|
if not chat_llm:
|
||||||
|
|||||||
Reference in New Issue
Block a user