Skip to content

Commit cbb782f

Browse files
committed
update startup parameters in genai service; add project_db_name in project creation; move and extend Projects
1 parent 1258f72 commit cbb782f

File tree

6 files changed

+250
-188
lines changed

6 files changed

+250
-188
lines changed

site/content/3.12/data-science/graphrag/services/gen-ai.md

Lines changed: 110 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,15 @@ in the platform. All services support the `profiles` field, which you can use
3535
to define the profile to use for the service. For example, you can define a
3636
GPU profile that enables the service to run an LLM on GPU resources.
3737

38-
## LLM Host Service Creation Request Body
38+
## Service Creation Request Body
3939

40-
```json
41-
{
42-
"env": {
43-
"model_name": "<registered_model_name>"
44-
}
45-
}
46-
```
47-
48-
## Using Labels in Creation Request Body
40+
The following example shows a complete request body with all available options:
4941

5042
```json
5143
{
5244
"env": {
53-
"model_name": "<registered_model_name>"
45+
"model_name": "<registered_model_name>",
46+
"profiles": "gpu,internal"
5447
},
5548
"labels": {
5649
"key1": "value1",
@@ -59,32 +52,116 @@ GPU profile that enables the service to run an LLM on GPU resources.
5952
}
6053
```
6154

62-
{{< info >}}
63-
Labels are optional. Labels can be used to filter and identify services in
64-
the Platform. If you want to use labels, define them as a key-value pair in `labels`
65-
within the `env` field.
66-
{{< /info >}}
55+
**Optional fields:**
56+
57+
- **labels**: Key-value pairs used to filter and identify services in the platform.
58+
- **profiles**: A comma-separated string defining which profiles to use for the
59+
service (e.g., `"gpu,internal"`). If not set, the service is created with the
60+
default profile. Profiles must be present and created in the platform before
61+
they can be used.
62+
63+
The parameters required for the deployment of each service are defined in the
64+
corresponding service documentation. See [Importer](importer.md)
65+
and [Retriever](retriever.md).
66+
67+
## Projects
68+
69+
Projects help you organize your GraphRAG work by grouping related services and
70+
keeping your data separate. When the Importer service creates ArangoDB collections
71+
(such as documents, chunks, entities, relationships, and communities), it uses
72+
your project name as a prefix. For example, a project named `docs` will have
73+
collections like `docs_Documents`, `docs_Chunks`, and so on.
6774

68-
## Using Profiles in Creation Request Body
75+
### Creating a project
76+
77+
To create a new GraphRAG project, send a POST request to the project endpoint:
78+
79+
```bash
80+
curl -X POST "https://<ExternalEndpoint>:8529/gen-ai/v1/project" \
81+
-H "Authorization: Bearer <your-bearer-token>" \
82+
-H "Content-Type: application/json" \
83+
-d '{
84+
"project_name": "docs",
85+
"project_type": "graphrag",
86+
"project_db_name": "documentation",
87+
"project_description": "A documentation project for GraphRAG."
88+
}'
89+
```
90+
91+
Where:
92+
- **project_name** (required): Unique identifier for your project. Must be 1-63
93+
characters and contain only letters, numbers, underscores (`_`), and hyphens (`-`).
94+
- **project_type** (required): Type of project (e.g., `"graphrag"`).
95+
- **project_db_name** (required): The ArangoDB database name where the project
96+
will be created.
97+
- **project_description** (optional): A description of your project.
98+
99+
Once created, you can reference your project in service deployments using the
100+
`genai_project_name` field:
69101

70102
```json
71103
{
72-
"env": {
73-
"model_name": "<registered_model_name>",
74-
"profiles": "gpu,internal"
75-
}
104+
"env": {
105+
"genai_project_name": "docs"
106+
}
76107
}
77108
```
78109

79-
{{< info >}}
80-
The `profiles` field is optional. If it is not set, the service is created with
81-
the default profile. Profiles must be present and created in the Platform before
82-
they can be used. If you want to use profiles, define them as a comma-separated
83-
string in `profiles` within the `env` field.
84-
{{< /info >}}
110+
### Listing projects
85111

86-
The parameters required for the deployment of each service are defined in the
87-
corresponding service documentation.
112+
**List all project names in a database:**
113+
114+
```bash
115+
curl -X GET "https://<ExternalEndpoint>:8529/gen-ai/v1/all_project_names/<database_name>" \
116+
-H "Authorization: Bearer <your-bearer-token>"
117+
```
118+
119+
This returns only the project names for quick reference.
120+
121+
**List all projects with full metadata in a database:**
122+
123+
```bash
124+
curl -X GET "https://<ExternalEndpoint>:8529/gen-ai/v1/all_projects/<database_name>" \
125+
-H "Authorization: Bearer <your-bearer-token>"
126+
```
127+
128+
This returns complete project objects including metadata, associated services,
129+
and knowledge graph information.
130+
131+
### Getting project details
132+
133+
Retrieve comprehensive metadata for a specific project:
134+
135+
```bash
136+
curl -X GET "https://<ExternalEndpoint>:8529/gen-ai/v1/project_by_name/<database_name>/<project_name>" \
137+
-H "Authorization: Bearer <your-bearer-token>"
138+
```
139+
140+
The response includes:
141+
- Project configuration
142+
- Associated Importer and Retriever services
143+
- Knowledge graph metadata
144+
- Service status information
145+
- Last modification timestamp
146+
147+
### Deleting a project
148+
149+
Remove a project's metadata from the GenAI service:
150+
151+
```bash
152+
curl -X DELETE "https://<ExternalEndpoint>:8529/gen-ai/v1/project/<database_name>/<project_name>" \
153+
-H "Authorization: Bearer <your-bearer-token>"
154+
```
155+
156+
{{< warning >}}
157+
Deleting a project only removes the project metadata from the GenAI service.
158+
It does **not** delete:
159+
- Services associated with the project (must be deleted separately)
160+
- ArangoDB collections and data
161+
- Knowledge graphs
162+
163+
You must manually delete services and collections if needed.
164+
{{< /warning >}}
88165

