diff --git a/docs/changelog.mdx b/docs/changelog.mdx
index e88d1f632..c288fc8b2 100644
--- a/docs/changelog.mdx
+++ b/docs/changelog.mdx
@@ -4,6 +4,36 @@ description: View the latest updates and changes to CrewAI
icon: timeline
---
+
+ ## Release Highlights
+
+
+
+
+ **New Features & Enhancements**
+ - Agents as an atomic unit. (`Agent(...).kickoff()`)
+ - Support for [Custom LLM implementations](https://docs.crewai.com/guides/advanced/custom-llm).
+ - Integrated External Memory and [Opik observability](https://docs.crewai.com/how-to/opik-observability).
+ - Enhanced YAML extraction.
+ - Multimodal agent validation.
+ - Added Secure fingerprints for agents and crews.
+
+ **Core Improvements & Fixes**
+ - Improved serialization, agent copying, and Python compatibility.
+ - Added wildcard support to `emit()`
+ - Added support for additional router calls and context window adjustments.
+ - Fixed typing issues, validation, and import statements.
+ - Improved method performance.
+ - Enhanced agent task handling, event emissions, and memory management.
+ - Fixed CLI issues, conditional tasks, cloning behavior, and tool outputs.
+
+ **Documentation & Guides**
+ - Improved documentation structure, theme, and organization.
+ - Added guides for Local NVIDIA NIM with WSL2, W&B Weave, and Arize Phoenix.
+ - Updated tool configuration examples, prompts, and observability docs.
+ - Guide on using singular agents within Flows.
+
+
**Features**
- Converted tabs to spaces in `crew.py` template
diff --git a/docs/concepts/llamaindex-tools.mdx b/docs/concepts/llamaindex-tools.mdx
deleted file mode 100644
index 3a5ec1412..000000000
--- a/docs/concepts/llamaindex-tools.mdx
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: Using LlamaIndex Tools
-description: Learn how to integrate LlamaIndex tools with CrewAI agents to enhance search-based queries and more.
-icon: toolbox
----
-
-## Using LlamaIndex Tools
-
-
- CrewAI seamlessly integrates with LlamaIndex’s comprehensive toolkit for RAG (Retrieval-Augmented Generation) and agentic pipelines, enabling advanced search-based queries and more.
-
-
-Here are the available built-in tools offered by LlamaIndex.
-
-```python Code
-from crewai import Agent
-from crewai_tools import LlamaIndexTool
-
-# Example 1: Initialize from FunctionTool
-from llama_index.core.tools import FunctionTool
-
-your_python_function = lambda ...: ...
-og_tool = FunctionTool.from_defaults(
- your_python_function,
- name="",
- description=''
-)
-tool = LlamaIndexTool.from_tool(og_tool)
-
-# Example 2: Initialize from LlamaHub Tools
-from llama_index.tools.wolfram_alpha import WolframAlphaToolSpec
-wolfram_spec = WolframAlphaToolSpec(app_id="")
-wolfram_tools = wolfram_spec.to_tool_list()
-tools = [LlamaIndexTool.from_tool(t) for t in wolfram_tools]
-
-# Example 3: Initialize Tool from a LlamaIndex Query Engine
-query_engine = index.as_query_engine()
-query_tool = LlamaIndexTool.from_query_engine(
- query_engine,
- name="Uber 2019 10K Query Tool",
- description="Use this tool to lookup the 2019 Uber 10K Annual Report"
-)
-
-# Create and assign the tools to an agent
-agent = Agent(
- role='Research Analyst',
- goal='Provide up-to-date market analysis',
- backstory='An expert analyst with a keen eye for market trends.',
- tools=[tool, *tools, query_tool]
-)
-
-# rest of the code ...
-```
-
-## Steps to Get Started
-
-To effectively use the LlamaIndexTool, follow these steps:
-
-
-
- Make sure that `crewai[tools]` package is installed in your Python environment:
-
- ```shell Terminal
- pip install 'crewai[tools]'
- ```
-
-
-
- Follow the LlamaIndex documentation [LlamaIndex Documentation](https://docs.llamaindex.ai/) to set up a RAG/agent pipeline.
-
-
\ No newline at end of file
diff --git a/docs/docs.json b/docs/docs.json
index 4ea940973..9775aef27 100644
--- a/docs/docs.json
+++ b/docs/docs.json
@@ -11,22 +11,21 @@
"navigation": {
"tabs": [
{
- "tab": "Get Started",
+ "tab": "Documentation",
"groups": [
{
"group": "Get Started",
"pages": [
"introduction",
"installation",
- "quickstart",
- "changelog"
+ "quickstart"
]
},
{
"group": "Guides",
"pages": [
{
- "group": "Concepts",
+ "group": "Strategy",
"pages": [
"guides/concepts/evaluating-use-cases"
]
@@ -79,41 +78,6 @@
"concepts/event-listener"
]
},
- {
- "group": "How to Guides",
- "pages": [
- "how-to/create-custom-tools",
- "how-to/sequential-process",
- "how-to/hierarchical-process",
- "how-to/custom-manager-agent",
- "how-to/llm-connections",
- "how-to/customizing-agents",
- "how-to/multimodal-agents",
- "how-to/coding-agents",
- "how-to/force-tool-output-as-result",
- "how-to/human-input-on-execution",
- "how-to/kickoff-async",
- "how-to/kickoff-for-each",
- "how-to/replay-tasks-from-latest-crew-kickoff",
- "how-to/conditional-tasks",
- "how-to/langchain-tools",
- "how-to/llamaindex-tools"
- ]
- },
- {
- "group": "Agent Monitoring & Observability",
- "pages": [
- "how-to/agentops-observability",
- "how-to/arize-phoenix-observability",
- "how-to/langfuse-observability",
- "how-to/langtrace-observability",
- "how-to/mlflow-observability",
- "how-to/openlit-observability",
- "how-to/opik-observability",
- "how-to/portkey-observability",
- "how-to/weave-integration"
- ]
- },
{
"group": "Tools",
"pages": [
@@ -141,6 +105,7 @@
"tools/hyperbrowserloadtool",
"tools/linkupsearchtool",
"tools/llamaindextool",
+ "tools/langchaintool",
"tools/serperdevtool",
"tools/s3readertool",
"tools/s3writertool",
@@ -170,6 +135,40 @@
"tools/youtubevideosearchtool"
]
},
+ {
+ "group": "Agent Monitoring & Observability",
+ "pages": [
+ "how-to/agentops-observability",
+ "how-to/arize-phoenix-observability",
+ "how-to/langfuse-observability",
+ "how-to/langtrace-observability",
+ "how-to/mlflow-observability",
+ "how-to/openlit-observability",
+ "how-to/opik-observability",
+ "how-to/portkey-observability",
+ "how-to/weave-integration"
+ ]
+ },
+ {
+ "group": "Learn",
+ "pages": [
+ "how-to/conditional-tasks",
+ "how-to/coding-agents",
+ "how-to/create-custom-tools",
+ "how-to/custom-llm",
+ "how-to/custom-manager-agent",
+ "how-to/customizing-agents",
+ "how-to/force-tool-output-as-result",
+ "how-to/hierarchical-process",
+ "how-to/human-input-on-execution",
+ "how-to/kickoff-async",
+ "how-to/kickoff-for-each",
+ "how-to/llm-connections",
+ "how-to/multimodal-agents",
+ "how-to/replay-tasks-from-latest-crew-kickoff",
+ "how-to/sequential-process"
+ ]
+ },
{
"group": "Telemetry",
"pages": [
@@ -188,19 +187,35 @@
]
}
]
+ },
+ {
+ "tab": "Releases",
+ "groups": [
+ {
+ "group": "Releases",
+ "pages": [
+ "changelog"
+ ]
+ }
+ ]
}
],
"global": {
"anchors": [
{
- "anchor": "Community",
+ "anchor": "Website",
+ "href": "https://crewai.com",
+ "icon": "globe"
+ },
+ {
+ "anchor": "Forum",
"href": "https://community.crewai.com",
"icon": "discourse"
},
{
- "anchor": "Tutorials",
- "href": "https://www.youtube.com/@crewAIInc",
- "icon": "youtube"
+ "anchor": "Get Help",
+ "href": "mailto:support@crewai.com",
+ "icon": "headset"
}
]
}
@@ -214,6 +229,12 @@
"strict": false
},
"navbar": {
+ "links": [
+ {
+ "label": "Start Free Trial",
+ "href": "https://app.crewai.com"
+ }
+ ],
"primary": {
"type": "github",
"href": "https://github.com/crewAIInc/crewAI"
diff --git a/docs/custom_llm.md b/docs/how-to/custom-llm.mdx
similarity index 99%
rename from docs/custom_llm.md
rename to docs/how-to/custom-llm.mdx
index 3d0fdc0c4..448e60b37 100644
--- a/docs/custom_llm.md
+++ b/docs/how-to/custom-llm.mdx
@@ -1,9 +1,13 @@
-# Custom LLM Implementations
+---
+title: Custom LLM Implementation
+description: Learn how to create custom LLM implementations in CrewAI.
+icon: code
+---
+
+## Custom LLM Implementations
CrewAI now supports custom LLM implementations through the `BaseLLM` abstract base class. This allows you to create your own LLM implementations that don't rely on litellm's authentication mechanism.
-## Using Custom LLM Implementations
-
To create a custom LLM implementation, you need to:
1. Inherit from the `BaseLLM` abstract base class
diff --git a/docs/how-to/custom-manager-agent.mdx b/docs/how-to/custom-manager-agent.mdx
index 471091d6b..2fa5b1a7a 100644
--- a/docs/how-to/custom-manager-agent.mdx
+++ b/docs/how-to/custom-manager-agent.mdx
@@ -1,5 +1,5 @@
---
-title: Create Your Own Manager Agent
+title: Custom Manager Agent
description: Learn how to set a custom agent as the manager in CrewAI, providing more control over task management and coordination.
icon: user-shield
---
diff --git a/docs/how-to/replay-tasks-from-latest-crew-kickoff.mdx b/docs/how-to/replay-tasks-from-latest-crew-kickoff.mdx
index 782f2d04f..537f49c46 100644
--- a/docs/how-to/replay-tasks-from-latest-crew-kickoff.mdx
+++ b/docs/how-to/replay-tasks-from-latest-crew-kickoff.mdx
@@ -20,10 +20,8 @@ Here's an example of how to replay from a task:
To use the replay feature, follow these steps:
-
-
-
-
+
+
To view the latest kickoff task_ids use:
diff --git a/docs/images/v01140.png b/docs/images/v01140.png
new file mode 100644
index 000000000..c2fbaa0a2
Binary files /dev/null and b/docs/images/v01140.png differ
diff --git a/docs/quickstart.mdx b/docs/quickstart.mdx
index cb01c15cc..1f773fb23 100644
--- a/docs/quickstart.mdx
+++ b/docs/quickstart.mdx
@@ -336,9 +336,22 @@ email_summarizer_task:
- research_task
```
-## Deploying Your Project
+## Deploying Your Crew
-The easiest way to deploy your crew is through [CrewAI Enterprise](http://app.crewai.com), where you can deploy your crew in a few clicks.
+The easiest way to deploy your crew to production is through [CrewAI Enterprise](http://app.crewai.com).
+
+Watch this video tutorial for a step-by-step demonstration of deploying your crew to [CrewAI Enterprise](http://app.crewai.com) using the CLI.
+
+
CrewAI seamlessly integrates with LangChain's comprehensive [list of tools](https://python.langchain.com/docs/integrations/tools/), all of which can be used with CrewAI.