From a7b00cee08f759c593c260f325efde1632ef29a3 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 30 Dec 2024 17:10:56 -0300 Subject: [PATCH] fix: add tiktoken as explicit dependency and document Rust requirement (#1826) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add tiktoken as explicit dependency and document Rust requirement - Add tiktoken>=0.8.0 as explicit dependency to ensure pre-built wheels are used - Document Rust compiler requirement as fallback in README.md - Addresses issue #1824 tiktoken build failure Co-Authored-By: Joe Moura * fix: adjust tiktoken version to ~=0.7.0 for dependency compatibility - Update tiktoken dependency to ~=0.7.0 to resolve conflict with embedchain - Maintain compatibility with crewai-tools dependency chain - Addresses CI build failures Co-Authored-By: Joe Moura * docs: add troubleshooting section and make tiktoken optional Co-Authored-By: Joe Moura * Update README.md --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Joe Moura Co-authored-by: João Moura --- README.md | 17 ++++++++++++++++- pyproject.toml | 32 +++++++++++++++++++++++--------- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index bf1287d4d..edcbb6f51 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,6 @@ First, install CrewAI: ```shell pip install crewai ``` - If you want to install the 'crewai' package along with its optional features that include additional tools for agents, you can do so by using the following command: ```shell @@ -93,6 +92,22 @@ pip install 'crewai[tools]' ``` The command above installs the basic package and also adds extra components which require more dependencies to function. +### Troubleshooting Dependencies + +If you encounter issues during installation or usage, here are some common solutions: + +#### Common Issues + +1. **ModuleNotFoundError: No module named 'tiktoken'** + - Install tiktoken explicitly: `pip install 'crewai[embeddings]'` + - If using embedchain or other tools: `pip install 'crewai[tools]'` + +2. **Failed building wheel for tiktoken** + - Ensure Rust compiler is installed (see installation steps above) + - For Windows: Verify Visual C++ Build Tools are installed + - Try upgrading pip: `pip install --upgrade pip` + - If issues persist, use a pre-built wheel: `pip install tiktoken --prefer-binary` + ### 2. Setting Up Your Crew with the YAML Configuration To create a new CrewAI project, run the following CLI (Command Line Interface) command: diff --git a/pyproject.toml b/pyproject.toml index 3f10c1a87..bcc00a0d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,27 +8,38 @@ authors = [ { name = "Joao Moura", email = "joao@crewai.com" } ] dependencies = [ + # Core Dependencies "pydantic>=2.4.2", "openai>=1.13.3", + "litellm>=1.44.22", + "instructor>=1.3.3", + + # Text Processing + "pdfplumber>=0.11.4", + "regex>=2024.9.11", + + # Telemetry and Monitoring "opentelemetry-api>=1.22.0", "opentelemetry-sdk>=1.22.0", "opentelemetry-exporter-otlp-proto-http>=1.22.0", - "instructor>=1.3.3", - "regex>=2024.9.11", - "click>=8.1.7", + + # Data Handling + "chromadb>=0.5.23", + "openpyxl>=3.1.5", + "pyvis>=0.3.2", + + # Authentication and Security + "auth0-python>=4.7.1", "python-dotenv>=1.0.0", + + # Configuration and Utils + "click>=8.1.7", "appdirs>=1.4.4", "jsonref>=1.1.0", "json-repair>=0.25.2", - "auth0-python>=4.7.1", - "litellm>=1.44.22", - "pyvis>=0.3.2", "uv>=0.4.25", "tomli-w>=1.1.0", "tomli>=2.0.2", - "chromadb>=0.5.23", - "pdfplumber>=0.11.4", - "openpyxl>=3.1.5", "blinker>=1.9.0", ] @@ -39,6 +50,9 @@ Repository = "https://github.com/crewAIInc/crewAI" [project.optional-dependencies] tools = ["crewai-tools>=0.17.0"] +embeddings = [ + "tiktoken~=0.7.0" +] agentops = ["agentops>=0.3.0"] fastembed = ["fastembed>=0.4.1"] pdfplumber = [