89166
## Obtaining a Bearer Token
90167

@@ -103,7 +180,7 @@ documentation.
103180

104181
## Complete Service lifecycle example
105182

106-
The example below shows how to install, monitor, and uninstall the Importer service.
183+
The example below shows how to install, monitor, and uninstall the [Importer](importer.md) service.
107184

108185
### Step 1: Installing the service
109186

@@ -113,11 +190,10 @@ curl -X POST https://<ExternalEndpoint>:8529/gen-ai/v1/graphragimporter \
113190
-H "Content-Type: application/json" \
114191
-d '{
115192
"env": {
116-
"username": "<your-username>",
117193
"db_name": "<your-database-name>",
118-
"api_provider": "<your-api-provider>",
119-
"triton_url": "<your-arangodb-llm-host-url>",
120-
"triton_model": "<your-triton-model>"
194+
"chat_api_provider": "<your-api-provider>",
195+
"chat_api_key": "<your-llm-provider-api-key>",
196+
"chat_model": "<model-name>"
121197
}
122198
}'
123199
```
@@ -178,16 +254,6 @@ curl -X DELETE https://<ExternalEndpoint>:8529/gen-ai/v1/service/arangodb-graphr
178254
- **Authentication**: All requests use the same Bearer token in the `Authorization` header
179255
{{< /info >}}
180256

181-
### Customizing the example
182-
183-
Replace the following values with your actual configuration:
184-
- `<your-username>` - Your database username.
185-
- `<your-database-name>` - Target database name.
186-
- `<your-api-provider>` - Your API provider (e.g., `triton`)
187-
- `<your-arangodb-llm-host-url>` - Your LLM host service URL.
188-
- `<your-triton-model>` - Your Triton model name (e.g., `mistral-nemo-instruct`).
189-
- `<your-bearer-token>` - Your authentication token.
190-
191257
## Service configuration
192258

193259
The GenAI orchestrator service is **started by default**.

site/content/3.12/data-science/graphrag/services/importer.md

Lines changed: 8 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -30,54 +30,17 @@ different concepts in your document with the Retriever service.
3030
You can also use the GraphRAG Importer service via the ArangoDB [web interface](../web-interface.md).
3131
{{< /tip >}}
3232

33-
## Creating a new project
34-
35-
To create a new GraphRAG project, use the `CreateProject` method by sending a
36-
`POST` request to the `genai/v1/project` endpoint. You must provide a unique
37-
`project_name` and a `project_type` in the request body. Optionally, you can
38-
provide a `project_description`.
39-
40-
The `project_name` must follow these validation rules:
41-
- Length: 1–63 characters
42-
- Allowed characters: letters, numbers, underscores (`_`), and hyphens (`-`)
43-
44-
```curl
45-
curl -X POST "https://<ExternalEndpoint>:8529/gen-ai/v1/project" \
46-
-H "Content-Type: application/json" \
47-
-d '{
48-
"project_name": "docs",
49-
"project_type": "graphrag",
50-
"project_description": "A documentation project for GraphRAG."
51-
}'
52-
```
53-
54-
All the relevant ArangoDB collections (such as documents, chunks, entities,
55-
relationships, and communities) created during the import process will
56-
have the project name as a prefix. For example, the Documents collection will
57-
become `<project_name>_Documents`. The Knowledge Graph will also use the project
58-
name as a prefix. If no project name is specified, then all collections
59-
are prefixed with `default_project`, e.g., `default_project_Documents`.
60-
61-
Once created, you can reference your project in other services (such as the
62-
Importer or Retriever) using the `genai_project_name` field:
63-
64-
```json
65-
{
66-
"genai_project_name": "docs"
67-
}
68-
```
69-
70-
### Project metadata
33+
## Prerequisites
7134

72-
Additional project metadata is accessible via the following endpoint, replacing
73-
`<your_project>` with the actual name of your project:
35+
Before importing data, you need to create a GraphRAG project. Projects help you
36+
organize your work and keep your data separate from other projects.
7437

75-
```
76-
GET /gen-ai/v1/project_by_name/<your_project>
77-
```
38+
For detailed instructions on creating and managing projects, see the
39+
[Projects](gen-ai.md#projects) section in the GenAI Orchestration Service
40+
documentation.
7841

79-
The endpoint provides comprehensive metadata about your project's components,
80-
including its importer and retriever services and their status.
42+
Once you have created a project, you can reference it when deploying the Importer
43+
service using the `genai_project_name` field in the service configuration.
8144

8245
## Deployment options
8346

site/content/3.12/data-science/graphrag/services/retriever.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,14 @@ You can also use the GraphRAG Retriever service via the [web interface](../web-i
4141

4242
## Prerequisites
4343

44-
Before using the Retriever service, you need to create a GraphRAG project and
45-
import data using the Importer service.
44+
Before using the Retriever service, you need to:
4645

47-
For detailed instructions on creating a project, see
48-
[Creating a new project](importer.md#creating-a-new-project) in the Importer
49-
documentation.
46+
1. **Create a GraphRAG project** - For detailed instructions on creating and
47+
managing projects, see the [Projects](gen-ai.md#projects) section in the
48+
GenAI Orchestration Service documentation.
49+
50+
2. **Import data** - Use the [Importer](importer.md) service to transform your
51+
text documents into a knowledge graph stored in ArangoDB.
5052

5153
## Search methods
5254

0 commit comments

Comments
 (0)