Skip to content

Conversation

@nerpaula
Copy link
Contributor

@nerpaula nerpaula commented Sep 25, 2025

Description

Natural language to AQL service (txt2aql / AQLizer) documentation.


Note

Rewrite and expand service docs with deployment/config, streaming (AQLizer) support, updated REST endpoints and output formats, OpenAI/OpenRouter config, and improved guidance; remove gRPC/Triton specifics.

  • Docs overhaul for graphrag Natural Language to AQL service
    • Rename and retitle page; update description and overview to two capabilities: process_text and translate_query.
    • Add full installation flow: obtain Bearer token, deploy via POST /ai/v1/graphrag, retrieve serviceId, verify status, and health check.
    • Update configuration: support OpenAI/OpenRouter/self-hosted OpenAI-compatible models; specify env params; remove Triton-specific details.
  • API usage and endpoints
    • Document POST /v1/process_text and new POST /v1/process_text_stream with default and AQLizer modes (streaming AQL generation).
    • Detail POST /v1/translate_query with output formats (NL, AQL, JSON) and concise examples.
    • Clarify endpoint paths and expected responses.
  • Operational guidance
    • Add best practices, refined error handling, and expanded troubleshooting.
    • Remove gRPC endpoint references; focus on REST.

Written by Cursor Bugbot for commit 238ba4a. This will update automatically on new commits. Configure here.

@arangodb-docs-automation
Copy link
Contributor

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

@cla-bot cla-bot bot added the cla-signed label Sep 25, 2025
@nerpaula nerpaula self-assigned this Sep 25, 2025
@Simran-B Simran-B marked this pull request as draft October 7, 2025 13:55
@nerpaula nerpaula marked this pull request as ready for review October 27, 2025 15:01
cursor[bot]

This comment was marked as outdated.

@nerpaula nerpaula requested a review from maxkernbach October 30, 2025 17:05
Copy link
Contributor

@maxkernbach maxkernbach left a comment

Choose a reason for hiding this comment

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

Thank you for rasing this PR @nerpaula, I have added a few comments for consideration.

--header 'Content-Type: application/json' \
--data '{
"env": {
"username": "<your-username>",
Copy link
Contributor

Choose a reason for hiding this comment

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

Note: username is currently still required for startup, but we are working on removing this requirement (following the same approach in the importer and retriever).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have removed it from now but will double check to see when the upstream PRs get merged.

{{< /info >}}

### Configuration
## Installation and configuration
Copy link
Contributor

Choose a reason for hiding this comment

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

This section switches between runtime environment variables and startup parameters, which could cause some confusion for the reader. It would probably be easier to read when consistently referring to the startup parameters, which are required to deploy the service - what do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point! Reading it all over again made me realize it was indeed unclear and likely causing confusion. I have entirely restructured this section and consistently referred to startup parameters - users didn't need to worry about managing env variables. The steps should now be more intuitive and just enough information to succeed at each step.


- ArangoDB instance
- OpenAI API key (if using OpenAI as provider)
- Triton URL and model name (if using Triton as provider)
Copy link
Contributor

Choose a reason for hiding this comment

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

Has it been decided to completely remove the mention of Triton? It is technically supported, but possibly won't be used a lot.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

```bash
curl --request POST \
--url https://<ExternalEndpoint>:8529/ai/v1/graphrag \
--header 'Authorization: Bearer <your-bearer-token>' \
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggestion: Add a reference on how this token can be obtained.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added a separate section about this.

--header 'Content-Type: application/json' \
--data '{
"input_text": "What are the advantages of graph databases?",
"mode": "aqlizer"
Copy link
Contributor

Choose a reason for hiding this comment

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

Some clarification is needed here. The process_text_stream works with and without "mode": "aqlizer". When using the default mode, the above documentation is correct.

However, with "mode": "aqlizer" the endpoint has a completely different behavior. It converts natural language questions into AQL queries by streaming responses from an LLM that has knowledge of the database schema (reference PR).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I tried to clarify this - split it into sections (default mode and aqlizer mode) and added examples. Hope it's clear enough now.

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