Skip to content
Merged
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
1 change: 1 addition & 0 deletions next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ const withNextra = require('nextra')({
theme: 'nextra-theme-docs',
themeConfig: './theme.config.tsx',
defaultShowCopyCode: true,
css: './styles/globals.css',
})

module.exports = withNextra({
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@
"@types/node": "18.11.10",
"typescript": "^4.9.3"
}
}
}
9 changes: 7 additions & 2 deletions pages/_app.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
import '@styles/globals.css'; // Adjust the path according to your project structure
import { ThemeProvider } from 'next-themes'
import '../styles/globals.css'

function Docs({ Component, pageProps }) {
return <Component {...pageProps} />
return (
<ThemeProvider attribute="class">
<Component {...pageProps} />
</ThemeProvider>
)
}

export default Docs
18 changes: 16 additions & 2 deletions pages/_meta.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,21 @@
{
"engine": {
"index": {
"type": "page",
"title": "Home",
"href": "/docs"
},
"dashboard": {
"type": "page",
"title": "Sign In"
},
"docs": {
"display": "hidden",
"type": "page",
"title": "Docs"
},
"guides": {
"display": "hidden",
"type": "page",
"title": "Engine"
"title": "Guides"
}
}
10 changes: 10 additions & 0 deletions pages/docs/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"home": {
"type": "page",
"title": "Home"
},
"guides": {
"type": "page",
"title": "Guides"
}
}
17 changes: 17 additions & 0 deletions pages/docs/_topnav.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[
{
"title": "Guides",
"url": "/docs/guides",
"icon": "list"
},
{
"title": "Reference",
"url": "https://api.arcade-ai.com/swagger/index.html",
"icon": "code"
},
{
"title": "Examples",
"url": "https://github.com/ArcadeAI/arcade-ai/tree/main/examples",
"icon": "git"
}
]
12 changes: 12 additions & 0 deletions pages/docs/guides/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"-- TopNav": {
"type": "separator",
"title": "TopNav"
},
"-- Arcade AI": {
"type": "separator",
"title": "Guides"
},
"index": "Overview",
"connectors": "Connectors"
}
5 changes: 5 additions & 0 deletions pages/docs/guides/connectors/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"google": "Google",
"github": "Github",
"slack": "Slack"
}
Empty file.
Empty file.
7 changes: 7 additions & 0 deletions pages/docs/guides/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Overview
description: Step by step guides to help you get started with Arcade AI
---
## Guides

lalala
20 changes: 20 additions & 0 deletions pages/docs/home/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"-- TopNav": {
"type": "separator",
"title": "TopNav"
},
"-- Arcade AI": {
"type": "separator",
"title": "Get Started"
},
"index": "Introduction",
"quickstart": "Quickstart",
"concepts": "Concepts",
"-- Deployment": {
"type": "separator",
"title": "Deployment"
},
"local": "Local",
"docker": "Docker",
"configuration": "Configuration"
}
8 changes: 8 additions & 0 deletions pages/docs/home/concepts/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"Architecture": {
"title": "Architecture",
"type": "page"
},
"actor": "Actor",
"engine": "Engine"
}
5 changes: 5 additions & 0 deletions pages/docs/home/concepts/actor/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"introduction": "Introduction",
"sdk": "SDK",
"fastapi": "FastAPI"
}
Empty file.
22 changes: 22 additions & 0 deletions pages/docs/home/concepts/actor/introduction.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: 'Introduction'
description: 'Arcade Actor Introduction'
---

# Introduction

Actors are stateless executable environments that contain a collection of tools. They are called by the engine to execute tool requests and return the results.

Can be run locally or remotely and are all independent of one another for easy scalability.

## Running Actors

### Local Actor

An actor can be run locally using the `arcade dev` command. This is useful for testing and development.
Tools installed in the current python environment are available to the actor.

### Remote Actor

Actors can be run remotely by running them in a docker container and hosting them in a docker compatible environment that is accessible to the engine.

Empty file.
6 changes: 6 additions & 0 deletions pages/docs/home/concepts/engine/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"routers": "Routers",
"directors": "Directors",
"models": "Models",
"configuration": "Configuration"
}
32 changes: 32 additions & 0 deletions pages/docs/home/concepts/engine/directors.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: 'Directors'
description: 'Ensure your models are always available'
---
# Directors

Directors manage a group of actors and ensure they are healthy and ready to serve requests.
They determine the routing for tool requests and handle communication between actors and the engine.

When the engine is notified of a new actor, the director makes a request to check its health and check the tools installed on it.
When a tool request is received, the director selects a healthy actor that has the requested tool installed.

Directors also handle the authorization process for any tool request that requires it.


## Example Configuration

Below is an example configuration for a director using a single local actor.

```yaml
director:
directors:
- id: default
enabled: true
actors:
- id: "localactor"
enabled: true
http:
uri: "http://localhost:8000"
timeout: 30
retry: 3
```
3 changes: 3 additions & 0 deletions pages/docs/home/configuration/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"engine": "Engine"
}
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,40 @@ Arcade Engine automatically loads environment variables from `.env` files in the
```bash
engine --env .env.dev --config config.yaml
```

## Full Configuration Example

```yaml
telemetry:
logging:
level: info # debug, info, warning, error, fatal
encoding: json # console, json

routers:
language:
- id: simplerouter
strategy: priority
models:
- id: openai-boring
openai:
model: gpt-3.5-turbo
api_key: "sk-"
default_params:
temperature: 0

director:
directors:
- id: default
enabled: true
actors:
- id: "localactor"
enabled: true
http:
uri: "http://localhost:8000"
timeout: 30
retry: 3
storage:
token_cache:
in_memory:
max_size: 1000
```
25 changes: 25 additions & 0 deletions pages/docs/home/docker.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: Docker Installation
description: Deploy Arcade with Docker
---

# Docker Installation

## Pulling the Engine Image

The docker image for the engine can be pulled with
```bash
docker pull <repo>/arcade/engine:latest
```

## Running the Engine

The engine can be run with:
```bash
docker run -d -p 9099:9099 -v ./config.yaml:/bin/config.yaml <repo>/arcade/engine:latest
```
where config.yaml is the path to the [configuration file](/engine/docs/engine/configuration#full-configuration-example).


## Running an Actor
(Todo)
21 changes: 5 additions & 16 deletions pages/engine/docs/index.mdx → pages/docs/home/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,11 @@
title: Introduction
description: Welcome to Arcade AI's documentation
---
## Welcome to Arcade AI?
## Welcome to Arcade AI!

Arcade AI is an integrations platform for language models. Arcade provides a unified API for language model providers that is capable of calling "tools"
handling end-user auth (like OAuth) separating client and server logic. By separating and managing tool execution, Arcade can support a diverse array of
compute environments for tools and scale independently from client applications.

Arcade AI allows you to focus on your core business logic while it handles the complexities of LLM operations.

## Why Arcade AI?
Choose a topic below to get started with Arcade AI.
<br />
<br />

<Cards columns={2}>
<Card
Expand Down Expand Up @@ -41,6 +37,7 @@ Arcade AI allows you to focus on your core business logic while it handles the c
<Card
icon="puzzle-piece"
title="Configurable"
href="/engine/docs/deploy/"
>
Arcade deploys in your environment, keeping your data secure and compliant. Arcade manages all end-user tokens, client secrets, and API keys safely inside your infrastructure.
</Card>
Expand Down Expand Up @@ -91,12 +88,4 @@ Arcade AI allows you to focus on your core business logic while it handles the c
>
Install Arcade AI locally on your developer machine or bare metal setup via CLI (MacOS, Linux, Windows).
</Card>
<Card
icon="cloud"
title="Kubernetes"
color="#0078d3"
href="/engine/docs/deploy/kubernetes/"
>
Install Arcade AI into a Kubernetes cluster.
</Card>
</Cards>
29 changes: 29 additions & 0 deletions pages/docs/home/local.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: Local Installation
description: Developer setup for Arcade AI
---

# Local Deployment

## Requirements

- Python 3.10+
- Docker

## Actor
First run the actor with the following commands:
```bash
pip install arcade-ai
arcade dev
```

## Engine

The engine binary can be downloaded from [here]

To run the engine locally, you can use the following command:
```bash
./arcade-engine -c ./config.yaml
```

An example configuration file can be found [here](/engine/docs/engine/configuration#full-configuration-example).
32 changes: 32 additions & 0 deletions pages/docs/home/quickstart.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: 'Quickstart'
description: 'Arcade Quickstart'
---

# Quickstart
(Talk to sam and nate about what a quickstart should look like)


## Requirements

- Python 3.10+

## Install Arcade AI

```bash
pip install arcade-ai[arithmetic]
```

## Export OPENAI_API_KEY
```bash
export OPENAI_API_KEY="sk-..."
```


## Run the Actor

```bash
arcade run -t arcade_math "What is 2 + 2?"
```


Loading