Skip to content

PLG-Motion | AutoGraph Flow Tutorial - #1061

Open
nicos-arango wants to merge 10 commits into
plg-install-tutorialfrom
DOC-950-a
Open

PLG-Motion | AutoGraph Flow Tutorial#1061
nicos-arango wants to merge 10 commits into
plg-install-tutorialfrom
DOC-950-a

Conversation

@nicos-arango

@nicos-arango nicos-arango commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Description

Upstream PRs

  • 3.10:
  • 3.11:
  • 3.12:
  • 4.0:

Summary by CodeRabbit

  • New Features
    • Added a tutorials landing page for the Arango Contextual Data Platform.
    • Added a hands-on tutorial for evaluating the platform locally with Kubernetes.
    • Added a notebook tutorial covering end-to-end knowledge graph creation from documents.
    • Added a runnable Jupyter notebook demonstrating AutoGraph setup, document processing, GraphRAG orchestration, and querying.

@arangodb-docs-automation

Copy link
Copy Markdown
Contributor

Deploy Preview Available Via
https://deploy-preview-1061--docs-hugo.netlify.app

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5954f484-8ff1-416b-b508-df74162af168

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Added two Contextual Data Platform tutorials and a complete AutoGraph demonstration notebook. The content covers local Kubernetes installation, platform configuration, service deployment, document ingestion, GraphRAG orchestration, querying, validation, and cleanup.

Changes

Contextual Data Platform tutorials

Layer / File(s) Summary
Tutorial landing page
site/content/contextual-data-platform/tutorials/_index.md
Adds landing-page metadata, introductory guidance, and links to both tutorials.
Local cluster and platform installation
site/content/contextual-data-platform/tutorials/evaluate-locally.md
Documents prerequisites, kind cluster creation, licensing, operator installation, ArangoDeployment setup, and MinIO-backed storage.
Platform validation and cleanup
site/content/contextual-data-platform/tutorials/evaluate-locally.md
Documents platform installation, readiness checks, UI access, follow-up guidance, and cleanup commands.
AutoGraph tutorial workflow
site/content/contextual-data-platform/tutorials/notebook-tutorial.md
Documents configuration, authentication, project and secret setup, AutoGraph deployment, file upload, corpus building, and strategy generation.
AutoGraph notebook implementation
site/static/notebooks/Autograph_DEMO.ipynb
Adds executable helpers and cells for authentication, service lifecycle operations, project setup, deployment, uploads, corpus building, and strategy retrieval.
GraphRAG orchestration and querying
site/content/contextual-data-platform/tutorials/notebook-tutorial.md, site/static/notebooks/Autograph_DEMO.ipynb
Adds importer orchestration, metadata inspection, retriever deployment, health checks, query examples, and cleanup steps.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

Suggested labels: cla-signed

Suggested reviewers: nerpaula

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and matches the main addition of the AutoGraph Flow Tutorial under PLG-Motion.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch DOC-950-a

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

🧹 Nitpick comments (1)
site/content/contextual-data-platform/tutorials/evaluate-locally.md (1)

340-340: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Pin the MinIO images used by the tutorial.

minio/minio:latest and the untagged minio/mc image can change between runs, causing a previously validated tutorial to fail or behave differently. Pin both to tested, compatible versions or immutable digests.

Also applies to: 381-381

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@site/content/contextual-data-platform/tutorials/evaluate-locally.md` at line
340, Pin the MinIO images in the tutorial’s container configuration, including
the `minio/minio` entry and the `minio/mc` entry at the referenced second
location, to tested compatible version tags or immutable digests. Replace
`minio/minio:latest` and the untagged `minio/mc` reference while preserving the
existing service configuration.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@site/content/contextual-data-platform/tutorials/evaluate-locally.md`:
- Around line 129-132: Add the text language identifier to the output-only
Markdown fences around the kubectl output blocks, including the sections
corresponding to the listed ranges. Keep the existing output content unchanged
and ensure every affected fenced block has an explicit language tag to satisfy
markdownlint MD040.

