Follow this guide to learn how to create a dataset, add data sources to the dataset, create a session associated with the dataset, and then run jobs to start anayzing the uploaded data.


Step 1. Get your project API key

If you’re the admin of your team, get API key of the target project on the admin console.

No team on Powerdrill Enterprise? Join our waitlist by filling out the form. Once approved, you’ll receive a confirmation email promptly. After that, follow the guides to create a team.

If you’re a system user or virtual user in a team, simply ask your admin to provide you with one.

Step 2. Create a dataset and a data source

This step is optional but highly recommended, as it allows you to receive insights tailored to your own data.

Data sources are the data you upload to Powerdrill for embedding, indexing, knowledge extraction, and vectorized storage and retrieval, while datasets are collections of data sources that help organize and categorize them.

You can create data sources and datasets in two ways:

  • Method 1: Create a dataset first, then add data sources to it.

  • Method 2: Upload data sources directly without specifying a dataset, and Powerdrill will automatically create a default dataset for them.

  1. Make a request to POST /v1/team/datasets endpoint to create a dataset.

    Example request:

    Replace $PD_API_KEY with the API key you’ve obtained in Step 1.

    Example response:

    {
        "code": 0,
        "data": {
            "id": "cm3my37en3q36017q7x3hyyf4"
        }
    }
    
    

    Obtain the id value (dataset ID) from the response and save it for later use.

  2. Make a request to the POST /v1/team/datasets/{datasetId}/datasources endpoint. Replace the datasetId value with the ID of the dataset you’ve created in the previous sub-step

When making the request, specify either url or fileKey, but not both. Use url to upload a file through a publicly accessible URL. For privately accessible files, use fileKey.

Example request:

Example response:

{
    "code": 0,
    "data": {
        "id": "cm3myfsfc03jn011csb8wah6p",
        "datasetId": "cm3my37en3q36017q7x3hyyf4",
        "name": "test.pdf",
        "fileName": "test.pdf",
        "type": "FILE",
        "status": "pending"
    }
}

Repeat this sub-step to create multiple data sources in the same dataset.

Step 3. Create a session

To create a session, make a request to the POST /v1/team/sessions endpoint. Sessions are essential for running jobs on Powerdrill, as each job must be linked to a session using its session ID.

Example request:

When making a request:

  • Replace $PD_API_KEY with the API key you’ve obtained in Step 1.

  • Set the user ID to your actual user ID.

Example response:

{
    "code": 0,
    "data": {
        "id": "4440ab38-3df0-465b-a66c-bf6acb0f1bc2"
    }
}

Obtain the id value (session ID) from the response and save it for use in the following step.


Step 4. Create a job

Now, after you’ve prepared a session and probably a dataset stuffed with data sources, you can create a job to start conversing with Powerdrill.

For the definition of job, see What Is Job?.

Make a request to the POST /v1/team/jobs endpoint.

Powerdrill provides the ability to stream responses, controlled by the stream parameter. For more details about how to understand the streaming mode, see Streaming.

  • If stream is set to true, streaming is enabled.

  • If stream is set to false, streaming is disabled.

Example request:


When making a request:

  • Replace $PD_API_KEY with the API key you’ve obtained in Step 1.

  • Since this topic covers running a general job and no data agent is used, set the x-pd-api-agent-id header to GENERAL (uppercase).

  • Replace the sessionId value with the ID of the session you’ve created in Step 3.

  • To enable Powerdrill to retrieve information from your own data and provide responses specific to it, set the datasetId to the ID of the dataset obtained in Step 2.