diff --git a/README.md b/README.md index 170d48e..9bbb3b8 100644 --- a/README.md +++ b/README.md @@ -13,40 +13,51 @@ Our vision is to revolutionize how AI agents collaborate to solve real-world tas - **[2025.03.06]**: We open-source the codebase of ๐Ÿฆ‰ OWL project. -# ๐Ÿ› ๏ธ Installation +## ๐Ÿ› ๏ธ Installation -## **Clone the Github repository** +### **Clone the Github repository** ```bash -git clone xxx +git clone https://github.com/camel-ai/owl.git +cd owl ``` -## **Set up Environment** +### **Set up Environment** +Using Conda (recommended): ```bash conda create -n owl python=3.11 conda activate owl ``` -## **Install Dependencies** - +Using venv (alternative): ```bash -pip install -r requirements.txt +python -m venv owl_env +# On Windows +owl_env\Scripts\activate +# On Unix or MacOS +source owl_env/bin/activate ``` -## **Setup Environment Variables** +### **Install Dependencies** + +```bash +python -m pip install -r requirements.txt +``` + +### **Setup Environment Variables** In the `.env.example` file, you will find all the necessary API keys along with the websites where you can register for each service. To use these API services, follow these steps: 1. *Copy and Rename*: Duplicate the `.env.example` file and rename the copy to `.env`. -2. *Fill in Your Keys*: Open the .env file and insert your API keys in the corresponding fields. +2. *Fill in Your Keys*: Open the `.env` file and insert your API keys in the corresponding fields. -# ๐Ÿš€ Quick Start +## ๐Ÿš€ Quick Start Run the following minimal example: ```bash -python run.py +python owl/run.py ``` # ๐Ÿงช Experiments diff --git a/requirements.txt b/requirements.txt index bb3c394..625257a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,102 +1,143 @@ -agentops==0.3.21 -anthropic==0.49.0 -apify_client==1.9.2 -arxiv==2.1.3 -arxiv2text==0.1.14 -azure_storage==0.37.0 -beautifulsoup4==4.13.3 -botocore==1.35.79 -chroma_hnswlib==0.7.6 -chunkr_ai==0.0.41 -cohere==5.14.0 -colorama==0.4.6 -datacommons==1.4.3 -datacommons_pandas==0.0.3 -datasets==2.21.0 -discord.py==2.4.0 -docker_py==1.10.6 -docstring_parser==0.16 -docx2markdown==0.1.1 -docx2txt==0.8 -duckduckgo_search==7.2.1 -fastapi==0.115.11 -ffmpeg_python==0.2.0 -firecrawl_py==1.11.0 -fish_audio_sdk==2025.2.11 -fitz==0.0.1.dev2 -googlemaps==4.10.0 -gradio==5.20.0 -graspologic==3.4.1 -hnswlib==0.8.0 -html2text==2024.2.26 -httpx==0.28.1 -huggingface_hub==0.26.5 -imageio==2.35.0 -jsonschema==4.23.0 -jupyter_client==8.6.3 -langchain==0.3.19 -langchain_community==0.3.18 -librosa==0.10.2.post1 -litellm==1.62.1 -loguru==0.7.3 -mistral_common==1.5.3 -mistralai==1.5.0 -mock==5.2.0 -neo4j==5.27.0 -nest_asyncio==1.6.0 -networkx==3.4.2 -newspaper3k==0.2.8 -notion_client==2.2.1 -numpy==2.2.3 -opencv_python==4.10.0.84 -openpyxl==3.1.5 -packaging==24.2 -pandas==2.2.3 -Pillow==11.1.0 -prance==23.6.21.0 -praw==7.8.1 -protobuf==5.29.3 -pydantic==2.10.6 -pydub==0.25.1 -PyGithub==2.5.0 -PyGithub==2.6.1 -pymilvus==2.5.0 -pyowm==3.3.0 -PyPDF2==3.0.1 -pyTelegramBotAPI==4.26.0 -pytest==8.3.4 -python_pptx==0.6.23 -PyYAML==6.0.2 -PyYAML==6.0.2 -qdrant_client==1.13.2 -qwen_vl_utils==0.0.10 -rank_bm25==0.2.2 -Requests==2.32.3 -requests_oauthlib==1.3.1 -retry==0.9.2 -scenedetect==0.6.5.2 -scholarly==1.7.11 -sentence_transformers==3.3.1 -slack_bolt==1.21.3 -slack_sdk==3.33.5 -SQLAlchemy==2.0.36 -starlette==0.46.0 -streamlit==1.42.2 -streamlit_chat==0.1.1 -sympy==1.13.1 -tabulate==0.9.0 -tavily_python==0.5.0 -text2vec==1.3.2 -textblob==0.19.0 -tiktoken==0.7.0 -torch==2.2.0 -tqdm==4.67.1 -transformers==4.49.0.dev0 -unstructured==0.14.10 -uvicorn==0.34.0 -wikipedia==1.4.0 -wolframalpha==5.1.3 -xls2xlsx==0.2.0 -xmltodict==0.14.2 -xxhash==3.5.0 -yt_dlp==2025.2.19 +# Core dependencies +numpy>=1.26.0 +openai>=1.59.7 +tiktoken>=0.7.0 +colorama>=0.4.6 +jsonschema>=4.0.0 +protobuf>=5.0.0 +docstring-parser>=0.15.0 +pydantic>=1.9.0,<2.10.0 +eval-type-backport==0.2.0 +curl_cffi==0.6.2 +httpx>=0.28.0,<1.0.0 +psutil>=5.9.8 +pillow>=10.1.0,<11.0.0 +retry>=0.9.2 +loguru>=0.7.3 +scenedetect>=0.6.5.2 +openpyxl>=3.1.5 +tabulate>=0.9.0 +xls2xlsx>=0.2.0 +docx2markdown>=0.1.1 +chunkr_ai>=0.0.41 +playwright>=1.50.0 +html2text>=2024.2.26 + +# Optional dependencies - Model platforms +litellm>=1.38.1 +mistralai>=1.1.0 +reka-api>=3.0.8 +anthropic>=0.42.0 +cohere>=5.11.0 +fish-audio-sdk>=2024.12.5 + +# Optional dependencies - Huggingface ecosystem +transformers>=4.0.0 +diffusers>=0.25.0 +accelerate>=0.26.0 +datasets>=3.0.0 +torch>=2.0.0 +soundfile>=0.13.0 +sentencepiece>=0.2.0 +opencv-python>=4.0.0 + +# Optional dependencies - Core RAG components +sentence-transformers>=3.0.1 +qdrant-client>=1.9.0 +pymilvus>=2.4.0 +rank-bm25>=0.2.2 + +# Optional dependencies - Storage solutions +neo4j>=5.18.0 +nebula3-python==3.8.2 +redis>=5.0.6 +azure-storage-blob>=12.21.0 +google-cloud-storage>=2.18.0 +botocore>=1.35.3 + +# Optional dependencies - Document processing tools +beautifulsoup4>=4.0.0 +docx2txt>=0.8.0 +PyMuPDF>=1.22.5 +unstructured==0.16.20 +prance>=23.6.21.0 +openapi-spec-validator>=0.7.1 +pandasai>=2.3.0 + +# Optional dependencies - Media processing tools +imageio[pyav]>=2.34.2 +pydub>=0.25.1 +yt-dlp>=2024.11.4 +ffmpeg-python>=0.2.0 + +# Optional dependencies - Web and API tools +wikipedia>=1.0.0 +linkup-sdk>=0.2.1 +duckduckgo-search>=6.3.5 +newspaper3k>=0.2.8 +wolframalpha>=5.0.0 +pyowm>=3.3.0 +googlemaps>=4.10.0 +requests_oauthlib>=1.3.1 +firecrawl-py>=1.0.0 +apify_client>=1.8.1 +tavily-python>=0.5.0 +dappier>=0.3.3 +sympy>=1.13.3 + +# Optional dependencies - Communication platform tools +slack-sdk>=3.27.2 +slack-bolt>=1.20.1 +pygithub>=2.3.0 +pyTelegramBotAPI>=4.18.0 +discord.py>=2.3.2 +notion-client>=2.2.1 +praw>=7.7.1 + +# Optional dependencies - Data science and analytics tools +rouge>=1.0.1 +aiosqlite>=0.20.0 +textblob>=0.17.1 +datacommons>=1.4.3 +datacommons_pandas>=0.0.3 +pandas>=1.5.3 +stripe>=11.3.0 +networkx>=3.4.2 + +# Optional dependencies - Research tools +scholarly[tor]==1.7.11 +arxiv>=2.1.3 +arxiv2text>=0.1.14 + +# Optional dependencies - Development tools +outlines>=0.1.7 +docker>=7.1.0 +jupyter_client>=8.6.2 +ipykernel>=6.0.0 +agentops>=0.3.21 +e2b-code-interpreter>=1.0.3 +tree-sitter-python>=0.23.6 +tree-sitter>=0.23.2 +pyyaml>=6.0.2 + +# Development and testing tools +pytest>=7.0.0 +pytest-asyncio>=0.23.0 +mock>=5.0.0 +pytest-cov>=4.0.0 +ruff>=0.7.0 +mypy>=1.5.1 +toml>=0.10.2 +pre-commit>=3.0.0 +gradio>=3.0.0 + +# Type stubs +types-Pillow +types-Pygments +types-mock +types-regex +types-setuptools +types-tqdm +types-colorama>=0.0.0 +types-requests>=2.0.0 +types-PyYAML>=6.0.0