In `@site/content/contextual-data-platform/tutorials/notebook-tutorial.md`:
- Around line 101-116: The tutorial configuration in
site/content/contextual-data-platform/tutorials/notebook-tutorial.md lines
101-116 must expose the provider, model, and API URL settings, or explicitly
state that OpenAI is required. Update site/static/notebooks/Autograph_DEMO.ipynb
lines 295-306 to read those provider settings from os.environ instead of
hard-coding them, keeping the documented variable names consistent across both
files.
- Around line 432-449: The notebook tutorial must wait for the asynchronous
import orchestration to finish before proceeding to Retriever deployment; update
the workflow around the orchestration ID and Step 12 in
site/content/contextual-data-platform/tutorials/notebook-tutorial.md (lines
432-449) to require a completed status. In
site/static/notebooks/Autograph_DEMO.ipynb (lines 567-720), add explicit polling
that continues on in-progress status, handles completed and failed outcomes, and
only stops AutoGraph or proceeds after completion.
- Around line 352-356: Update the Step 10 warning in the notebook tutorial to
direct users to inspect the build-status response’s message and error_code
fields when status is failed; remove the reference to the unsupported error
field while preserving the existing guidance about builds still in progress.
- Around line 92-97: Add requests to the notebook setup installation in
site/static/notebooks/Autograph_DEMO.ipynb at lines 65-85 before its import, and
update the prerequisite statement in
site/content/contextual-data-platform/tutorials/notebook-tutorial.md at lines
92-97 to accurately mention requests or otherwise remove the claim that only
python-dotenv is required.

In `@site/static/notebooks/Autograph_DEMO.ipynb`:
- Around line 895-902: Update the Deep Search request body in the notebook cell
to explicitly set use_llm_planner to true alongside query_type: 2, ensuring it
follows the Deep Search contract without relying on a default.
- Around line 123-165: Update authenticate() and send_request() to pass a finite
timeout to their requests.post/request calls, and apply the same timeout to
every requests.post and requests.get call in the optional metadata cell. Reuse
the notebook’s existing timeout configuration if available; otherwise define one
shared finite value and use it consistently.

---

Nitpick comments:
In `@site/content/contextual-data-platform/tutorials/evaluate-locally.md`:
- Line 340: Pin the MinIO images in the tutorial’s container configuration,
including the `minio/minio` entry and the `minio/mc` entry at the referenced
second location, to tested compatible version tags or immutable digests. Replace
`minio/minio:latest` and the untagged `minio/mc` reference while preserving the
existing service configuration.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 90889f44-0703-4e8a-8dd4-e79e12f6a8cd

📥 Commits

Reviewing files that changed from the base of the PR and between 9a75a1c and f7e851c.

