From 2ef896bdd560e37c77fab8033761903382be88f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Moura?= Date: Sat, 8 Mar 2025 20:38:40 -0800 Subject: [PATCH] update readme --- README.md | 173 ++++++++++++++++++++++++++++++++---------- docs/asset.png | Bin 0 -> 56819 bytes docs/introduction.mdx | 4 +- 3 files changed, 136 insertions(+), 41 deletions(-) create mode 100644 docs/asset.png diff --git a/README.md b/README.md index 06044f0c0..b44ff6f4f 100644 --- a/README.md +++ b/README.md @@ -2,21 +2,46 @@ ![Logo of CrewAI](./docs/crewai_logo.png) -# **CrewAI** -**CrewAI**: Production-grade framework for orchestrating sophisticated AI agent systems. From simple automations to complex real-world applications, CrewAI provides precise control and deep customization. By fostering collaborative intelligence through flexible, production-ready architecture, CrewAI empowers agents to work together seamlessly, tackling complex business challenges with predictable, consistent results. + -**CrewAI Enterprise** -Want to plan, build (+ no code), deploy, monitor and interare your agents: [CrewAI Enterprise](https://www.crewai.com/enterprise). Designed for complex, real-world applications, our enterprise solution offers: +### Fast and Flexible Multi-Agent Automation Framework -- **Seamless Integrations** -- **Scalable & Secure Deployment** -- **Actionable Insights** -- **24/7 Support** +CrewAI is a lean, lightning-fast Python framework built entirely from +scratch—completely **independent of LangChain or other agent frameworks**. +It empowers developers with both high-level simplicity and precise low-level +control, ideal for creating autonomous AI agents tailored to any scenario. + +- **CrewAI Crews**: Optimize for autonomy and collaborative intelligence. +- **CrewAI Flows**: Enable granular, event-driven control, single LLM calls for precise task orchestration and supports Crews natively + +With over 100,000 developers certified through our community courses at +[learn.crewai.com](https://learn.crewai.com), CrewAI is rapidly becoming the +standard for enterprise-ready AI automation. + +# CrewAI Enterprise Suite + +CrewAI Enterprise Suite is a comprehensive bundle tailored for organizations +that require secure, scalable, and easy-to-manage agent-driven automation. + +You can try one part of the suite the [Crew Control Plane for free](https://app.crewai.com) + +## Crew Control Plane Key Features: +- **Tracing & Observability**: Monitor and track your AI agents and workflows in real-time, including metrics, logs, and traces. +- **Unified Control Plane**: A centralized platform for managing, monitoring, and scaling your AI agents and workflows. +- **Seamless Integrations**: Easily connect with existing enterprise systems, data sources, and cloud infrastructure. +- **Advanced Security**: Built-in robust security and compliance measures ensuring safe deployment and management. +- **Actionable Insights**: Real-time analytics and reporting to optimize performance and decision-making. +- **24/7 Support**: Dedicated enterprise support to ensure uninterrupted operation and quick resolution of issues. +- **On-premise and Cloud Deployment Options**: Deploy CrewAI Enterprise on-premise or in the cloud, depending on your security and compliance requirements. + +CrewAI Enterprise is designed for enterprises seeking a powerful, +reliable solution to transform complex business processes into efficient, +intelligent automations.

