diff --git a/site/content/ai-suite/_index.md b/site/content/ai-suite/_index.md index 4f23bcaa4c..2a2521db9c 100644 --- a/site/content/ai-suite/_index.md +++ b/site/content/ai-suite/_index.md @@ -1,5 +1,5 @@ --- -title: AI Suite +title: The AI Suite of the Arango AI Data Platform menuTitle: AI Suite weight: 2 description: >- @@ -11,13 +11,15 @@ description: >- --- ## What's included -AI Suite are comprised of two major components: +The AI Suite is composed of three major components: -- [**GraphRAG**](./graphrag/_index.md): A complete solution for extracting entities +- [**GraphRAG**](graphrag/_index.md): A complete solution for extracting entities from text files to create a knowledge graph that you can then query with a natural language interface. -- [**GraphML**](./graphml/_index.md): Apply machine learning to graphs for link prediction, +- [**GraphML**](graphml/_index.md): Apply machine learning to graphs for link prediction, classification, and similar tasks. +- [**AQLizer**](aqlizer.md): Generate AQL queries from natural language to explore + your data and gain insights without having to learn the query language first. Each component has an intuitive graphical user interface integrated into the Arango Data Platform web interface, guiding you through the process. @@ -26,14 +28,14 @@ Alongside these components, you also get the following additional features: - [**Graph Analytics**](graph-analytics.md): Run graph algorithms such as PageRank on dedicated compute resources. -- [**Jupyter notebooks**](notebook-servers.md): Run a Jupyter kernel in the platform for hosting - interactive notebooks for experimentation and development of applications - that use ArangoDB as their backend. -- **Public and private LLM support**: Use public LLMs such as OpenAI - or private LLMs with [Triton Inference Server](reference/triton-inference-server.md). -- [**MLflow integration**](reference/mlflow.md): Use the popular MLflow as a model registry for private LLMs - or to run machine learning experiments as part of the Arango Data Platform. -- **Application Programming Interfaces**: Use the underlying APIs of the +- [**Jupyter notebooks**](notebook-servers.md): Run a Jupyter kernel in the + Data Platform for hosting interactive notebooks for experimentation and + development of applications that use ArangoDB as their backend. +- **Public and private LLM support**: Use public large language models (LLMs) + such as OpenAI or private LLMs with [Triton Inference Server](reference/triton-inference-server.md). +- [**MLflow integration**](reference/mlflow.md): Use the popular MLflow as a + model registry for private LLMs or to run machine learning experiments. +- **Application Programming Interfaces (APIs)**: Use the underlying APIs of the AI Suite and build your own integrations. See the [Protocol Documentation](https://arangoml.github.io/platform-dss-api/GenAI-Service/proto/index.html) for more details. diff --git a/site/content/ai-suite/aqlizer.md b/site/content/ai-suite/aqlizer.md new file mode 100644 index 0000000000..cf3d1b1dba --- /dev/null +++ b/site/content/ai-suite/aqlizer.md @@ -0,0 +1,31 @@ +--- +title: The AQLizer feature of the Arango AI Data Platform +menuTitle: AQLizer +weight: 17 +description: >- + Generate AQL queries from natural language with the AQLizer feature of the + AI Suite +--- +## Overview + +The AQLizer feature makes it very easy to query your data in the AI Data Platform. +It automatically translates your requests written in plain language to ArangoDB's +query language AQL using generative AI. You can start to explore your data and +gain insights without having to learn the query language first. + +For example, you can ask questions or use instructions like the following: +- List all distinct surnames in the database and sorted in descending order +- How many persons are there with the surname "Stark"? +- Find the parents of "Arya Stark" + +## Interfaces + +The AQLizer feature is integrated into the AI Data Platform web interface. +You can access it directly from the **Query Editor**. You can generate, verify, +and refine queries in one place. To learn more about how to set up and generate +queries, see the [Query Editor](../data-platform/query-editor.md#generate-queries-aqlizer) +documentation of the Data Platform. + +You can also utilize the AQLizer feature programmatically using an API. +See the [Natural Language to AQL Translation Service](reference/natural-language-to-aql.md) +documentation for details. diff --git a/site/content/ai-suite/graph-analytics.md b/site/content/ai-suite/graph-analytics.md index 190c6ac1f2..fffeeb63af 100644 --- a/site/content/ai-suite/graph-analytics.md +++ b/site/content/ai-suite/graph-analytics.md @@ -2,9 +2,10 @@ title: Graph Analytics menuTitle: Graph Analytics weight: 15 -description: | +description: >- Graph analytics analyzes information networks to extract insights from data - relationships using algorithms like PageRank for fraud detection, recommendations, and network analysis + relationships using algorithms like PageRank for fraud detection, + recommendations, and network analysis aliases: - ../graphs/graph-analytics --- diff --git a/site/content/ai-suite/reference/_index.md b/site/content/ai-suite/reference/_index.md index e23683c4ba..ccfc8e1e50 100644 --- a/site/content/ai-suite/reference/_index.md +++ b/site/content/ai-suite/reference/_index.md @@ -1,6 +1,6 @@ --- -title: Reference +title: AI Suite Reference Documentation menuTitle: Reference description: '' +weight: 40 --- - diff --git a/site/content/ai-suite/reference/natural-language-to-aql.md b/site/content/ai-suite/reference/natural-language-to-aql.md index e73234d162..40d3ff9920 100644 --- a/site/content/ai-suite/reference/natural-language-to-aql.md +++ b/site/content/ai-suite/reference/natural-language-to-aql.md @@ -5,7 +5,6 @@ description: >- The Natural Language to AQL Translation Service is a powerful tool that allows you to interact with your ArangoDB database using natural language queries weight: 20 -draft: true # Not available in pre-release --- ## Overview diff --git a/site/content/data-platform/query-editor.md b/site/content/data-platform/query-editor.md new file mode 100644 index 0000000000..5d1909bafd --- /dev/null +++ b/site/content/data-platform/query-editor.md @@ -0,0 +1,125 @@ +--- +title: The Query Editor of the Arango Data Platform +menuTitle: Query Editor +weight: 30 +description: >- + Write, run, and analyze AQL queries using an IDE-like interface +--- +## Features + +The Query Editor of the Arango Data Platform offers the following features: + +- **Tabbed interface**: + Work on multiple queries concurrently via tabs. + +- **Query and results side by side**: + View the results of running, explaining, and profiling a query in a separate + tab, with one results tab for each query tab. + +- **Result history**: + A results tab shows the previous run, explain, and profile outputs. + You can individually collapse and expand the entries, as well as clear the + entire history. + +- **Saved queries**: + You can save frequently used queries to add them to a sidebar for all users + in the current database. + +- **Remembered queries and results**: + The Query Editor remembers its state including unsaved queries as well as + results across sessions using your local browser storage. + +- **Re-organizable viewport**: + You can drag and drop tabs to re-order them and move them between existing + panels, as well as split panels vertically and horizontally into more panels. + +- **Ask AI for AQL Queries (AQLizer)**: + Describe what you want in natural language and generate AQL queries right + from the Query Editor. This feature is only available in the + Arango AI Data Platform. + +![Screenshot of the Query Editor with an AQL query for retrieving movie documents on the left and the results displayed on the right](../images/data-platform-query-editor.png) + +{{< info >}} +The Query Editor of the Data Platform is not feature-complete. It currently +lacks features like syntax highlighting and a way to set query options. +Use the query editor of ArangoDB instead if you need these features. +You can find it under **Management** in the Data Platform web interface, and +then **Queries** in the second-level navigation. +{{< /info >}} + +## Work with queries + +You can enter your AQL query code into the default tab, or open more query tabs +at any point by clicking the button at the top of a panel to the right of the +tabs ({{< icon "add" >}}). + +You can close tabs with the button next to the tab name ({{< icon "close" >}}). +When you close all tabs, the viewport opens the **Welcome** tab. + +A floating panel in the top right corner lets you enter values for +**Bind variables** if there are any such placeholders in the query. You can +minimize this panel to a button. + +The following buttons are available at the bottom of a query tab: + +- **Save**: Store the query and the bind variables under a name you provide. + The saved queries of the current database are listed in the sidebar on the + left-hand side under **Saved**, where you can also clone, rename, and delete them. +- **AQLizer**: This button is only visible if you use the AI Data Platform. + See [Generate queries (AQLizer)](#generate-queries-aqlizer). +- **Run query**: Execute the AQL query normally. +- **Explain**: Show the execution plan for the query. +- **Profile**: Run the query with detailed tracking of its performance. + +The sidebar on the left-hand side allows you to manage queries: + +- **Search queries**: Filter the list of **Saved** queries by name. +- **Saved**: Open previously saved queries by clicking the name, or click the + small button ({{< icon "ellipsis" >}}) to duplicate, rename, or delete + saved queries. +- **Running**: Open a tab with an overview over the currently executing queries. + You can also kill a query from this view. +- **Slow Queries**: Open a tab with a list of past queries that ran longer than + a server-configured threshold. + +## Generate queries (AQLizer) + +{{< tag "AI Data Platform" >}} + +For an introduction to the AQLizer, see +[The AQLizer feature of the Arango AI Data Platform](../ai-suite/aqlizer.md). + +Before you can generate AQL queries, you need to set up the AQLizer feature. + +1. Click the **AQLizer** button to open the panel for generating AQL queries + with AI. +2. On first use, you are asked for an **OpenAPI API Key** and you can select the + desired **OpenAI Model**. +3. Click **Start Service**. +4. You can check the status of the service as well as stop it from the + **Manage Services** dialog. + +Once the AQLizer service is ready, you can generate queries. + +1. In the AQLizer tab, enter a self-contained question or instructions in + natural language, like "List all distinct surnames of characters older than 30". +2. Click **Ask** to use GenAI for generating an AQL query. +3. Verify and refine the query in the editor. + +{{< warning >}} +Always verify AI-generated queries. +AI can make mistakes or produce unexpected results. +{{< /warning >}} + +## Adjust the viewport + +The following options for re-organizing how tabs and panels are arranged in the +Query Editor are available: + +- You can drag a tab with your mouse to a different place in the tab list to + change the order of the tabs or move a tab to a different panel. +- You can drag a tab to the left or right side of a panel to split it + horizontally, or to the top or bottom to split it vertically. + If you move or close the last remaining tab of panel elsewhere, the space is + automatically reclaimed. diff --git a/site/content/images/data-platform-query-editor.png b/site/content/images/data-platform-query-editor.png new file mode 100644 index 0000000000..95da18a164 Binary files /dev/null and b/site/content/images/data-platform-query-editor.png differ diff --git a/site/content/images/icons/add.svg b/site/content/images/icons/add.svg new file mode 100644 index 0000000000..5cfb9f82cb --- /dev/null +++ b/site/content/images/icons/add.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/site/content/images/icons/close.svg b/site/content/images/icons/close.svg new file mode 100644 index 0000000000..2ef169245e --- /dev/null +++ b/site/content/images/icons/close.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/site/content/images/icons/ellipsis.svg b/site/content/images/icons/ellipsis.svg new file mode 100644 index 0000000000..40ffc555d6 --- /dev/null +++ b/site/content/images/icons/ellipsis.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file