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.