Skip to content

Latest commit

 

History

History
183 lines (122 loc) · 4.34 KB

File metadata and controls

183 lines (122 loc) · 4.34 KB

Minds Legacy SDK (v1.x)

⚠️ API Version Notice

This documentation applies to the legacy SDK version used for connecting to the Minds Demo environment at https://demo.mdb.ai.

For users of the current Minds Cloud environments, please refer to the main documentation for compatibility.

Legacy Version: v1.x (For Minds Demo environment)
Current Version: v2.x+ (Current Documentation)

Installation

To install the SDK, use pip:

pip install minds-sdk==1.3.3

Getting Started

  1. Initialize the Client

To get started, you'll need to initialize the Client with your API key. If you're using a different server, you can also specify a custom base URL.

from minds.client import Client

# Default connection to Minds Cloud that uses 'https://mdb.ai' as the base URL
client = Client("YOUR_API_KEY")

# If you have self-hosted Minds Cloud instance, use your custom base URL
base_url = 'https://<custom_cloud>.mdb.ai/'
client = Client("YOUR_API_KEY", base_url)
  1. Creating a Data Source

You can connect to various databases, such as PostgreSQL, by configuring your data source. Use the DatabaseConfig to define the connection details for your data source.

from minds.datasources import DatabaseConfig

postgres_config = DatabaseConfig(
    name='my_datasource',
    description='<DESCRIPTION-OF-YOUR-DATA>',
    engine='postgres',
    connection_data={
        'user': 'demo_user',
        'password': 'demo_password',
        'host': 'samples.mindsdb.com',
        'port': 5432,
        'database': 'demo',
        'schema': 'demo_data'
    },
    tables=['<TABLE-1>', '<TABLE-2>']
)
  1. Creating a Mind

You can create a mind and associate it with a data source.

# Create a mind with a data source
mind = client.minds.create(name='mind_name', datasources=[postgres_config])

# Alternatively, create a data source separately and add it to a mind later
datasource = client.datasources.create(postgres_config)
mind2 = client.minds.create(name='mind_name', datasources=[datasource])

You can also add a data source to an existing mind:

# Create a mind without a data source
mind3 = client.minds.create(name='mind_name')

# Add a data source to the mind
mind3.add_datasource(postgres_config)  # Using the config
mind3.add_datasource(datasource)       # Using the data source object

Create mind with tables restriction for datasource:

from minds.datasources.datasources import DatabaseTables
datasource = DatabaseTables(
    name='my_db',
    tables=['table1', 'table1'],
)
mind4 = client.minds.create(name='mind_name', datasources=[datasource])

Managing Minds

You can create a mind or replace an existing one with the same name.

mind = client.minds.create(name='mind_name', replace=True, datasources=[postgres_config])

To update a mind, specify the new name and data sources. The provided data sources will replace the existing ones.

mind.update(
    name='mind_name',
    datasources=[postgres_config]
)

List Minds

You can list all the minds you’ve created.

print(client.minds.list())

Get a Mind by Name

You can fetch details of a mind by its name.

mind = client.minds.get('mind_name')

Remove a Mind

To delete a mind, use the following command:

client.minds.drop('mind_name')

Managing Data Sources

To view all data sources:

print(client.datasources.list())

Get a Data Source by Name

You can fetch details of a specific data source by its name.

datasource = client.datasources.get('my_datasource')

Remove a Data Source

To delete a data source, use the following command:

client.datasources.drop('my_datasource')

Note: The SDK currently does not support automatically removing a data source if it is no longer connected to any mind.

Community Supported SDKs

Command Line Tools