-[Homepage](https://www.crewai.com/) | [Documentation](https://docs.crewai.com/) | [Chat with Docs](https://chatg.pt/DWjSBZn) | [Examples](https://github.com/crewAIInc/crewAI-examples) | [Discourse](https://community.crewai.com) +[Homepage](https://www.crewai.com/) | [Documentation](https://docs.crewai.com/) | [Chat with Docs](https://chatg.pt/DWjSBZn) | [Discourse](https://community.crewai.com)

@@ -47,8 +72,19 @@ Want to plan, build (+ no code), deploy, monitor and interare your agents: [Crew ## Why CrewAI? -The power of AI collaboration has too much to offer. -CrewAI is a standalone framework, built from the ground up without dependencies on Langchain or other agent frameworks. It's designed to enable AI agents to assume roles, share goals, and operate in a cohesive unit - much like a well-oiled crew. Whether you're building a smart assistant platform, an automated customer service ensemble, or a multi-agent research team, CrewAI provides the backbone for sophisticated multi-agent interactions. +
+ CrewAI Logo +
+ +CrewAI unlocks the true potential of multi-agent automation, delivering the best-in-class combination of speed, flexibility, and control with either Crews of AI Agents or Flows of Events: + +- **Standalone Framework**: Built from scratch, independent of LangChain or any other agent framework. +- **High Performance**: Optimized for speed and minimal resource usage, enabling faster execution. +- **Flexible Low Level Customization**: Complete freedom to customize at both high and low levels - from overall workflows and system architecture to granular agent behaviors, internal prompts, and execution logic. +- **Ideal for Every Use Case**: Proven effective for both simple tasks and highly complex, real-world, enterprise-grade scenarios. +- **Robust Community**: Backed by a rapidly growing community of over **100,000 certified** developers offering comprehensive support and resources. + +CrewAI empowers developers and enterprises to confidently build intelligent automations, bridging the gap between simplicity, flexibility, and performance. ## Getting Started @@ -321,18 +357,16 @@ In addition to the sequential process, you can use the hierarchical process, whi ## Key Features -**Note**: CrewAI is a standalone framework built from the ground up, without dependencies on Langchain or other agent frameworks. +CrewAI stands apart as a lean, standalone, high-performance framework delivering simplicity, flexibility, and precise control—free from the complexity and limitations found in other agent frameworks. -- **Deep Customization**: Build sophisticated agents with full control over the system - from overriding inner prompts to accessing low-level APIs. Customize roles, goals, tools, and behaviors while maintaining clean abstractions. -- **Autonomous Inter-Agent Delegation**: Agents can autonomously delegate tasks and inquire amongst themselves, enabling complex problem-solving in real-world scenarios. -- **Flexible Task Management**: Define and customize tasks with granular control, from simple operations to complex multi-step processes. -- **Production-Grade Architecture**: Support for both high-level abstractions and low-level customization, with robust error handling and state management. -- **Predictable Results**: Ensure consistent, accurate outputs through programmatic guardrails, agent training capabilities, and flow-based execution control. See our [documentation on guardrails](https://docs.crewai.com/how-to/guardrails/) for implementation details. -- **Model Flexibility**: Run your crew using OpenAI or open source models with production-ready integrations. See [Connect CrewAI to LLMs](https://docs.crewai.com/how-to/LLM-Connections/) for detailed configuration options. -- **Event-Driven Flows**: Build complex, real-world workflows with precise control over execution paths, state management, and conditional logic. -- **Process Orchestration**: Achieve any workflow pattern through flows - from simple sequential and hierarchical processes to complex, custom orchestration patterns with conditional branching and parallel execution. +- **Standalone & Lean**: Completely independent from other frameworks like LangChain, offering faster execution and lighter resource demands. +- **Flexible & Precise**: Easily orchestrate autonomous agents through intuitive [Crews](https://docs.crewai.com/concepts/crews) or precise [Flows](https://docs.crewai.com/concepts/flows), achieving perfect balance for your needs. +- **Seamless Integration**: Effortlessly combine Crews (autonomy) and Flows (precision) to create complex, real-world automations. +- **Deep Customization**: Tailor every aspect—from high-level workflows down to low-level internal prompts and agent behaviors. +- **Reliable Performance**: Consistent results across simple tasks and complex, enterprise-level automations. +- **Thriving Community**: Backed by robust documentation and over 100,000 certified developers, providing exceptional support and guidance. -![CrewAI Mind Map](./docs/crewAI-mindmap.png "CrewAI Mind Map") +Choose CrewAI to easily build powerful, adaptable, and production-ready AI automations. ## Examples @@ -563,13 +597,39 @@ Users can opt-in to Further Telemetry, sharing the complete telemetry data by se CrewAI is released under the [MIT License](https://github.com/crewAIInc/crewAI/blob/main/LICENSE). + ## Frequently Asked Questions (FAQ) -### Q: What is CrewAI? -A: CrewAI is a cutting-edge framework for orchestrating role-playing, autonomous AI agents. It enables agents to work together seamlessly, tackling complex tasks through collaborative intelligence. +### General +- [What exactly is CrewAI?](#q-what-exactly-is-crewai) +- [How do I install CrewAI?](#q-how-do-i-install-crewai) +- [Does CrewAI depend on LangChain?](#q-does-crewai-depend-on-langchain) +- [Is CrewAI open-source?](#q-is-crewai-open-source) +- [Does CrewAI collect data from users?](#q-does-crewai-collect-data-from-users) + +### Features and Capabilities +- [Can CrewAI handle complex use cases?](#q-can-crewai-handle-complex-use-cases) +- [Can I use CrewAI with local AI models?](#q-can-i-use-crewai-with-local-ai-models) +- [What makes Crews different from Flows?](#q-what-makes-crews-different-from-flows) +- [How is CrewAI better than LangChain?](#q-how-is-crewai-better-than-langchain) +- [Does CrewAI support fine-tuning or training custom models?](#q-does-crewai-support-fine-tuning-or-training-custom-models) + +### Resources and Community +- [Where can I find real-world CrewAI examples?](#q-where-can-i-find-real-world-crewai-examples) +- [How can I contribute to CrewAI?](#q-how-can-i-contribute-to-crewai) + +### Enterprise Features +- [What additional features does CrewAI Enterprise offer?](#q-what-additional-features-does-crewai-enterprise-offer) +- [Is CrewAI Enterprise available for cloud and on-premise deployments?](#q-is-crewai-enterprise-available-for-cloud-and-on-premise-deployments) +- [Can I try CrewAI Enterprise for free?](#q-can-i-try-crewai-enterprise-for-free) + + + +### Q: What exactly is CrewAI? +A: CrewAI is a standalone, lean, and fast Python framework built specifically for orchestrating autonomous AI agents. Unlike frameworks like LangChain, CrewAI does not rely on external dependencies, making it leaner, faster, and simpler. ### Q: How do I install CrewAI? -A: You can install CrewAI using pip: +A: Install CrewAI using pip: ```shell pip install crewai ``` @@ -577,27 +637,62 @@ For additional tools, use: ```shell pip install 'crewai[tools]' ``` +### Q: Does CrewAI depend on LangChain? +A: No. CrewAI is built entirely from the ground up, with no dependencies on LangChain or other agent frameworks. This ensures a lean, fast, and flexible experience. -### Q: Can I use CrewAI with local models? -A: Yes, CrewAI supports various LLMs, including local models. You can configure your agents to use local models via tools like Ollama & LM Studio. Check the [LLM Connections documentation](https://docs.crewai.com/how-to/LLM-Connections/) for more details. +### Q: Can CrewAI handle complex use cases? +A: Yes. CrewAI excels at both simple and highly complex real-world scenarios, offering deep customization options at both high and low levels, from internal prompts to sophisticated workflow orchestration. -### Q: What are the key features of CrewAI? -A: Key features include role-based agent design, autonomous inter-agent delegation, flexible task management, process-driven execution, output saving as files, and compatibility with both open-source and proprietary models. +### Q: Can I use CrewAI with local AI models? +A: Absolutely! CrewAI supports various language models, including local ones. Tools like Ollama and LM Studio allow seamless integration. Check the [LLM Connections documentation](https://docs.crewai.com/how-to/LLM-Connections/) for more details. -### Q: How does CrewAI compare to other AI orchestration tools? -A: CrewAI is designed with production in mind, offering flexibility similar to Autogen's conversational agents and structured processes like ChatDev, but with more adaptability for real-world applications. +### Q: What makes Crews different from Flows? +A: Crews provide autonomous agent collaboration, ideal for tasks requiring flexible decision-making and dynamic interaction. Flows offer precise, event-driven control, ideal for managing detailed execution paths and secure state management. You can seamlessly combine both for maximum effectiveness. + +### Q: How is CrewAI better than LangChain? +A: CrewAI provides simpler, more intuitive APIs, faster execution speeds, more reliable and consistent results, robust documentation, and an active community—addressing common criticisms and limitations associated with LangChain. ### Q: Is CrewAI open-source? -A: Yes, CrewAI is open-source and welcomes contributions from the community. +A: Yes, CrewAI is open-source and actively encourages community contributions and collaboration. -### Q: Does CrewAI collect any data? -A: CrewAI uses anonymous telemetry to collect usage data for improvement purposes. No sensitive data (like prompts, task descriptions, or API calls) is collected. Users can opt-in to share more detailed data by setting `share_crew=True` on their Crews. +### Q: Does CrewAI collect data from users? +A: CrewAI collects anonymous telemetry data strictly for improvement purposes. Sensitive data such as prompts, tasks, or API responses are never collected unless explicitly enabled by the user. -### Q: Where can I find examples of CrewAI in action? -A: You can find various real-life examples in the [CrewAI-examples repository](https://github.com/crewAIInc/crewAI-examples), including trip planners, stock analysis tools, and more. - -### Q: What is the difference between Crews and Flows? -A: Crews and Flows serve different but complementary purposes in CrewAI. Crews are teams of AI agents working together to accomplish specific tasks through role-based collaboration, delivering accurate and predictable results. Flows, on the other hand, are event-driven workflows that can orchestrate both Crews and regular Python code, allowing you to build complex automation pipelines with secure state management and conditional execution paths. +### Q: Where can I find real-world CrewAI examples? +A: Check out practical examples in the [CrewAI-examples repository](https://github.com/crewAIInc/crewAI-examples), covering use cases like trip planners, stock analysis, and job postings. ### Q: How can I contribute to CrewAI? -A: Contributions are welcome! You can fork the repository, create a new branch for your feature, add your improvement, and send a pull request. Check the Contribution section in the README for more details. +A: Contributions are warmly welcomed! Fork the repository, create your branch, implement your changes, and submit a pull request. See the Contribution section of the README for detailed guidelines. + +### Q: What additional features does CrewAI Enterprise offer? +A: CrewAI Enterprise provides advanced features such as a unified control plane, real-time observability, secure integrations, advanced security, actionable insights, and dedicated 24/7 enterprise support. + +### Q: Is CrewAI Enterprise available for cloud and on-premise deployments? +A: Yes, CrewAI Enterprise supports both cloud-based and on-premise deployment options, allowing enterprises to meet their specific security and compliance requirements. + +### Q: Can I try CrewAI Enterprise for free? +A: Yes, you can explore part of the CrewAI Enterprise Suite by accessing the [Crew Control Plane](https://app.crewai.com) for free. + +### Q: Does CrewAI support fine-tuning or training custom models? +A: Yes, CrewAI can integrate with custom-trained or fine-tuned models, allowing you to enhance your agents with domain-specific knowledge and accuracy. + +### Q: Can CrewAI agents interact with external tools and APIs? +A: Absolutely! CrewAI agents can easily integrate with external tools, APIs, and databases, empowering them to leverage real-world data and resources. + +### Q: Is CrewAI suitable for production environments? +A: Yes, CrewAI is explicitly designed with production-grade standards, ensuring reliability, stability, and scalability for enterprise deployments. + +### Q: How scalable is CrewAI? +A: CrewAI is highly scalable, supporting simple automations and large-scale enterprise workflows involving numerous agents and complex tasks simultaneously. + +### Q: Does CrewAI offer debugging and monitoring tools? +A: Yes, CrewAI Enterprise includes advanced debugging, tracing, and real-time observability features, simplifying the management and troubleshooting of your automations. + +### Q: What programming languages does CrewAI support? +A: CrewAI is primarily Python-based but easily integrates with services and APIs written in any programming language through its flexible API integration capabilities. + +### Q: Does CrewAI offer educational resources for beginners? +A: Yes, CrewAI provides extensive beginner-friendly tutorials, courses, and documentation through learn.crewai.com, supporting developers at all skill levels. + +### Q: Can CrewAI automate human-in-the-loop workflows? +A: Yes, CrewAI fully supports human-in-the-loop workflows, allowing seamless collaboration between human experts and AI agents for enhanced decision-making. diff --git a/docs/asset.png b/docs/asset.png new file mode 100644 index 0000000000000000000000000000000000000000..fda06439cef41563fc0039d8639338d48491a0c6 GIT binary patch literal 56819 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 literal 0 HcmV?d00001 diff --git a/docs/introduction.mdx b/docs/introduction.mdx index 9aed6cdea..a626e4362 100644 --- a/docs/introduction.mdx +++ b/docs/introduction.mdx @@ -6,7 +6,7 @@ icon: handshake # What is CrewAI? -**CrewAI is a cutting-edge framework for orchestrating autonomous AI agents.** +**CrewAI is a cutting-edge framework for orchestrating autonomous AI agents.** CrewAI enables you to create AI teams where each agent has specific roles, tools, and goals, working together to accomplish complex tasks. @@ -19,7 +19,7 @@ Think of it as assembling your dream team - each member (agent) brings unique sk - CrewAI Framework Overview + CrewAI Framework Overview | Component | Description | Key Features |