⛔ Files ignored due to path filters (1)
  • site/static/notebooks/corpus.zip is excluded by !**/*.zip
📒 Files selected for processing (4)
  • site/content/contextual-data-platform/tutorials/_index.md
  • site/content/contextual-data-platform/tutorials/evaluate-locally.md
  • site/content/contextual-data-platform/tutorials/notebook-tutorial.md
  • site/static/notebooks/Autograph_DEMO.ipynb

Comment thread site/content/contextual-data-platform/tutorials/evaluate-locally.md Outdated
Comment thread site/content/contextual-data-platform/tutorials/notebook-tutorial.md Outdated
Comment thread site/content/contextual-data-platform/tutorials/notebook-tutorial.md Outdated
Comment thread site/content/contextual-data-platform/tutorials/notebook-tutorial.md Outdated
Comment thread site/content/contextual-data-platform/tutorials/notebook-tutorial.md Outdated
Comment thread site/static/notebooks/Autograph_DEMO.ipynb Outdated
Comment thread site/static/notebooks/Autograph_DEMO.ipynb
@Simran-B Simran-B changed the title Doc 950 a PLG-Motion | AutoGraph Flow Tutorial Jul 17, 2026
@nerpaula
nerpaula changed the base branch from main to plg-install-tutorial July 20, 2026 12:21
@cla-bot cla-bot Bot added the cla-signed label Jul 22, 2026
@nicos-arango

Copy link
Copy Markdown
Contributor Author

NOTE: Resources will be removed after review

Comment thread site/content/contextual-data-platform/tutorials/notebook-tutorial.md Outdated
Comment thread site/content/contextual-data-platform/tutorials/notebook-tutorial.md Outdated
Co-authored-by: Paula Mihu <97217318+nerpaula@users.noreply.github.com>
Comment thread site/content/contextual-data-platform/tutorials/notebook-tutorial.md Outdated
Comment thread site/content/contextual-data-platform/tutorials/notebook-tutorial.md Outdated
nerpaula and others added 2 commits July 23, 2026 14:25
Co-authored-by: Paula Mihu <97217318+nerpaula@users.noreply.github.com>

@mchacki mchacki left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do have a general comment:

Should we merge most of this Tutorial actually into the notebook?
Realistically I would not switch between tutorial and notebook server back and forth.
The information is highly overlapping.

I do like the level the tutorial is written at way better then the Notebook, it hits more on the "why i am doing things" rather then just doing it.

So my suggestion:
Keep the "executable cells" in the notebook.
But replace most of the text with what has been written in the tutorial.

The Tutorial file should explain how to start a notebook server, click on it, upload everything you will need.
And then it should hand over to the Notebook alone driving the tutorial.

Also please change the focus form "Super generic" to "solve exactly the one corpus example".
Edit: This would also mean inside the Notebook, let us focus to have one run through, explaining the Variants we actually use there. Right now it explains in many places alternatives and all things one could do.
I would remove them for the "Tutorial" Notebook.
It should not be an API Reference description.

weight: 18
description: >-
A hands-on tutorial that takes you from a folder of documents to a queryable
Context Graph, driving the full AutoGraph pipeline from a Jupyter notebook

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should double check if "AutoGraph" is in-line with official naming still.
https://arangodb.atlassian.net/wiki/spaces/TUP/pages/3652780035/AutoGraph+Studio+Naming+2026-07-21

If I see this correctly this may be the "AutoGraph Studio" pipeline.

AFAIK AutoGraph stops at "you have a graph"
AutoRAG starts at "you want to ask the graph"
Both combined is AutoGraph Studio?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment applies to more than one mention in this Document

menuTitle: Notebook Tutorial
weight: 18
description: >-
A hands-on tutorial that takes you from a folder of documents to a queryable

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would wish for a short paragraph purely on the problem space here:
Why should I do this tutorial?
What is the value I would get out of the Product?

Try to keep this low tech and non-arango specific.

I am not doing this tutorial because I want to run some commands and python code.
I am doing this because I have problem to solve, and I want to understand if this Product helps me solve the problem.

and the retriever we deploy with AutoRAG and finally chat with.

This is the same workflow you would run in
[AutoGraph Studio](../../agentic-ai-suite/autograph/web-interface.md), the

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah here we mention AutoGraph Studio.

Is Studio only the UI for the Flow?
How is the Flow called then, if AutoGraph is one step of it only?


By the end, you will have:

- An AutoGraph service deployed on the platform, configured with your LLM.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- An AutoGraph service deployed on the platform, configured with your LLM.
- An AutoRAG service deployed on the platform, configured with your LLM. Allowing you to have an Agent reason about your documents.

By the end, you will have:

- An AutoGraph service deployed on the platform, configured with your LLM.
- Your documents uploaded through the File Manager and embedded into a Corpus Graph.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do i as user really care about this?

my goal is to ask Questions.

IMO I would remove this entry

Suggested change
- Your documents uploaded through the File Manager and embedded into a Corpus Graph.

PASSWORD = "<your-password>"
DB_NAME = "your-database"
PROJECT_NAME = "your-autograph-project"
LLM_API_KEY = "sk-..."

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The needs to stay, please do not fill out one of our OpenAI keys ;)

own values:

```sh
SERVER_URL = "https://<EXTERNAL_ENDPOINT>:8529"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My suggestion:
Comment this out and say "only use this if you run on an external Notebook server"

Then we need to change the notebook to set SERVER_URL = os.environ["ARANGODB_ENDPOINT"] before loading the environment file


| Variable | Purpose |
|---|---|
| `SERVER_URL` | Base URL of your platform gateway (port `8529`). |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please only set this if running an external Jupiter server.

|---|---|
| `SERVER_URL` | Base URL of your platform gateway (port `8529`). |
| `USERNAME` / `PASSWORD` | Platform credentials used to obtain the access token. |
| `DB_NAME` | The ArangoDB database that holds the project, documents, and Context Graph. |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `DB_NAME` | The ArangoDB database that holds the project, documents, and Context Graph. |
| `DB_NAME` | The ArangoDB database where we want to store the Context Graph|

| `SERVER_URL` | Base URL of your platform gateway (port `8529`). |
| `USERNAME` / `PASSWORD` | Platform credentials used to obtain the access token. |
| `DB_NAME` | The ArangoDB database that holds the project, documents, and Context Graph. |
| `PROJECT_NAME` | The GenAI project name. It becomes the prefix for all collections AutoGraph creates (for example, `your-project_sources`, `your-project_domains`). |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use the above selected name for examples here.

@mchacki

mchacki commented Jul 27, 2026

Copy link
Copy Markdown
Member

Okay, commenting on Notebooks is hard.

And GitHub kills the Python code, by rendering it as markdown.

I will provide more feedback over slack.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants