Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,14 @@
{
"group": "Agent via No-Code Builder",
"pages": [
"offline-evals/via-ui/agents-via-no-code-builder/quickstart",
"offline-evals/via-ui/agents-via-no-code-builder/types-of-nodes",
"offline-evals/via-ui/agents-via-no-code-builder/agent-deployment",
"offline-evals/via-ui/agents-via-no-code-builder/error-debugging",
"offline-evals/via-ui/agents-via-no-code-builder/loops",
"offline-evals/via-ui/agents-via-no-code-builder/multi-agent-system",
"offline-evals/via-ui/agents-via-no-code-builder/agent-evals",
"offline-evals/via-ui/agents-via-no-code-builder/variables-in-agents"
"offline-evals/via-ui/agents-via-no-code-builder/experiment-with-prompt-chains",
"offline-evals/via-ui/agents-via-no-code-builder/debug-errors-at-every-node",
"offline-evals/via-ui/agents-via-no-code-builder/use-loops-in-chains",
"offline-evals/via-ui/agents-via-no-code-builder/use-api-nodes-within-chains",
"offline-evals/via-ui/agents-via-no-code-builder/deploy-prompt-chains",
"offline-evals/via-ui/agents-via-no-code-builder/test-prompt-chains",
"offline-evals/via-ui/agents-via-no-code-builder/querying-prompt-chains",
"offline-evals/via-ui/agents-via-no-code-builder/multi-agent-system"
]
},
{
Expand Down
Binary file modified images/docs/evaluate/how-to/prompt-chains/add-api-node.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/docs/evaluate/how-to/prompt-chains/api-node-editor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/docs/evaluate/how-to/prompt-chains/api-node.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/docs/evaluate/how-to/prompt-chains/code-node.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/docs/evaluate/how-to/prompt-chains/edit-api-node.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/docs/evaluate/how-to/prompt-chains/new-node-state.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/docs/evaluate/how-to/prompt-chains/prompt-node.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
48 changes: 0 additions & 48 deletions offline-evals/via-ui/agents-via-no-code-builder/agent-evals.mdx

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,24 @@ Find and resolve issues in your Agents with clear error diagnostics. When a step

This targeted error handling helps you quickly fix issues before they cascade through your AI workflow.

![Error details shown for a failed step in an Agent](/images/docs/offline-evals/via-ui/agents-via-no-code-builder/prompt-chain-error-state.png)
![Error details shown for a failed step in an Agent](/images/docs/evaluate/how-to/prompt-chains/prompt-chain-error-state.png)

In this example, the agent stopped at the Code node due to the input being a non-JSON parseable string.
In addition, once the workflow is executed, you can view the full execution log of the node by clicking on the <Icon icon="scroll" /> icon in the top right corner for every node.
Click on the `View run logs` button in the bottom toolbar to see the full execution log of the chain and the data passed in each node.

![Traces shown for error details for a node in an Agent](/images/docs/offline-evals/via-ui/agents-via-no-code-builder/prompt-chain-trace-sheet.png)
![Traces shown for error details for a node in an Agent](/images/docs/evaluate/how-to/prompt-chains/prompt-chain-trace-sheet.png)

### Debugging errors in loops
In cases where a node executes multiple times due to loops, view the execution log of each iteration and in cases of errors, use it to identify the exact inputs and outputs that led to the error.

Let's take an example use case where the code checks if the input is JSON parseable or not. And here, the code block has a bug where it sends back the data to the code block to send it in an infinite loop.

![Infinite loop in a code block](/images/docs/offline-evals/via-ui/agents-via-no-code-builder/prompt-chain-infinite-loop.png)
![Infinite loop in a code block](/images/docs/evaluate/how-to/prompt-chains/prompt-chain-infinite-loop.png)

In this case, click on the <Icon icon="scroll" /> icon in the top right corner of the code block to show the execution log of each iteration.
![Traces shown for error details for a node in an Agent](/images/docs/offline-evals/via-ui/agents-via-no-code-builder/prompt-chain-infinite-loop-trace-sheet.png)
Click on the `View run logs` button in the bottom toolbar to see the data passed in each iteration.
![Traces shown for error details for a node in an Agent](/images/docs/evaluate/how-to/prompt-chains/prompt-chain-infinite-loop-trace-sheet.png)

### Search and filtering
You can search and filter the execution log by using the search bar and the filters to filter specific types of errors.

![Search and filter the execution log](/images/docs/evaluate/how-to/prompt-chains/prompt-chain-sheet-filtering.png)
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
---
title: Agent Deployment
description: Quick iterations on agents should not require code deployments every time. With more and more stakeholders working on prompt engineering, its critical to keep deployments of agents as easy as possible without much overhead. Agent deployments on Maxim allow conditional deployment of agent changes that can be used via the SDK.
description: Quick iterations on Agents should not require code deployments every time. With more and more stakeholders working on prompt engineering, its critical to keep deployments of Agents as easy as possible without much overhead. Agent deployments on Maxim allow conditional deployment of Agent changes that can be used via the SDK.
---

## Why Deploy Agents via No-Code Builder via Maxim
## Why deploy Agents via Maxim

- Prompt experimentation - Create multiple versions of your agents, and use a wide variety of models available on Maxim to test and compare their performance using your custom data.
- Prompt experimentation - Create multiple versions of your Agents, and use a wide variety of models available on Maxim to test and compare their performance using your custom data.
- Deploy without code changes - Deploy the final version directly from UI—no code changes required. Use Maxim's RBAC support to limit deployment permission to key stakeholders.
- Custom variables - Use custom variables to create rules to control which environments or user groups should receive the updates. This helps in setting up A/B tests or testing prompt variations internally before pushing to users.

### Deploying an Agent

<Steps>
<Step title="Navigate to Agents via no-code builder">
Navigate to Evaluation > Agents via no-code builder and open the agent you want to deploy.
<Step title="Navigate to Prompt Chains">
Navigate to Evaluation > Prompts > Prompt Chains and open the prompt chain you want to deploy.
</Step>
<Step title="Access deployment options">
Click the 🚀 icon in the header and choose to deploy the present version.
Expand All @@ -27,16 +27,9 @@ description: Quick iterations on agents should not require code deployments ever
Edit or define new variables by clicking "Edit deployment variables"
</Step>
<Step title="Define variable properties">
Define the name and type of any variable.
- For variables of type `select` provide possible options. e.g. Environment: Beta, Staging, Prod.
Define the name and type of any variable. For variables of type `select` provide possible options. e.g. Environment: Beta, Staging, Prod.

![Add new deployment variable](/images/docs/evaluate/how-to/evaluate-prompts/deployments/add-new-deployment-variable.png)

- For variables of type `multiselect`, configure when the deployment runs:
- all selected options are present in the deployment rule using the `=` operator, or
- any of the selected options are present in the deployment rule using the `includes` operator.

![Multiselect deployment rule](/images/docs/evaluate/how-to/evaluate-prompts/deployments/multiselect-deployment-rule.png)
</Step>
<Step title="Deploy conditionally">
Every time you have a new version to deploy, use the variable based rules to deploy conditionally.
Expand All @@ -50,7 +43,7 @@ description: Quick iterations on agents should not require code deployments ever

## Fetching Agents via SDK

For building query to get agent with specific deployment variables, you can use `QueryBuilder`.
For building query to get Agent with specific deployment variables, you can use `QueryBuilder`.

<CodeGroup>
```typescript JS/TS
Expand Down Expand Up @@ -137,29 +130,4 @@ Adding filters based on Tags
```
</CodeGroup>

Use multiselect variables
<CodeGroup>
```typescript JS/TS
import { Maxim, QueryBuilder } from "@maximai/maxim-js;

const maxim = new Maxim({ apiKey: "", promptManagement: true});

const prompt = await maxim.getPromptChain(
"prompt-chain-id",
new QueryBuilder().and().deploymentVar("Tenant ID", ["Tenant1"]).build(),
);
```

```python Python
from maxim import Maxim, Config
from maxim.models import QueryBuilder

maxim = Maxim(Config(api_key="", prompt_management=True))

prompt = maxim.get_prompt_chain("prompt-chain-id",
QueryBuilder()
.and_()
.deployment_var("Tenant ID", ["Tenant1"])
.build())
```
</CodeGroup>
<Callout>Learn more about advanced [prompt chain querying](/evaluate/how-to/evaluate-chains/querying-prompt-chains) techniques.</Callout>
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
title: Types of nodes
description: Connect various types of blocks to create sophisticated AI systems using our visual editor
---


## Available nodes

<AccordionGroup type="multiple">
<Accordion title="Prompt">

Run any [Prompt](/evaluate/how-to/evaluate-prompts/experiment-in-prompt-playground) as part of your agent.

- Select from your existing prompts and versions or create an entirely new prompt directly in the editor
- Support for variables and context
- Input passed as user message
- Additionally, any variables defined in the prompt are available as input to the block
- 3 available outputs:
- Assistant's response
- Context retrieved during the LLM call
- Output of attached tool call (if called by the LLM)
- Click on the <Icon icon="pencil" /> to edit the selected prompt inline

Perfect for natural language tasks like classification, generation or analysis.

![Example of a Prompt node in the editor](/images/docs/evaluate/how-to/prompt-chains/prompt-node.png)
</Accordion>

<Accordion title="Code">

Add JavaScript logic to process data between nodes.

- Write custom code to transform data
- Automatic JSON parsing of input
- Automatic stringification of output
- Seamless connection with other nodes
- All parameters included in the `execute` function are available as input to the block
- The output of the code block must be an object. All keys of the returned object are available as output for the next blocks
- Click on the <Icon icon="pencil" /> to edit the selected code block inline

Ideal for data manipulation, validation or custom processing.

<img src="/images/docs/evaluate/how-to/prompt-chains/code-node.png" liftImageZIndex alt="Example of a Code node with JavaScript editor" className="mb-0" />
</Accordion>

<Accordion title="API">

Connect external services into your agent.

- Support for GET, POST and other methods
- Variable substitution in headers, params and body
- Automatic data format handling
- Easy integration with other nodes
- All variables defined in the API node are available as input to the block
- The payload returned from the call is available as output for the next blocks
- Click on the <Icon icon="pencil" /> to edit the selected API node inline

Essential for retrieving external data or triggering services.

<img src="/images/docs/evaluate/how-to/prompt-chains/api-node.png" liftImageZIndex alt="Example of an API node configuration" className="mb-0" />
</Accordion>

<Accordion title="Conditional">

Add conditional routing to your agent.

- Support for multiple conditions
- 2 available outputs:
- Then: Would route data through this port if condition is met
- Else: Would route data through this port if condition is not met

Essential when data needs to be routed based on certain conditions.

<img src="/images/docs/evaluate/how-to/prompt-chains/conditional-node.png" liftImageZIndex alt="Example of a Conditional node configuration" className="mb-0" />
</Accordion>

<Accordion title="Prompt tools">

Attach prompt tools to your prompts.

- The tool call is available as output for the next blocks
- Major use case is to connect the output back to the prompt to have the LLM call the tool again with the updated context

<Info>
You cannot directly create prompt tools in the editor. Attach the tools to the prompt node in the configuration section. They will get attached automatically to the prompt.
</Info>

<img src="/images/docs/evaluate/how-to/prompt-chains/prompt-tool-node.png" liftImageZIndex alt="Example of a Prompt tool node configuration" className="mb-0" />
</Accordion>
</AccordionGroup>
18 changes: 9 additions & 9 deletions offline-evals/via-ui/agents-via-no-code-builder/meta.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"title": "Evaluate Agents",
"title": "Evaluate Chains",
"pages": [
"quickstart",
"types-of-nodes",
"variables-in-agents",
"multi-agent-system",
"loops",
"error-debugging",
"agent-deployment",
"agent-evals"
"experiment-with-prompt-chains",
"debug-errors-at-every-node",
"use-loops-in-chains",
"use-api-nodes-within-chains",
"deploy-prompt-chains",
"test-prompt-chains",
"querying-prompt-chains",
"multi-agent-system"
]
}
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
---
title: Multi-agent System
title: AI-powered multi-agent support system
description: Multi-agent systems are a powerful way to build complex applications that can handle a wide variety of tasks.
---

