diff --git a/www/docs/agent-os/agent-platform-overview.md b/www/docs/agent-os/agent-platform-overview.md deleted file mode 100644 index 194668f19..000000000 --- a/www/docs/agent-os/agent-platform-overview.md +++ /dev/null @@ -1,181 +0,0 @@ ---- -id: agent-platform-overview -title: Agents -sidebar_label: Agents ---- - -import CodePanel from '@site/src/theme/CodePanel'; - -Agents are autonomous systems that understand natural language and use tools -and reasoning to accomplish tasks. - -1. [**Create an agent**](/docs/rest-api/create-agent): Define the agent's name, description, and available - tools. -2. [**Write instructions**](/docs/rest-api/create-instruction): Create templates that guide the agent's behavior. -3. [**Configure tools**](/docs/rest-api/list-tools): Set up corpus access permissions and any external - integrations. -4. [**Test agents with sessions**](/docs/rest-api/create-agent-session): Start conversations and iterate on your - configuration. - - -:::tip Quick Start -To build your first agent, see the [**Agent quick start**](/docs/agents/agents-quickstart). -Or, check out our [**Agents APIs**](/docs/rest-api/agents). -::: - -## Concepts - -The core concept to understand about agents is that their behavior is defined -by instructions. The agent uses these instructions alongside information from -a conversation session to determine how to respond to user input, including -which tools to use. - -These are the other core concepts when it comes to agents: - -* **Tools:** Tools provide agents with capabilities to interact with data and - external systems. -* **Sessions:** Sessions preserve context throughout a conversation so the agent - can consider prior information when responding to a query. - -
-```mermaid -flowchart TD - %% Nodes - User["User"] - Session["**Agent**"] - Agent["**Session**"] - Inst["**Instructions**"] - Query["**Agent Query**"] - - %% Tools layer - AvailableTools["**Tools** (Corpora Search, Web Search, Lambda Tools)"] - - %% MCP - MCP["**MCP Tool + Client**"] - ExtMCP["External MCP Server"] - - %% Core flow - User -->|Query| Session - Session -->|Conversation state| Agent - Agent --> |Configured with| Inst - Inst --> |Guide agent behavior| Query - - %% Tool execution paths - Query <--> AvailableTools - - %% Optional MCP path (de-emphasized) - Query <--> MCP - MCP -.-> ExtMCP - - %% Return to user - Query -->|Synthesizes response| Session - Session -->|Response| User - - %% Classes for color grouping - classDef userEntry fill:#182033,color:#fff,stroke:#fff,stroke-width:2px; - classDef session fill:#EEF2F8,color:#182033,stroke:#787878,stroke-width:2px; - classDef agentic fill:#EEF2F8,color:#182033,stroke:#787878,stroke-width:2px; - classDef toolLayer fill:#EEF2F8,color:#182033,stroke:#787878,stroke-width:2px; - classDef corpus fill:#E9368E,color:#fff,stroke:#E9368E,stroke-width:2px; - classDef external fill:#182033,color:#fff,stroke:#fff,stroke-width:2px; - classDef mcpTP fill:#EEF2F8,color:#182033,stroke:#787878,stroke-width:2px; - - %% Assign classes - class User userEntry; - class Session session; - class Agent,Inst,Query agentic; - class AvailableTools toolLayer; - class ExtMCP external; - class MCP mcpTP; - -``` -
- -## Example: Research assistant agent with web search - -Here's how to create a research assistant agent that can search the web for -current information. This agent completes the following tasks: -- Search the web when users ask questions requiring current information -- Limit search results to 20 for comprehensive responses -- Use a lower temperature (0.3) for more consistent, factual responses -- Follow instructions to cite sources and admit uncertainty when appropriate -- Configure retry logic to handle transient API failures gracefully - -This example requires no corpus setup, making it perfect for immediate testing. - - - -To chat with your agent, read on about [Sessions](/docs/agents/sessions). diff --git a/www/docs/agent-os/agent-tools-overview.md b/www/docs/agent-os/agent-tools-overview.md deleted file mode 100644 index e3e0a597d..000000000 --- a/www/docs/agent-os/agent-tools-overview.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: agent-tools-overview -title: Agent Tools Overview -sidebar_label: Overview ---- - -import CodePanel from '@site/src/theme/CodePanel'; - -Vectara provides several tools that enable agents to perform searches, manage -artifacts, process documents, and connect to external systems. This overview -summarizes each tool type and its capabilities. - -## Corpora search -* Searches through Vectara corpora to find relevant information. Agents can use - this tool to query your indexed document collections and retrieve contextually - relevant results. -* Supports custom search parameters, generation settings, and query - configuration. - -## Web search -* Searches the internet for current information beyond your indexed corpora. -* Configurable result limits and query parameters. You can also specify - -# Sub-agents -* Initiates specialized sub-agents to handle complex, multi-step tasks autonomously. -* Provides separate context management, configurable session timeouts, specialized workflows. - -## Lambda tools -* Enables user-defined Python functions that run in a secure, sandboxed - environment. -* Automatic input and output schema generation from type annotations. - -## Document conversion -* Converts supported document types (PDF, DOCX, PPTX, etc.) into markdown. - -## Artifacts -* Reads artifact content stored within the agent session with optional range - and encoding parameters. -* Searches through an artifact using standard pattern matching syntax and options. -* Cross-reference artifacts across multiple turns of a conversation. -* Create new files during the session, such as saving reports. - -## Image reading -* Interprets image uploads with visual comprehension, such as charts, graphs, - screenshots, and diagrams. - -## Model Context Protocol (MCP) -MCP tools extend agent functionality with external integrations, file handling, -and media processing capabilities. Each MCP tool operates in a secure sandbox -with clear input/output schemas. diff --git a/www/docs/agent-os/agents-quickstart.md b/www/docs/agent-os/agents-quickstart.md deleted file mode 100644 index c2b16f77a..000000000 --- a/www/docs/agent-os/agents-quickstart.md +++ /dev/null @@ -1,364 +0,0 @@ ---- -id: agents-quickstart -title: Quickstart -sidebar_label: Quickstart ---- - -import CodePanel from '@site/src/theme/CodePanel'; - -Vectara Agents are AI assistants that can use tools, follow instructions, and -maintain conversation context. This guide shows you how to create and interact -with a Vectara agent using the API. We'll walk through the workflow from agent -creation to having a conversation. Here is some information about using agents: - -- **Sessions are required**: You cannot chat with an agent directly. You must - create a session first. -- **Sessions maintain context**: All messages within a session share - conversation history. -- **One agent, many sessions**: Multiple users can have separate conversations with - the same agent. -- **Event-based architecture**: All interactions are tracked as events for - full auditability. - -The agent workflow follows these steps: - -1. **Create an agent** - Configure your AI assistant with tools and instructions. -2. **Create a session** - Start a conversation context for message history. -3. **Send messages** - Chat with the agent through the session. - -Let's walk through each step with working examples. - -```mermaid -flowchart LR - A[👤 User] --> B{Step 1:
Create Agent} - B -->|Console UI| C[🖥️ Configure Agent] - B -->|API| D[⚡ POST /v2/agents] - C --> E[🤖 Agent Created] - D --> E - E --> F[🔗 Step 2:
Create Session] - F --> G[đź’¬ Step 3:
Chat with Agent] - - classDef userNode fill:#F8FAFC,stroke:#334155,stroke-width:3px,color:#1E293B - classDef actionNode fill:#3B82F6,stroke:#1D4ED8,stroke-width:3px,color:#fff - classDef configNode fill:#10B981,stroke:#047857,stroke-width:3px,color:#fff - classDef resultNode fill:#F59E0B,stroke:#D97706,stroke-width:3px,color:#fff - classDef chatNode fill:#EC4899,stroke:#BE185D,stroke-width:3px,color:#fff - - class A userNode - class B,F actionNode - class C,D configNode - class E resultNode - class G chatNode -``` - -## Step 1: Create an Agent - -First, let's create a simple research assistant agent that can search the web. -This example requires no corpus setup, so you can follow along immediately. - -### Create an agent with the console UI (Recommended) - -For your first agent, we recommend using the Console UI. If you need more -detailed UI instructions, see [Create an Agent](/docs/console-ui/agents/create-an-agent). - -1. Navigate to **Agents** in the sidebar. -2. Click **Add Agent**. -3. Configure each step: - - **General**: Name: `research-assistant` and description: `A research assistant that can search the web for current information` - - **Model**: Select `gpt-5`, and set `{"temperature":0.3}` for factual responses - - **Instructions**: `You are a helpful research assistant. When users ask questions, search the web - for current and accurate information. Always cite your sources and be honest if you cannot find reliable information.` - - **Tools**: Add Web Search tool with the argument override: `{"limit": 10}`. - - **Advanced**: Add `{"category": "research"}`. -4. Click **Create Agent**. - -### Create an agent with the API - -Alternatively, create the same agent programmatically: - -:::tip Curl Command Format -If you have issues with copy-pasting multi-line command, use a single-line version. -::: - - - -This creates an agent with an auto-generated key like `agt_research-assistant_abc123`. - - - -## Step 2: Create a Session - -First, create a session to maintain conversation context: - - - -This returns a session object with a `key` ( `ase_12345`) that you need in -the next step. - -## Step 3: Chat with the Agent - -Send user input by creating an event in the session: - - - -## Complete Example - -Here's a complete example using curl: - - - -## Test your agent with the console UI - -1. In the agent details page, click the **Chat** tab. -2. Try asking: `"What are the main benefits of solar energy for average Texas homes?"` -3. You should see the agent search the web and provide a cited response. - -### Expected response - -The agent acts as follows: -1. Uses web search to find current information. -2. Provides a summary with key points. -3. Includes source citations. -4. Shows tool usage in the response events. - -## Response format - -The agent responds with events that include: -- `input_message`: Your original message -- `thinking`: The agent's reasoning process (optional) -- `tool_input`/`tool_output`: Web search execution and results -- `agent_output`: The final response with citations. - diff --git a/www/docs/agent-os/create-a-lambda-tool.md b/www/docs/agent-os/create-a-lambda-tool.md deleted file mode 100644 index 5c82c9d14..000000000 --- a/www/docs/agent-os/create-a-lambda-tool.md +++ /dev/null @@ -1,268 +0,0 @@ ---- -id: create-a-lambda-tool -title: Create a Lambda Tool -sidebar_label: Create a Lambda Tool ---- - -import CodePanel from '@site/src/theme/CodePanel'; - -To create a Lambda Tool, review the prerequisites, define a function, and -use the API. - -1. Meet the following prerequisites: -- Access to the Vectara API with tool creation permissions. -- Basic Python familiarity. -- API key. -2. Define a simple function. The entry point must be `process`. - This example calculates customer scores based on their activity metrics: - dict: - """Calculate customer score based on activity metrics.""" - score = (order_count * 10 + total_revenue * 0.1) / days_active - tier = 'gold' if score > 20 else 'silver' if score > 10 else 'bronze' - return { - 'score': round(score, 2), - 'tier': tier - }` - } - ]} - /> - :::note Notes - - Use type annotations for automatic schema discovery - - Parameters with default values become optional in the schema - - Return a JSON-serializable dictionary - ::: - -3. Create the Lambda Tool with the API. - - dict:\\n score = (order_count * 10 + total_revenue * 0.1) / days_active\\n tier = 'gold' if score > 20 else 'silver' if score > 10 else 'bronze'\\n return {'score': round(score, 2), 'tier': tier}", - "execution_configuration": { - "max_execution_time_seconds": 30, - "max_memory_mb": 100 - } - }'` - } - ]} - /> - - **Example response:** - - dict:...", - "validation_status": "valid" - } - }` - } - ]} - /> - -The input and output schemas were automatically discovered from the function's -type annotations. - -## Test Lambda Tools - -Before deploying your Lambda Tool to agents, test it with sample inputs to -verify correct behavior. - -### Test your Lambda Tool - - - -**Test Response:** - - - -## Update lambda tools - -Modify existing Lambda Tools to update code, configuration, or metadata: - - dict:\\n base_score = (order_count * 10 + total_revenue * 0.1) / days_active\\n adjusted_score = base_score + (loyalty_points * 0.05)\\n return {\\'score\\': round(adjusted_score, 2), \\'tier\\': \\'platinum\\' if adjusted_score > 30 else \\'gold\\' if adjusted_score > 20 else \\'silver\\'}", - "execution_configuration": { - "max_execution_time_seconds": 60, - "max_memory_mb": 200 - } - }'` - } - ]} -/> - -When you update the code, schemas are automatically re-discovered from the -new function signature. - -## List all lambda tools - - - -## Disable a lambda tool - - - -## Delete a lambda tool - - - -## Available Python libraries - -Lambda Tools run in a secure sandbox with access to the -following Python 3.12 standard library modules: - -- **`json`** - JSON encoding and decoding -- **`math`** - Mathematical functions -- **`datetime`** - Date and time handling -- **`collections`** - Container datatypes (deque, Counter, OrderedDict, etc.) -- **`itertools`** - Iterator functions -- **`functools`** - Higher-order functions and operations on callable objects -- **`re`** - Regular expression operations -- **`time`** - Time access and conversions -- **`typing`** - Type hints and annotations (List, Dict, Optional, Union, TypedDict, etc.) - -:::warning Security Constraints -Lambda Tools cannot: -- Install additional packages (pip install is not available) -- Access the network (all network operations are blocked) -- Write to the file system (read-only environment) -- Execute system commands -- Import modules outside the allowed list -::: diff --git a/www/docs/agent-os/instructions.md b/www/docs/agent-os/instructions.md deleted file mode 100644 index cbb73822c..000000000 --- a/www/docs/agent-os/instructions.md +++ /dev/null @@ -1,217 +0,0 @@ ---- -id: instructions -title: Instructions -sidebar_label: Instructions ---- - -import CodePanel from '@site/src/theme/CodePanel'; - -An agent's behavior is defined by the instructions you give it. The agent uses -these instructions alongside information from a conversation session to -determine how to respond to user input, including which tools to use. - -This section provides information about creating instructions, velocity -templates, and some metadata pattern examples. - -:::tip Note -Instructions in Vectara are referred to as **system prompts** in other LLM APIs -(such as Gemini, Mistral, and OpenAI). If you are familiar with _system prompts_ -terminology, instructions serve a similar purpose. Instructions define the -role, behavior, and guidelines of an agent before any user interaction begins. -::: - -## Creating instructions - -To create an instruction, you provide information like `name` and `description`, -`template` details, and arbitrary `metadata` for tracking, versioning, or -categorization. - -Be specific to exactly what you want the agent to do. For emphasis, use CAPS -if you want the agent to follow a specific format. You can also use negative -prompts such as saying **DO NOT DO ...**. - -See [Create Instruction API](/docs/rest-api/create-instruction) for detailed specifications. - -## Using instructions in agents - -When creating or configuring agents, you can use instructions in two ways: - -* **Create new** instructions in the agent configuration directly: - -* Reference an **existing instruction** by name and version: - - -### Use multiple instructions - -Agents can use multiple instructions together that are processed in order. In -this example, you have three instructions: - - - -## Velocity templates - -Instructions use the [Apache Velocity](Apache Velocity) templating engine, which enables you to -dynamically insert variables into your prompts using the **tools context** and -the **metadata context**. - -See the [available prompt variables](/docs/prompts/vectara-prompt-engine#available-prompt-variables) for more information. - -### Tools context - -`$tools` is a list of tools available to the agent. You can iterate over tools -to display their names and descriptions in your instructions. - - - -This dynamically lists all available tools when the agent is initialized. - -### Metadata context - -Instructions can access metadata from both sessions and agents, enabling -personalized and context-aware behavior: - -- `${session.metadata.field}` - Access session-specific metadata (user context, permissions, preferences) -- `${agent.metadata.field}` - Access agent-level metadata (version, configuration, environment) -- `${currentDate}` - Current date/time in ISO 8601 format - - - -When a session is created with this metadata: - - - -The instruction renders as: - -> "Hello! I see you're Jane Smith from EMEA. I'm here to help you with billing inquiries. As an enterprise customer, you have access to priority support and advanced features. Your support tier: priority. Preferred language: en" - diff --git a/www/docs/agents/agent-concepts.md b/www/docs/agents/agent-concepts.md new file mode 100644 index 000000000..51af0fd48 --- /dev/null +++ b/www/docs/agents/agent-concepts.md @@ -0,0 +1,99 @@ +--- +id: agent-concepts +title: Concepts +sidebar_label: Concepts +--- + +import CodePanel from '@site/src/theme/CodePanel'; +import { Spacer } from "@site/src/components/ui/Spacer"; + +Agents are autonomous systems that understand natural language and use tools +and reasoning to accomplish tasks. They maintain conversation context through +sessions and can handle multi-turn interactions. + +To build your first agent, see the [**Agent quick start**](/docs/agents/agents-quickstart). You can also try our [**Agent API tutorial notebook**](https://github.com/vectara/example-notebooks/blob/main/notebooks/api-examples/4-agent-api.ipynb). For more information about our Agent APIs see the [**API Reference**](/docs/rest-api/agents). + +## How agents work + +
+```mermaid +flowchart TD + %% Nodes + User["User"] + Session["**Agent**"] + Agent["**Session**
(handles Artifacts)"] + Inst["**Instructions**"] + Query["**Agent Query**"] + + %% Tools layer + AvailableTools["**Tools**
(Built-in tools)"] + + %% Sub-agents + SubAgents["**Sub-agent(s)**
Delegated tasks to separate agents"] + SubAgentTasks["Separate instructions, tools, and results"] + + %% MCP + MCP["**MCP Tool + Client**"] + ExtMCP["External MCP Server"] + + %% Core flow + User -->|Query| Session + Session -->|Conversation state| Agent + Agent --> |Configured with| Inst + Inst --> |Guide agent behavior| Query + + %% Tool execution paths + Query <--> AvailableTools + Query <--> SubAgents + SubAgents <--> SubAgentTasks + + %% Optional MCP path (de-emphasized) + Query <--> MCP + MCP -.-> ExtMCP + + %% Return to user + Query -->|Synthesizes response| Session + Session -->|Response| User + + %% Classes for color grouping + classDef userEntry fill:#182033,color:#fff,stroke:#fff,stroke-width:2px; + classDef session fill:#EEF2F8,color:#182033,stroke:#787878,stroke-width:2px; + classDef agentic fill:#EEF2F8,color:#182033,stroke:#787878,stroke-width:2px; + classDef toolLayer fill:#EEF2F8,color:#182033,stroke:#787878,stroke-width:2px; + classDef corpus fill:#E9368E,color:#fff,stroke:#E9368E,stroke-width:2px; + classDef external fill:#182033,color:#fff,stroke:#fff,stroke-width:2px; + classDef mcpTP fill:#EEF2F8,color:#182033,stroke:#787878,stroke-width:2px; + + %% Assign classes + class User userEntry; + class Session session; + class Agent,Inst,Query agentic; + class AvailableTools,SubAgents toolLayer; + class ExtMCP external; + class MCP mcpTP; +``` +
+ + + +An agent consists of these primary components that define its behavior and +capabilities. + +* **Instructions** serve as the system prompt for the agent and define its + behavior, how to respond to user input, and which tools to use. +* **Tools** provide agents with capabilities to interact with data and external + systems including corpora search, web search, artifacts (uploaded files), + and other built-in tools. +* **Sub-agents** enable you to create modular agent systems. The parent agent + can delegate domain-specific tasks to an existing agent or agents. This + sub-agent then executes its own reasoning loop and returns the final result + to the parent agent. +* **Sessions** preserve context throughout a conversation so the agent can + consider all prior information when responding to a query. +* **Artifacts** define uploaded documents and files within a session for the + agent to analyze without indexing them into a permanent corpus. You can also + generate new documents from these artifacts and upload to a corpus for + future use. + +To chat with your agent, read on about [**Sessions**](/docs/agents/sessions). + diff --git a/www/docs/agent-os/agent-tools.md b/www/docs/agents/agent-tools.md similarity index 89% rename from www/docs/agent-os/agent-tools.md rename to www/docs/agents/agent-tools.md index 8b6ce1657..910955148 100644 --- a/www/docs/agent-os/agent-tools.md +++ b/www/docs/agents/agent-tools.md @@ -6,13 +6,12 @@ sidebar_label: Built-in tools import CodePanel from '@site/src/theme/CodePanel'; -Tools provide agents with capabilities to interact with data and external -systems. An agent uses the conversational context and its instructions to -decide which tools to call, and how use the tools' responses to respond to +Tools provide agents with capabilities to interact with data and external +systems. An agent uses the conversational context and its instructions to +decide which tools to call, and how use the tools' responses to respond to the user's query. -Vectara offers a number of useful tools out-of-the-box, including multi-modal -capabilities for working with text, images, and documents. You can also build +Vectara offers a number of useful tools out-of-the-box, but you can also build your own. For a complete list of available tools, refer to the [Tools API docs](/docs/rest-api/tools). @@ -26,7 +25,7 @@ docs](/docs/rest-api/tools). * Searches the internet for current information beyond your indexed corpora. * Configurable result limits and query parameters. You can also specify domains to include or exclude from the search. -* **Sub-agents** +* **Subagents** * Initiates specialized sub-agents to handle complex, multi-step tasks autonomously. * Provides separate context management, configurable session timeouts, specialized workflows. * **Lambda tools** @@ -34,7 +33,7 @@ docs](/docs/rest-api/tools). environment. * Automatic input and output schema generation from type annotations. * **Document conversion** - * Converts supported document types (PDF, DOCX, PPTX) and images into markdown. + * Converts supported document types (PDF, DOCX, PPTX) and images into Markdown. * Includes OCR for extracting text from images. * **Artifacts** * Reads artifact content stored within the agent session with optional range @@ -49,4 +48,4 @@ docs](/docs/rest-api/tools). * **Model Context Protocol (MCP)** * MCP tools extend agent functionality with external integrations, file handling, and media processing capabilities. Each MCP tool operates in a secure sandbox - with clear input/output schemas. \ No newline at end of file + with clear input/output schemas. diff --git a/www/docs/agents/agents-quickstart.md b/www/docs/agents/agents-quickstart.md new file mode 100644 index 000000000..ece531c5a --- /dev/null +++ b/www/docs/agents/agents-quickstart.md @@ -0,0 +1,151 @@ +--- +id: agents-quickstart +title: Quickstart +sidebar_label: Quickstart +--- + +import CodePanel from '@site/src/theme/CodePanel'; + +This guide walks you through creating and configuring a Research +Assistant agent in the Vectara Console. In just a few minutes, you will have +a working agent capable of searching the web to answer questions. The Create +agent wizard lets you customize an agent including its model, instructions, +tools, and other advanced options. + +## Step 1: Create the agent and configure general settings + +Start by accessing the Agents section and giving your agent a clear name and +description to help identify its purpose and capabilities. + +1. Navigate to **Agents** in the sidebar. +2. Click **Add Agent**. + The General information pane appears. +3. Add a **Name** like `Research Assistant`. +4. Add a **Description** like + `A research assistant that can search the web for current information.` + Create agent general information +5. Click **Next**. + +## Step 2: Select the model + +Choose the Large Language Model (LLM) that you want for your agent's +reasoning. Then, configure the model parameters. We'll set the creativity +level with the temperature parameter. + +1. Select a **Model name** like `gpt-4o`. +2. Set the `temperature` parameter to `0.3`. + Create agent model selection + This temperature value provides more consistent results with factual +accuracy and low creativity. This `0.3` value is like a _sweet spot_ for many +use cases involving Q&As, research assistants, and technical outputs. +3. Click **Next** to open the Instructions pane. + +## Step 3: Add custom instructions + +Instructions define your agent's behavior, personality, and how it should +approach queries. Custom instructions give you full control over the agent's +responses. You can use our recommended instructions, or you can choose your +own. + +1. Click **Use our recommended instructions**. + Select recommended instructions +2. Click **Next** to move to the Tools configuration. + +## Step 4: Add and configure the Web Search tool + +Tools extend your agent's capabilities beyond its base knowledge. Proper tool configuration helps the agent understand when and how to use the tool effectively. + +1. Click **Add first tool**. + Add first tool +2. Enter **Web Search** and select the tool. + Add web search tool +3. Enter **web_search** as the **Name** and provide a description for this tool + like: + + _The web search tool that find up to date information from trustworthy sources + and returns concise summaries with links. Use when a query needs current + facts external references or verification beyond internal knowledge. Prefer + authoritative sites such as documentation government and academic pages and + avoid low quality or speculative content._ + +4. Specify a **Limit** of `10` results. + You can learn more about the + other options such as query, exclude domains, and include domains in the + [API Reference](/docs/rest-api/create-agent). + + Configure web search tool + +5. Click **Next** to move to the Advanced options pane. + +## Step 5: Add metadata + +Metadata helps you organize and categorize agents, making them easier to find and manage as your agent library grows. + +This final step of the wizard lets you add metadata to help organize your +agent. + +1. Add a **Research** category and **version** like `{ + "category":"Research", + "version":"1.0" + }` + Configure web search tool + With all configurations complete, you can now create your agent and + test it in the Console chat interface. + +2. Click **Create agent**. + +## Step 6: Test the agent + +After you finish the wizard, you get a message that the agent was created +successfully. + +1. The **Preview** tab opens and you can now chat with your agent. +2. (Optional) To update the agent's configuration from the previous steps, + click the **Settings** tab. +3. Because you configured the agent with the **web_search** tool, it will be able to + retrieve information from the web to answer your question. For example, try + asking, "What's the weather like in Tokyo today?" + +:::tip +If you leave this page, go back to **Agents** and select the +**Research Assistant** agent from the list of created agents. +::: + +## Create an agent with the API + +Alternatively, you can create the same agent with the Create Agent API in this [**example**](/docs/agents/create-agent-examples). + +We also have an [**Agent API tutorial notebook**](https://github.com/vectara/example-notebooks/blob/main/notebooks/api-examples/4-agent-api.ipynb). Create a research +assistant that searches academic papers and documentation, maintains +conversation context, and provides cited responses. + +Read on to learn about agents, how to craft custom instructions, tools in our +platform, and other information. diff --git a/www/docs/agent-os/agents.md b/www/docs/agents/agents.md similarity index 100% rename from www/docs/agent-os/agents.md rename to www/docs/agents/agents.md diff --git a/www/docs/agent-os/conversational-ai.md b/www/docs/agents/conversational-ai.md similarity index 89% rename from www/docs/agent-os/conversational-ai.md rename to www/docs/agents/conversational-ai.md index 2a72ef6ed..f251ea5b0 100644 --- a/www/docs/agent-os/conversational-ai.md +++ b/www/docs/agents/conversational-ai.md @@ -51,6 +51,6 @@ quick access to department-specific knowledge with proper access controls. ## More information -- [Agents Overview](/docs/agent-os/agent-platform-overview) - Understand how agents work. -- [Agents Quickstart](/docs/agent-os/agents-quickstart) - Build your first agent. -- [Working with Sessions](/docs/agent-os/sessions) - Manage conversations. +- [Agents Overview](/docs/agents/agent-concepts) - Understand how agents work. +- [Agents Quickstart](/docs/agents/agents-quickstart) - Build your first agent. +- [Working with Sessions](/docs/agents/sessions) - Manage conversations. diff --git a/www/docs/agent-os/lambda-tools.md b/www/docs/agents/create-a-lambda-tool.md similarity index 81% rename from www/docs/agent-os/lambda-tools.md rename to www/docs/agents/create-a-lambda-tool.md index bb116c8df..dff8e1997 100644 --- a/www/docs/agent-os/lambda-tools.md +++ b/www/docs/agents/create-a-lambda-tool.md @@ -1,123 +1,12 @@ --- -id: lambda-tools -title: Lambda tools -sidebar_label: Lambda tools +id: create-a-lambda-tool +title: Create and test lambda tools +sidebar_label: Create and test lambda tools --- -import CodePanel from '@site/src/theme/CodePanel'; - -As your AI agents take on more complex workflows, they might need to perform -actions that go beyond what built-in tools can handle. For example, applying -custom business logic or transforming data. - -Lambda Tools enable you to create your own tools that your agents can -run during conversations. Think of them as custom skills that teach your agent -how to handle specialized tasks. These user-defined functions run in secure, -sandboxed environments, allowing you to extend agent capabilities with custom -business logic, data processing, or integrations. Check out our tutorial on -[building a financial research agent](/docs/tutorials/build-a-financial-research-agent). - -Lambda Tools are user-defined functions that: - -- Execute in a **sandboxed Python 3.12 environment** with gVisor isolation. -- Have **automatic schema discovery** from function type annotations. -- Support a **curated set of libraries**: `json`, `math`, `datetime`, `collections`, - `itertools`, `functools`, `re`, `time`, `typing`. -- Include **resource limits**: 100MB memory (up to 1GB), 30-second timeout - (up to 300 seconds). -- Provide **complete audit trails** of execution history. - -:::tip Note -Lambda Tools run **without** network access. You have secure sandboxed environment, and -you **cannot** install custom packages. This ensures secure execution in multi-tenant -environments. -::: - -## Use a lambda tool with an agent - -After creating a Lambda Tool, you can configure agents to use it through inline tool configurations. -You reference the tool by its ID and optionally provide argument overrides. - -### Inline configuration - -Use an inline configuration to point an agent to an existing Lambda Tool by ID: - - - -The `argument_override` field allows you to: -- **Hardcode specific values** that the LLM cannot change (e.g., `"customer_tier": "enterprise"`) -- **Use dynamic context references** with `$ref` to pull values from session or agent metadata (e.g., `{"$ref": "session.metadata.search_query"}`) - -### Reusable Lambda tool configuration - -You can also create a reusable `LambdaToolConfiguration` that can be referenced across multiple agents. -This approach is useful for consistent, governed usage of Lambda Tools. - - +import CodePanel from '@site/src/theme/CodePanel'; -Then reference this configuration in your agent: - - - - -## Create a lambda tool - -To create a Lambda Tool, review the prerequisites, define a function, and -use the API. +To create a Lambda Tool with the API: 1. Meet the following prerequisites: - Access to the Vectara API with tool creation permissions. @@ -143,9 +32,9 @@ use the API. ]} /> :::note Notes - - Use type annotations for automatic schema discovery - - Parameters with default values become optional in the schema - - Return a JSON-serializable dictionary + - Use type annotations for automatic schema discovery. + - Parameters with default values become optional in the schema. + - Return a JSON-serializable dictionary. ::: 3. Create the Lambda Tool with the API. + +The `argument_override` field allows you to: +- **Hardcode specific values** that the LLM cannot change (e.g., `"customer_tier": "enterprise"`) +- **Use dynamic context references** with `$ref` to pull values from session or agent metadata (e.g., `{"$ref": "session.metadata.search_query"}`) + +### Reusable Lambda tool configuration + +You can also create a reusable `LambdaToolConfiguration` that can be referenced across multiple agents. +This approach is useful for consistent, governed usage of Lambda Tools. + + + +Then reference this configuration in your agent: + + + diff --git a/www/docs/agents/create-agent-examples.md b/www/docs/agents/create-agent-examples.md new file mode 100644 index 000000000..3b02d9869 --- /dev/null +++ b/www/docs/agents/create-agent-examples.md @@ -0,0 +1,137 @@ +--- +id: create-agent-examples +title: Create agent example +sidebar_label: Create agent example +--- + +import CodePanel from '@site/src/theme/CodePanel'; + +Let's create an agent with the API. + +## Research assistant agent + +This agent completes the following tasks: + +* Search the web when users ask questions requiring current information. +* Limit search results to `20` for comprehensive responses. +* Use a lower temperature (`0.3`) for more consistent, factual responses. +* Follow instructions to cite sources and admit uncertainty when appropriate. +* Configure retry logic to handle transient API failures gracefully. + +This example requires no corpus setup, making it perfect for immediate testing. + + + + +## Test your agent with the console UI + +1. Navigate to **Agents** in the sidebar and find this **research assistant** agent. +2. In the agent details page, click the **Chat** tab. +3. Try asking quetsions like: `"What are the main benefits of solar energy for average Texas homes?"` +4. You should see the agent search the web and provide a cited response. + +### Expected response + +The agent acts as follows: +1. Uses web search to find current information. +2. Provides a summary with key points. +3. Includes source citations. +4. Shows tool usage in the response events. + +## Response format + +The agent responds with events that include: +- `input_message`: Your original message +- `thinking`: The agent's reasoning process (optional) +- `tool_input`/`tool_output`: Web search execution and results +- `agent_output`: The final response with citations. + diff --git a/www/docs/agents/custom-tools.md b/www/docs/agents/custom-tools.md new file mode 100644 index 000000000..7c60d46d3 --- /dev/null +++ b/www/docs/agents/custom-tools.md @@ -0,0 +1,101 @@ +--- +id: custom-tools +title: Custom tools +sidebar_label: Custom tools +--- + +import CodePanel from '@site/src/theme/CodePanel'; + +Custom tools extend agent capabilities. You can create tools once and reuse +them across multiple agents with consistent behavior and governance. + +## Lambda tools + +User-defined Python functions that execute in secure, sandboxed environments: + +- Run in isolated Python 3.12 environments. +- Automatic schema generation from type annotations. +- No network access. +- Resource limits: 100MB memory, 30-second timeout. + +Use [Lambda tools](/docs/agents/lambda-tools) for custom business logic, data transformations, and +calculations that don't require external connectivity. + +## MCP tools + +Tools from external MCP-compliant servers that enable enterprise integrations: + +- Standards-based protocol. +- Dynamic tool discovery. +- Register a tool server once, automatically discover all its tools. +- Connect to CRM systems, databases, and enterprise APIs. + +Register an MCP tool server to make its tools available. Learn more about +[MCP](/docs/agents/model-context-protocol) and +[Tool Servers](/docs/agents/tool-servers). + + +## Using custom tools with agents + +After creating a Lambda tool or registering an MCP server, reference the tool +in your agent configuration: + + + + + +### Argument overrides + +Control tool behavior with hardcoded values or dynamic context references: + + + +Argument overrides: +- **Hardcoded values** that the LLM cannot modify (e.g., `"customer_tier": "enterprise"`). +- **Dynamic references** using `$ref` to pull values from: + - Session metadata: `{"$ref": "session.metadata.field_name"}` + - Agent metadata: `{"$ref": "agent.metadata.field_name"}` + +For complete API details, see [Tools API](/docs/rest-api/tools). diff --git a/www/docs/agents/lambda-tools.md b/www/docs/agents/lambda-tools.md new file mode 100644 index 000000000..236e2896b --- /dev/null +++ b/www/docs/agents/lambda-tools.md @@ -0,0 +1,94 @@ +--- +id: lambda-tools +title: Lambda tools +sidebar_label: Lambda tools +--- + +import CodePanel from '@site/src/theme/CodePanel'; + +As your AI agents take on more complex workflows, they might need to perform +actions that go beyond what built-in tools can handle. For example, applying +custom business logic or transforming data. + +Lambda Tools enable you to create your own tools that your agents can +run during conversations. Think of them as custom skills that teach your agent +how to handle specialized tasks. These user-defined functions run in secure, +sandboxed environments, allowing you to extend agent capabilities with custom +business logic, data processing, or integrations. Check out our tutorial on +[building a financial research agent](/docs/tutorials/build-a-financial-research-agent). + +Lambda Tools are user-defined functions that: + +- Execute in a **sandboxed Python 3.12 environment** with gVisor isolation. +- Have **automatic schema discovery** from function type annotations. +- Support a **curated set of libraries**: `json`, `math`, `datetime`, `collections`, + `itertools`, `functools`, `re`, `time`, `typing`. +- Include **resource limits**: 100MB memory (up to 1GB), 30-second timeout + (up to 300 seconds). +- Provide **complete audit trails** of execution history. + +:::tip Note +Lambda Tools run **without** network access. You have secure sandboxed environment, and +you **cannot** install custom packages. This ensures secure execution in multi-tenant +environments. +::: + +## Create a lambda tool (UI) + +In this example, we'll create a simple Python function that does the following: +* Takes one string parameter called `name`. +* Creates and returns a dictionary with a single key "result". +* The value associated with that key is a greeting string `"Hello, " + name + "!"` + +1. Navigate to **Agents** in the [Vectara Console](https://console.vectara.com/console/agents/). +2. Select the **Lambda tools** tab. +3. Click **Create lambda tool**. + Create lambda tool +4. Add the following: + * **Name** as `Lambda Tool` + * **Title** as `My function` + * **Description** as + `Calculate a customer score based on order history and max revenue. Returns a score between 0-100, formatted as a percentage.` +5. Add this function to the **Code** field: + ```python + from typing import List, Dict + + def process(orders: List[Dict[str, float]], + max_revenue: float = 5000.0) -> str: + """ + Calculate a customer score based on order history and revenue. + For example, { "orders": [{"amount": 1500.0}, {"amount": 2000.0}] } + will return output of { "value": "35%" } + """ + + if not orders: + return 0 + + # Find average order amount and convert to percentage of max revenue. + order_count = len(orders) + total_revenue = sum(order.get("amount", 0.0) for order in orders) + average_order_amount = total_revenue / order_count + customer_score = average_order_amount / max_revenue * 100 + + return f"{int(customer_score)}%" + ``` + Create lambda tool +6. Before you create this tool, you can click **Test function** and **Run test** to verify that + it works. + Create lambda tool +1. After verifying that the tool executes successfully, click **Create lambda tool**. + +To learn about creating this tool and using it with the API, see +[Create a lambda tool](/docs/agents/create-a-lambda-tool). diff --git a/www/docs/agent-os/model-context-protocol.md b/www/docs/agents/model-context-protocol.md similarity index 96% rename from www/docs/agent-os/model-context-protocol.md rename to www/docs/agents/model-context-protocol.md index 21910d186..ce088a463 100644 --- a/www/docs/agent-os/model-context-protocol.md +++ b/www/docs/agents/model-context-protocol.md @@ -1,6 +1,6 @@ --- -id: mcp -title: What is Model Context Protocol (MCP)? +id: model-context-protocol +title: Model Context Protocol (MCP) sidebar_label: Model Context Protocol (MCP) --- @@ -40,4 +40,3 @@ and enterprise systems. MCP provides the following benefits: | Enterprise integration | Tools can represent internal APIs, RAG systems, databases, or even other agents. | Auditability and security | Permissions and access control can be managed per tool, enabling secure orchestration. | Model-agnostic | MCP works across agent platforms (Vectara, Claude, OpenAI SDK, Google Gemini, and so on). - diff --git a/www/docs/agents/run-test.png b/www/docs/agents/run-test.png new file mode 100644 index 000000000..e57cc41ad Binary files /dev/null and b/www/docs/agents/run-test.png differ diff --git a/www/docs/agent-os/sessions.md b/www/docs/agents/sessions.md similarity index 65% rename from www/docs/agent-os/sessions.md rename to www/docs/agents/sessions.md index 87f7b204e..1f56db966 100644 --- a/www/docs/agent-os/sessions.md +++ b/www/docs/agents/sessions.md @@ -13,79 +13,79 @@ appended to the session. Sessions also provide a workspace for artifacts, allowing agents to work with uploaded documents and images throughout the conversation. -* A session key and human-readable name (`ase_12345`). If not provided, Vectara - generates one automatically based on the name. -* Associated `agent_key` (`agt_abcd`). -* Metadata such as end_user_id, application_id, priority, or channel. -* Timestamps for creation and last update. - -Sessions support lifecycle operations such as creation, update, retrieval, -listing, and deletion. - ## Chat with your agent -After creating an agent, you can interact with it by creating a session and sending messages: - -### 1. Create a session - -Sessions provide conversation context and are required for all agent interactions: - - - -### 2. Send messages to the agent - -Once you have a session, send messages using the events endpoint: - - +After creating an agent, you can interact with it by creating a session and +sending messages. Sessions provide conversation context and are required for +all agent interactions. + +### Create a session (UI) + +1. Log into the [**Vectara Console**](https://console.vectara.com/console/home). +2. Navigate to the [**Agents**](https://console.vectara.com/console/agents/list) page. +3. Select an agent from the list such as **Agent Research Assistant**. + The agent opens the **Preview** tab. + ![Create agent session](/img/create-agent-session.png) +4. Chat with the agent in the **Preview** tab. +5. Upload [**artifacts**](/docs/agents/artifacts) (files) to the session, and chat about these artifacts + with your agent. + You can continue to configure and fine tune the agent through the **Settings** tab. + +### Create a session (API) + +1. Send a `POST` request to the sessions endpoint. + +2. Once you have a session, send messages using the events endpoint: + The agent will respond with events including its reasoning, tool usage, and final response. diff --git a/www/docs/agent-os/structured-indexing.md b/www/docs/agents/structured-indexing.md similarity index 100% rename from www/docs/agent-os/structured-indexing.md rename to www/docs/agents/structured-indexing.md diff --git a/www/docs/agent-os/subagents.md b/www/docs/agents/subagent-tool.md similarity index 54% rename from www/docs/agent-os/subagents.md rename to www/docs/agents/subagent-tool.md index 1b3401774..f2b79af1e 100644 --- a/www/docs/agent-os/subagents.md +++ b/www/docs/agents/subagent-tool.md @@ -5,17 +5,77 @@ sidebar_label: Sub-agents --- import CodePanel from '@site/src/theme/CodePanel'; +import { Spacer } from "@site/src/components/ui/Spacer"; + +The sub-agent tool enables your agent to delegate specialized tasks to existing +agents, reducing load and context bloat in the main agent. Think of sub-agents +as isolated domain experts that the parent agent can invoke independently for +specific tasks. A sub-agent is a reference to another agent by its `agent_key`. +You create those agents first, and then add them as sub-agents. + +This approach is especially useful when tasks require distinct expertise or +when a single agent becomes too complex. When you add a sub-agent, you define +its purpose in the sub-agent tool description, or in the main agent [**instructions**](/docs/agents/instructions). +The main agent passes input to the sub-agent, which can access all files and +artifacts available to the parent agent. + +Each sub-agent maintains its own tools, instructions, and conversation history, +allowing it to complete tasks independently before returning results to the main +agent. + +
+```mermaid +flowchart TB + %% User + User["👤 User"] + + %% Parent Agent + ParentAgent["Main agent"] + + %% Sub-agents + SubAgent1["Sub-agent 1
Pre-created agent"] + SubAgent2["Sub-agent 2
Pre-created agent"] + SubAgent3["Sub-agent 3
Pre-created agent"] + + %% Flow + User -->|"Query"| ParentAgent + + ParentAgent <-.-> |Task and result| SubAgent1 + ParentAgent <-.-> |Task and result| SubAgent2 + ParentAgent <-.-> |Task and result| SubAgent3 + + ParentAgent -->|"Response"| User + + %% Styling + classDef userStyle fill:#182033,color:#fff,stroke:#fff,stroke-width:2px; + classDef parentStyle fill:#4A90E2,color:#fff,stroke:#4A90E2,stroke-width:2px; + classDef subagentStyle fill:#EEF2F8,color:#182033,stroke:#787878,stroke-width:2px; + + class User userStyle; + class ParentAgent parentStyle; + class SubAgent1,SubAgent2,SubAgent3 subagentStyle; +``` +
+ + + +Use sub-agents when tasks benefit from specialized instructions and tools. For +example, a document processing system might delegate legal review, technical +accuracy checks, and content reformatting to separate sub-agents, since each +task requires different expertise. + +:::tip Sub-agents Tutorial +Try our [**Sub-agents Jupyter notebook**](https://github.com/vectara/example-notebooks/blob/main/notebooks/api-examples/5-sub-agents.ipynb) for a hands-on example. +Build a research assistant with three specialized sub-agents, including API +validation to prevent common errors. +::: -The sub-agent tool enables your agent to delegate specialized tasks to other -agents that work independently and reduce the load and context bloat for the -main agent. Think of them as isolated domain experts that your parent -agent can use for specific tasks. Each sub-agent maintains its own tools, -instructions, and conversation history that enables sub-agents to complete -tasks independently before returning results to the parent agent. +## Agent key -A sub-agent should have a clear purpose, such as code reviewer, researcher, -content writer, or data analyst. The parent agent must tell the sub-agent -exactly what to do with precise instructions. +The `agent_key` uniquely identifies an agent. A parent agent needs this value to +reference and invoke specific agents as subagents. You can get the +`agent_key` from the [Agents List (UI)](https://console.vectara.com/console/agents/list) +or the [List Agents endpoint (API)](/docs/rest-api/list-agents). ## How sub-agents work @@ -29,6 +89,9 @@ When a parent agent invokes a `sub_agent` tool: 4. The sub-agent tool returns the `session_key` and `sub_agent_response` (the sub-agent's final output) to the parent agent. +For more information about sub-agents architecture and how they work, +see our [**blog**](https://www.vectara.com/blog/introducing-sub-agents#subagents-architecture). + :::tip Tips * The sub-agent tool always returns **only the final response** of the sub-agent. Activity inside the sub-agent is not returned to the parent agent. Ensure that you write @@ -37,11 +100,34 @@ sub-agent instructions so that the final message is self-contained. or tool state with the parent unless configured with artifact sharing. ::: +## Add a sub-agent with the UI + +The easiest way to add a subagent is with the UI when you create or update +an agent. + +1. In the agent creation wizard, go to the **Tools** tab. +2. Click **Add tool**. +3. Find the Sub Agent tool in the list. + Sub-agent tool selection UI +4. Enter a name for your sub agent, add a description, and enter the + `agent_key`. You can get this value from the [Agents List (UI)](https://console.vectara.com/console/agents/list). + Sub-agent tool selection UI +5. Click **Update agent**. + ## Configure a sub-agent tool -You can configure the sub-agent tool inline when creating or updating an agent. -The configuration defines which agent to invoke (`agent_key`), optional session -behavior, and optional `argument_override`. +You can also configure the sub-agent tool inline with the API. The +configuration defines which agent to invoke (`agent_key`), optional session +behavior, and optional `argument_override`. You can get the `agent_key` value from +the [List Agents endpoint (API)](/docs/rest-api/list-agents). `argument_override` lets you hardcode values for fields exposed to the LLM of the sub-agent tool (`message` and `session_tti_minutes`). The LLM cannot modify @@ -113,8 +199,8 @@ exist in the parent’s workspace, the system returns an error. { language: "json", code: `{ - "type": "sub_agent", - "message": "Summarize the attached document for key findings." + "type": "sub_agent", + "message": "Summarize the attached document for key findings." }` } ]} @@ -130,9 +216,9 @@ exist in the parent’s workspace, the system returns an error. { language: "json", code: `{ - "type": "sub_agent", - "session_key": "analysis_session_42", - "message": "Add details about emerging 2024 research trends." + "type": "sub_agent", + "session_key": "analysis_session_42", + "message": "Add details about emerging 2024 research trends." }` } ]} @@ -147,7 +233,7 @@ exist in the parent’s workspace, the system returns an error. { language: "json", code: `{ - "tools": [ + "tools": [ { "type": "sub_agent", "name": "data_analyst", @@ -196,3 +282,6 @@ exist in the parent’s workspace, the system returns an error. } ]} /> + + + diff --git a/www/docs/agents/test-lambda-function.png b/www/docs/agents/test-lambda-function.png new file mode 100644 index 000000000..d61e5b749 Binary files /dev/null and b/www/docs/agents/test-lambda-function.png differ diff --git a/www/docs/agent-os/tool-servers.md b/www/docs/agents/tool-servers.md similarity index 100% rename from www/docs/agent-os/tool-servers.md rename to www/docs/agents/tool-servers.md diff --git a/www/docs/agent-os/tools.md b/www/docs/agents/tools.md similarity index 100% rename from www/docs/agent-os/tools.md rename to www/docs/agents/tools.md diff --git a/www/docs/build.md b/www/docs/build.md index 8aaa942e3..59f443c22 100644 --- a/www/docs/build.md +++ b/www/docs/build.md @@ -17,7 +17,7 @@ data flows into Vectara. helps power both direct queries and agent responses. Start here if you understand data ingestion and need to configure how queries work. -- **[Agent operating system](/docs/agent-os/agent-platform-overview)**: Create agents with instructions, +- **[Agent operating system](/docs/agents/agent-concepts)**: Create agents with instructions, tools, and sessions. Orchestrate data ingestion and search into governed, conversational AI and document workflow automation. @@ -30,7 +30,7 @@ Agent OS layer. - **[Developer Quickstart](/docs/developer-quickstart)** - See data ingestion and search work together in 5 minutes. -- **[Agents Quickstart](/docs/agent-os/agents-quickstart)** - Create your first AI agent with +- **[Agents Quickstart](/docs/agents/agents-quickstart)** - Create your first AI agent with working code examples. - **[API Reference](/docs/rest-api)** - Complete endpoint documentation. diff --git a/www/docs/console-ui/agents/create-an-agent.md b/www/docs/console-ui/agents/create-an-agent.md index 7bd990cbb..821ed4552 100644 --- a/www/docs/console-ui/agents/create-an-agent.md +++ b/www/docs/console-ui/agents/create-an-agent.md @@ -70,5 +70,5 @@ instructions on testing and chatting with your agent, see [Use Agents](/docs/con ## Quick start example -Check out our [Agent Quick Start](/docs/agent-os/agents-quickstart) for a walkthrough +Check out our [Agent Quick Start](/docs/agents/agents-quickstart) for a walkthrough including API equivalents. diff --git a/www/docs/console-ui/agents/example-agents.md b/www/docs/console-ui/agents/example-agents.md index e9d1b61cc..eb7c2b6af 100644 --- a/www/docs/console-ui/agents/example-agents.md +++ b/www/docs/console-ui/agents/example-agents.md @@ -15,7 +15,7 @@ knowledge base expert. For a quick start, try creating a research assistant that can search the web. This agent requires no corpus setup and demonstrates core agent capabilities. -Follow the [Agent Quick Start](/docs/agent-os/agents-quickstart) guide to create an +Follow the [Agent Quick Start](/docs/agents/agents-quickstart) guide to create an agent in minutes using either the Console UI or API. This agent: - Searches the web for current information diff --git a/www/docs/deployments/private-deployment-overview.md b/www/docs/deployments/private-deployment-overview.md index c08790616..9af33da1a 100644 --- a/www/docs/deployments/private-deployment-overview.md +++ b/www/docs/deployments/private-deployment-overview.md @@ -1,10 +1,12 @@ --- id: private-deployment-overview -title: Private deployment overview -sidebar_label: Overview +title: On prem and VPC deployment +sidebar_label: On prem and VPC deployment --- -A Vectara private deployment provides the same platform capabilities within your infrastructure, designed for organizations with specific data residency or security requirements. +A Vectara private, on prem or VPC deployment provides the same platform capabilities +within your infrastructure, designed for organizations with specific data residency +or security requirements. **Why private deployment?** @@ -15,30 +17,30 @@ A Vectara private deployment provides the same platform capabilities within your ## Agentic AI platform capabilities -- Multilingual semantic search capabilities -- Advanced RAG with accuracy controls -- AI Agents framework with tool integration -- Enterprise-grade performance +- Multilingual semantic search capabilities. +- Advanced RAG with accuracy controls. +- AI Agents framework with tool integration. +- Enterprise-grade performance. ## Deploy anywhere -- **On-premises**: Traditional data center deployments -- **Cloud VPC**: Major cloud providers supported -- **Air-gapped**: Isolated network environments -- **Kubernetes**: Container-based deployment +- **On-premises**: Traditional data center deployments. +- **Cloud VPC**: Major cloud providers supported. +- **Air-gapped**: Isolated network environments. +- **Kubernetes**: Container-based deployment. ## Technical deployment Infrastructure as code deployment: -1. **Terraform/Helm packages** - Deploy like any other K8s app -2. **Your models or ours** - Connect OpenAI, Anthropic, Google, or use included models -3. **Standard integrations** - OIDC auth, Prometheus metrics, S3 storage +1. **Terraform/Helm packages** - Deploy like any other K8s application. +2. **Your models or ours** - Connect OpenAI, Anthropic, Google, or use included models. +3. **Standard integrations** - OIDC auth, Prometheus metrics, S3 storage. ## Why engineers choose private deployment -- **Control the stack**: Your K8s, your monitoring, your backups -- **Model flexibility**: Use GPT-4 for chat, Llama for summaries, whatever works -- **No black boxes**: See the metrics, logs, and traces -- **Updates when ready**: Deploy updates on your schedule +- **Control the stack**: Your K8s, your monitoring, your backups. +- **Model flexibility**: Use GPT-4 for chat, Llama for summaries, whatever works. +- **No black boxes**: See the metrics, logs, and traces. +- **Updates when ready**: Deploy updates on your schedule. diff --git a/www/docs/developer-quickstart.md b/www/docs/developer-quickstart.md index 04e55026e..5b30a2fb3 100644 --- a/www/docs/developer-quickstart.md +++ b/www/docs/developer-quickstart.md @@ -291,7 +291,7 @@ Transform your RAG application into an intelligent agent: }'`}]} title="Create an agent" layout="stacked" /> **Learn more:** -- [Agent quickstart](/docs/agent-os/agents-quickstart) +- [Agent quickstart](/docs/agents/agents-quickstart) - [Agent instructions](/docs/rest-api/instructions) - [Agent tools](/docs/rest-api/tools) diff --git a/www/docs/getting-started.md b/www/docs/getting-started.md index 537dec944..ab6a6df70 100644 --- a/www/docs/getting-started.md +++ b/www/docs/getting-started.md @@ -23,7 +23,7 @@ application in minutes. 1. **[Get trial access](/docs/vectara-trial)** - Sign up if you haven't already. 2. **[Developer quickstart](/docs/developer-quickstart)** - Learn the basics of corpora and queries. -3. **[Create your first agent](/docs/agent-os/agents-quickstart)** - Create your +3. **[Create your first agent](/docs/agents/agents-quickstart)** - Create your first AI agent that can use tools, follow instructions, and maintain conversation context. 4. **[Deploy to production](/docs/deploy-and-scale)** - Set up authentication and access diff --git a/www/docs/learn/ai-agents.md b/www/docs/learn/ai-agents.md index f0742964b..2e9ea153e 100644 --- a/www/docs/learn/ai-agents.md +++ b/www/docs/learn/ai-agents.md @@ -79,10 +79,10 @@ session management, and enterprise-grade security. - **Enterprise security**: Row-level access control, tenant isolation, and auditable tool permissions. -[**Build your first Vectara Agent →**](/docs/agent-os/agent-platform-overview) +[**Build your first Vectara Agent →**](/docs/agents/agent-concepts) :::tip Conversational AI Platform Agents are perfect for building conversational AI experiences like virtual assistants and chatbots. -[**Learn more about Vectara's Conversational AI →**](/docs/agent-os/conversational-ai) +[**Learn more about Vectara's Conversational AI →**](/docs/agents/conversational-ai) ::: diff --git a/www/docs/prompts/vectara_prompt_engine.md b/www/docs/prompts/vectara_prompt_engine.md index e3ab16f4b..b442ceaa3 100644 --- a/www/docs/prompts/vectara_prompt_engine.md +++ b/www/docs/prompts/vectara_prompt_engine.md @@ -11,25 +11,30 @@ import {vars} from '@site/static/variables.json'; import CodePanel from '@site/src/theme/CodePanel'; -The Vectara Prompt Engine empowers our users to customize prompt templates -that can reference the most relevant text and metadata for use cases that -require Retrieval Augmented Generation (RAG). Vectara enables developers to -directly add the retrieved documents and their metadata into the prompt -generation. Vectara supports [Velocity Templates](https://velocity.apache.org/engine/1.7/user-guide.html) which offer -developers a flexible way of customizing prompt templates and enhance the -effectiveness of their generative AI applications. - -This capability unlocks more advanced workflows and customizations to answer -questions about your business data. For example, answer questions based on -previous answers, such as with RFI, RFP, and questionnaires. Draft support -tickets from user feedback. You can even customize the formatting of results. - -:::tip -Users can override the default prompt text with custom `prompt_template` in the -`generation` object of a [**query**](/docs/rest-api/queries). -::: +The Vectara Prompt Engine empowers our users to customize templates using + [Velocity Templates](https://velocity.apache.org/engine/1.7/user-guide.html) + for two primary scenarios: + 1. **Query prompt templates** - Customize prompts for Retrieval Augmented Generation (RAG) + that reference retrieved documents and metadata + 2. **Agent tool templates** - Dynamically describe agent tools using session and agent context + + This capability unlocks more advanced workflows and customizations to answer + questions about your business data. For example, answer questions based on + previous answers, such as with RFI, RFP, and questionnaires. Draft support + tickets from user feedback. You can even customize the formatting of results. + + :::tip + Users can override the default prompt text with custom `prompt_template` in the + `generation` object of a [**query**](/docs/rest-api/queries). + ::: + +## Query prompt templates + + The following sections describe how to customize prompt templates for queries + that require Retrieval Augmented Generation (RAG). Vectara enables developers to + directly add the retrieved documents and their metadata into the prompt generation. -## Effective prompts and templates +### Effective prompts and templates Effective prompt templates guide LLMs to generate responses that meet specific user needs or objectives in generative AI applications. Define an objective @@ -43,7 +48,7 @@ Reach out to support if you want to modify the default prompt that Vectara uses. ::: -## Prompt template design +### Prompt template design Prompt template design includes a specific a `role` and `content` about this role, which provide context about how you want the role to behave and the kind of information that you want to retrieve. These values can also specify [variables @@ -189,3 +194,22 @@ user gets a response that `The returned results did not contain sufficient infor } ]`}]} title="Code Example" layout="stacked" /> +## Agent tool velocity templates + +In addition to query prompts, Velocity templates can be used to dynamically +describe agent tools at runtime. Unlike query templates which work with search +results, agent tool templates reference agent and session context. + +Agent tools support the following Velocity variables: + +* `$agent.name` - Agent name +* `$agent.metadata` - Agent metadata map +* `$session.key` - Session key +* `$session.metadata` - Session metadata map +* `$currentDate` - Current date/time in ISO 8601 format (e.g., "2025-10-24T15:30:45Z") + +**Examples:** +* `Search tool configured for agent $agent.name` on $currentDate` +* `Search tool configured on $currentDate for agent $agent.name` +* `#if($session.metadata.department) Search $session.metadata.department documents#else Search all documents#end for $agent.name` + diff --git a/www/docs/quick-starts.mdx b/www/docs/quick-starts.mdx index 54b661175..6816968cb 100644 --- a/www/docs/quick-starts.mdx +++ b/www/docs/quick-starts.mdx @@ -24,7 +24,7 @@ Get started with Vectara in minutes. Choose the path that best fits your needs. - + Build AI agents that can search your data, use tools, and have intelligent conversations with your users. diff --git a/www/docs/release-notes.mdx b/www/docs/release-notes.mdx index 2808d1a3d..01bc4fc76 100644 --- a/www/docs/release-notes.mdx +++ b/www/docs/release-notes.mdx @@ -56,6 +56,7 @@ sub-agents that maintain an independent state, reasoning, and workflow. **More information:** +* [Introducing Sub-agents](https://www.vectara.com/blog/introducing-sub-agents) * [Agent tools overview](/docs/agent-os/agent-tools-overview) * [Sub-agents](/docs/agent-os/subagents) @@ -77,13 +78,11 @@ directly into agent sessions, enabling agents to interpret file types and transform them into context-ready text for reasoning, summarization, or indexing. **More information:** -[Agent tools overview](/docs/agent-os/agent-tools-overview) -[Document upload and conversion](docs/agent-os/sessions#document-upload-and-conversion) +[Agent tools overview](/docs/agent/agent-tools) +[Document upload and conversion](docs/agent/sessions#document-upload-and-conversion) --- -## Artifact Storage for Agents - _November 15, 2025_ The Agents API now supports artifact storage, a persistent, session-scoped @@ -110,8 +109,10 @@ filename, mime_type, size_bytes) instead of full file contents, reducing payload from potentially megabytes to ~100 bytes. **More information:** -[Agent tools overview](/docs/agent-os/agent-tools-overview) -[Working with artifacts](/docs/agent-os/sessions#working-with-artifacts-in-sessions) + +* [Beyond Text: Introducing Artifacts for Vectara Agents](https://www.vectara.com/blog/beyond-text-introducing-artifacts-for-vectara-agents) +* [Agent tools overview](/docs/agents/agent-tools) +* [Working with artifacts](/docs/agents/artifacts) --- @@ -128,7 +129,7 @@ and relevance. You can now constrain web search behavior to trusted domains or r undesirable, or low-value sources. **More information:** -* [Agent tools overview](/docs/agent-os/agent-tools-overview) +[Agent tools overview](/docs/agents/agent-tools-overview) --- @@ -156,7 +157,7 @@ governance. * [List Tools](/docs/rest-api/get-tool) More information: -* [Lambda Tools](/docs/agent-os/lambda-tools) +* [Lambda Tools](/docs/agents/lambda-tools) --- @@ -199,7 +200,7 @@ The Vectara Agent APIs introduce several new endpoints: * [Session Management](/docs/rest-api/agent-sessions) **More information:** -* [Agents](/docs/agent-os/agent-platform-overview) +* [Agents](/docs/agents/agent-concepts) :::caution diff --git a/www/docs/rest-api/create-agent-session.api.mdx b/www/docs/rest-api/create-agent-session.api.mdx index 430361323..8c1673d00 100644 --- a/www/docs/rest-api/create-agent-session.api.mdx +++ b/www/docs/rest-api/create-agent-session.api.mdx @@ -40,7 +40,7 @@ Create a new session for interacting with an agent. A session is the conversatio This endpoint initializes the session and enables you to configure its initial properties, including optional metadata. Metadata can influence agent behavior, personalize responses, or apply access controls. Instructions and tools can also reference metadata using `${\session.metadata.field}` or `$\ref` syntax. -A session also serves as the workspace for artifacts, enabling file uploads and multi-step workflows. For more information, see [Working with artifacts in sessions](https://docs.vectara.com/docs/agent-os/sessions#working-with-artifacts-in-sessions). +A session also serves as the workspace for artifacts, enabling file uploads and multi-step workflows. For more information, see [Working with artifacts in sessions](https://docs.vectara.com/docs/agents/sessions#working-with-artifacts-in-sessions). ## Example request diff --git a/www/docs/search-and-retrieval/fuzzy-metadata-search.md b/www/docs/search-and-retrieval/fuzzy-metadata-search.md index f9423e335..6e0618f58 100644 --- a/www/docs/search-and-retrieval/fuzzy-metadata-search.md +++ b/www/docs/search-and-retrieval/fuzzy-metadata-search.md @@ -8,7 +8,8 @@ import CodePanel from '@site/src/theme/CodePanel'; The tech preview of Fuzzy Metadata Search combines exact filtering with approximate matching. This approach is useful because metadata can have -inconsistencies in typos in titles, categories, or keywords. +inconsistencies in typos in titles, categories, or keywords. To try this +fuzzy metadata search, see the [API Reference](/docs/rest-api/query-metadata). Fuzzy search operates in two main steps: 1. **Exact filtering:** A `metadata_filter` is first applied to narrow results @@ -19,7 +20,7 @@ Fuzzy search operates in two main steps: weighting. This means you can give `title` a higher weight than `category`. The final result is a ranked list that helps users find what they _mean_, even -if they did not type the metadata value exactly. +if they did not type the metadata value exactly. :::tip Use `document` level metadata when you want unique documents. Use `part` level @@ -116,57 +117,3 @@ Adjust field weights to control search relevance: }]} title="Document-Level Response" layout="stacked" /> -## Filter syntax - -`metadata_filter` uses Vectara’s metadata filter expression syntax. Prefix every field with its scope: `doc.` (document-level) or `part.` (part-level). - - -## Supported operators - -* Arithmetic: `+ - * / %` -* Comparisons: `< <= > >= = == != <>` -* Null tests: `IS NULL`, `IS NOT NULL` -* Membership: `IN (...)` -* Logical: `NOT`, `AND`, `OR` - - -## Examples - -* `doc.status = 'Active'` -* `doc.pageCount > 10` -* `doc.publish_date >= '2025-08-01'` -* `doc.category IN ('contract', 'policy')` -* `doc.status = 'Active' AND part.clause_type = 'Liability'` - -The filter language does **not** support SQL `LIKE`. Use fuzzy `queries` to handle approximate text. - -### Weighted multi‑field search - - - -### Exact filtering plus fuzzy ranking - - - -### Part‑level search - - - diff --git a/www/docs/use-case-exploration.md b/www/docs/use-case-exploration.md index 52ebc305f..1dcb71176 100644 --- a/www/docs/use-case-exploration.md +++ b/www/docs/use-case-exploration.md @@ -17,7 +17,7 @@ maintains enterprise-grade security, and never trains on customer content. ## Conversational AI and virtual assistants -Build intelligent [conversational experiences](/docs/agent-os/conversational-ai) that understand context and provide accurate responses: +Build intelligent [conversational experiences](/docs/agents/conversational-ai) that understand context and provide accurate responses: - **Customer service virtual assistants**: Deploy 24/7 self-service assistants, chat bots, or help desk agents. diff --git a/www/docs/welcome.mdx b/www/docs/welcome.mdx index dab5bfce6..54cf496d3 100644 --- a/www/docs/welcome.mdx +++ b/www/docs/welcome.mdx @@ -57,7 +57,7 @@ components. - Complete the [**developer quickstart**](developer-quickstart) and use Vectara to ground answers in your data in a few minutes. -- Build your [first agent](/docs/agent-os/agents-quickstart). +- Build your [first agent](/docs/agents/agents-quickstart). - Try the [**Vectara REST APIs**](/docs/rest-api) directly in your browser. - View [**API quick start**](/docs/api-recipes) to upload a file and query diff --git a/www/sidebars.ts b/www/sidebars.ts index e5ca817b6..e8c969d29 100644 --- a/www/sidebars.ts +++ b/www/sidebars.ts @@ -63,27 +63,25 @@ const sidebars: SidebarsConfig = { { type: "category", label: "Agents", - link: { - type: 'doc', - id: 'agent-os/agent-platform-overview', - }, collapsible: false, items: [ - "agent-os/agents-quickstart", + "agents/agents-quickstart", + "agents/agent-concepts", "agents/instructions", { type: "category", label: "Tools", items: [ - "agent-os/agent-tools", - "agent-os/subagents", - "agent-os/lambda-tools", - "agent-os/mcp", - // "agent-os/structured-indexing-tool", + "agents/agent-tools", + "agents/subagents", + "agents/custom-tools", + "agents/lambda-tools", + "agents/model-context-protocol", + // "agents/structured-indexing-tool", ], }, "agents/artifacts", - "agent-os/sessions", + "agents/sessions", "search-and-retrieval/bring-your-own-llm", ], }, @@ -223,6 +221,42 @@ const sidebars: SidebarsConfig = { ] } ], + }, + { + type: "category", + label: "Tutorials", + link: { + type: 'generated-index', + title: "Tutorials", + description: "Tutorials to help you build with Vectara", + slug: "/tutorials", + }, + collapsible: false, + items: [ + "video-tutorials", + "tutorials/build-a-financial-research-agent", + "tutorials/faq-and-qna-matching", + ], + }, + { + type: "category", + label: "Integrations", + link: { + type: 'doc', + id: 'integrations/community-collaborations-and-partnerships', + }, + collapsible: false, + items: [ + "tutorials/use-openai-libraries-with-vectara", + "tutorials/use-external-applications-sdk", + "integrations/vectara-and-langchain", + "integrations/vectara-and-llamaindex", + "integrations/vectara-and-flowise", + "integrations/vectara-and-langflow", + "integrations/vectara-and-airbyte", + "integrations/vectara-and-confluent", + "integrations/vectara-and-speechmatics", + ], }, ], restOAS: [ @@ -248,7 +282,7 @@ const sidebars: SidebarsConfig = { items: [ { type: "category", - label: "CRUD", + label: "Management", link: { type: "doc", id: "rest-api/agents", @@ -294,7 +328,7 @@ const sidebars: SidebarsConfig = { }, { type: "category", - label: "Agent sessions", + label: "Sessions", link: { type: "doc", id: "rest-api/agent-sessions", @@ -512,6 +546,14 @@ const sidebars: SidebarsConfig = { }, ], }, + { + "type": "category", + "label": "Examples", + "items": [ + "agents/create-agent-examples", + "agents/create-a-lambda-tool", + ], + }, ], }, { diff --git a/www/static/_redirects b/www/static/_redirects index 93a65ac13..51be729ab 100644 --- a/www/static/_redirects +++ b/www/static/_redirects @@ -35,7 +35,7 @@ /docs/authentication /docs/deploy-and-scale/authentication/auth-overview /docs/common-use-cases/app-authn-authz/authentication /docs/deploy-and-scale/authentication/auth-overview /docs/authorization /docs/deploy-and-scale/authentication/auth-overview -/docs/common-use-cases/app-authn-authz/authorization /docs/deploy-and-scale/authentication/role-based-access-control +/docs/common-use-cases/app-authn-authz/authorization /docs/security/authorization/role-based-access-control /docs/api-keys /docs/deploy-and-scale/authentication/api-key-management /docs/common-use-cases/app-authn-authz/api-keys /docs/deploy-and-scale/authentication/api-key-management /docs/search-apis/sql/ootb-filters /docs/learn/metadata-search-filtering/ootb-metadata-filters @@ -67,5 +67,6 @@ /docs/learn/hallucination-evaluation /docs/hallucination-and-evaluation/hallucination-evaluation /docs/learn/vectara-hallucination-corrector /docs/hallucination-and-evaluation/vectara-hallucination-corrector /docs/build-apps/vectara-answer /docs/search-and-retrieval/vectara-answer +/docs/agent-os/* /docs/agents/:splat /docs/api-reference/rest /docs/integrations/rest -/docs/agents/mcp /docs/agent-os/mcp \ No newline at end of file +/docs/agent-os/mcp /docs/agents/model-context-protocol \ No newline at end of file diff --git a/www/static/img/add-first-tool.png b/www/static/img/add-first-tool.png new file mode 100644 index 000000000..55de2d40d Binary files /dev/null and b/www/static/img/add-first-tool.png differ diff --git a/www/static/img/agents/create-agent-general.png b/www/static/img/agents/create-agent-general.png new file mode 100644 index 000000000..460359b40 Binary files /dev/null and b/www/static/img/agents/create-agent-general.png differ diff --git a/www/static/img/agents/create-agent-model.png b/www/static/img/agents/create-agent-model.png new file mode 100644 index 000000000..3893b795b Binary files /dev/null and b/www/static/img/agents/create-agent-model.png differ diff --git a/www/static/img/agents/create-agent-tools-1.png b/www/static/img/agents/create-agent-tools-1.png new file mode 100644 index 000000000..2ea3aee0e Binary files /dev/null and b/www/static/img/agents/create-agent-tools-1.png differ diff --git a/www/static/img/agents/create-agent-tools-2.png b/www/static/img/agents/create-agent-tools-2.png new file mode 100644 index 000000000..310d61db8 Binary files /dev/null and b/www/static/img/agents/create-agent-tools-2.png differ diff --git a/www/static/img/agents/create-agent-tools-advanced.png b/www/static/img/agents/create-agent-tools-advanced.png new file mode 100644 index 000000000..c86c997ed Binary files /dev/null and b/www/static/img/agents/create-agent-tools-advanced.png differ diff --git a/www/static/img/agents/create-lambda-tools.png b/www/static/img/agents/create-lambda-tools.png new file mode 100644 index 000000000..57eeb220a Binary files /dev/null and b/www/static/img/agents/create-lambda-tools.png differ diff --git a/www/static/img/agents/find-subagent-tool.png b/www/static/img/agents/find-subagent-tool.png new file mode 100644 index 000000000..4a3eb5dd2 Binary files /dev/null and b/www/static/img/agents/find-subagent-tool.png differ diff --git a/www/static/img/agents/lambda-tools.png b/www/static/img/agents/lambda-tools.png new file mode 100644 index 000000000..a0ac636dc Binary files /dev/null and b/www/static/img/agents/lambda-tools.png differ diff --git a/www/static/img/agents/run-test.png b/www/static/img/agents/run-test.png new file mode 100644 index 000000000..e57cc41ad Binary files /dev/null and b/www/static/img/agents/run-test.png differ diff --git a/www/static/img/agents/subagent-tool-select.png b/www/static/img/agents/subagent-tool-select.png new file mode 100644 index 000000000..a11ce695d Binary files /dev/null and b/www/static/img/agents/subagent-tool-select.png differ diff --git a/www/static/img/agents/test-agent-chat.png b/www/static/img/agents/test-agent-chat.png new file mode 100644 index 000000000..05e30a82c Binary files /dev/null and b/www/static/img/agents/test-agent-chat.png differ diff --git a/www/static/img/agents/test-lambda-function.png b/www/static/img/agents/test-lambda-function.png new file mode 100644 index 000000000..d61e5b749 Binary files /dev/null and b/www/static/img/agents/test-lambda-function.png differ diff --git a/www/static/img/agents/use-recommended-instructions.png b/www/static/img/agents/use-recommended-instructions.png new file mode 100644 index 000000000..9921736ef Binary files /dev/null and b/www/static/img/agents/use-recommended-instructions.png differ diff --git a/www/static/img/agents/web-search-tool.png b/www/static/img/agents/web-search-tool.png new file mode 100644 index 000000000..3746d61eb Binary files /dev/null and b/www/static/img/agents/web-search-tool.png differ diff --git a/www/static/img/corpora-list-tool.png b/www/static/img/corpora-list-tool.png new file mode 100644 index 000000000..060ad9644 Binary files /dev/null and b/www/static/img/corpora-list-tool.png differ diff --git a/www/static/img/create-agent-session.png b/www/static/img/create-agent-session.png new file mode 100644 index 000000000..4b43114f4 Binary files /dev/null and b/www/static/img/create-agent-session.png differ diff --git a/www/static/img/create-agent-success.png b/www/static/img/create-agent-success.png new file mode 100644 index 000000000..1e4430358 Binary files /dev/null and b/www/static/img/create-agent-success.png differ diff --git a/www/static/img/create-lambda-tool.png b/www/static/img/create-lambda-tool.png new file mode 100644 index 000000000..1788edb77 Binary files /dev/null and b/www/static/img/create-lambda-tool.png differ diff --git a/www/static/img/lambda-tools.png b/www/static/img/lambda-tools.png new file mode 100644 index 000000000..59b0d4cce Binary files /dev/null and b/www/static/img/lambda-tools.png differ diff --git a/www/static/img/test-lambda-function.png b/www/static/img/test-lambda-function.png new file mode 100644 index 000000000..63f663be1 Binary files /dev/null and b/www/static/img/test-lambda-function.png differ diff --git a/www/static/img/use-recommended-instructions.png b/www/static/img/use-recommended-instructions.png new file mode 100644 index 000000000..8d4743413 Binary files /dev/null and b/www/static/img/use-recommended-instructions.png differ diff --git a/www/static/img/web-search-tool.png b/www/static/img/web-search-tool.png new file mode 100644 index 000000000..97ae03ded Binary files /dev/null and b/www/static/img/web-search-tool.png differ diff --git a/www/static/vectara-oas-v2.yaml b/www/static/vectara-oas-v2.yaml index 58260b777..0b63c833e 100644 --- a/www/static/vectara-oas-v2.yaml +++ b/www/static/vectara-oas-v2.yaml @@ -6654,7 +6654,7 @@ paths: \ or apply access controls. Instructions and tools can also reference metadata\ \ using `${\\session.metadata.field}` or `$\\ref` syntax.\n\nA session also\ \ serves as the workspace for artifacts, enabling file uploads and multi-step\ - \ workflows. For more information, see [Working with artifacts in sessions](https://docs.vectara.com/docs/agent-os/sessions#working-with-artifacts-in-sessions).\n\ + \ workflows. For more information, see [Working with artifacts in sessions](https://docs.vectara.com/docs/agents/sessions#working-with-artifacts-in-sessions).\n\ \n## Example request\n\n```json\n\\$ curl -X POST https://api.vectara.io/v2/agents/support-agent/sessions\ \ \\\n-H \"Authorization: Bearer YOUR_API_KEY\" \\\n-H \"Content-Type: application/json\"\ \ \\\n-d '{\n \"key\": \"user_12345_session\",\n \"name\": \"Customer Support\