import { MaximPlayer } from "/snippets/maximPlayer.mdx"

Create an intelligent workflow that can automatically understand and answer user queries related to their accounts, billings, returns or any FAQ.

![Multi agent system workflow](/images/docs/offline-evals/via-ui/agents-via-no-code-builder/multi-agent-system.png)
![Multi agent system workflow](/images/docs/evaluate/how-to/prompt-chains/tutorials/multi-agent-system.png)

<Steps>
<Step title="Set up user query classification agent">

The below prompt would act as our routing agent, classifying the user query into different categories (Account, Billing, Returns & FAQ).
![Multi agent system routing agent](/images/docs/offline-evals/via-ui/agents-via-no-code-builder/multi-agent-system-routing-agent.png)
![Multi agent system routing agent](/images/docs/evaluate/how-to/prompt-chains/tutorials/multi-agent-system-routing-agent.png)

</Step>

<Step title="Route data based on category">

Use the code block as a helper to route the data to the corresponding agent based on the category.

![Multi agent system routing helper block](/images/docs/offline-evals/via-ui/agents-via-no-code-builder/multi-agent-system-code.png)
![Multi agent system routing helper block](/images/docs/evaluate/how-to/prompt-chains/tutorials/multi-agent-system-code.png)

</Step>

<Step title="Create the required sub-agents">

Use the [Prompt](/offline-evals/via-ui/prompts/prompt-playground) feature to create the required individual sub-agents. Make sure to attach the required tools for every sub-agent to process the user query.
Use the [Prompt](/evaluate/how-to/evaluate-prompts/experiment-in-prompt-playground) feature to create the required individual sub-agents. Make sure to attach the required tools for every sub-agent to process the user query.

Additionally, connect the outputs of all the agents to the `Final output node` to get the final response.
</Step>

<Step title="Test the agent">
Here is a video of the agent in action:

<MaximPlayer url="https://drive.google.com/file/d/1ZwFCqCJWGFWMppPBzgWBQymAGcqe2Yrk/preview" />
<MaximPlayer url="https://drive.google.com/file/d/1-Cg1LUgVrUWVojKw_K3_CXfP_z70-TWf/preview" />

</Step>

Expand Down
Loading