Python SDK
Visit the GitHub Repo
You’ll need to Create an API Key to Authentication with Metal.
Installation
Retrieval
App Setup
| Param | Type | Description | 
|---|---|---|
| api_key | string | The API Key for your Org. Learn more. | 
| client_id | string | The Client ID for your Org. Learn more. | 
| index_id | string | The ID of the index you want to connect with. Learn more. | 
Adding an App
| Param | Type | Description | 
|---|---|---|
| name | string | Name of the App. | 
| indexes | array | An array of the index connected to the app. | 
Get One App
| Param | Type | Description | 
|---|---|---|
| app_id | string | ID of the App. | 
Get All Apps
Updating an App
| Param | Type | Description | |
|---|---|---|---|
| app_id | string | The unique identifier of the app you want to update. | |
| name | string (optional) | The updated name for the App. | |
| indexes | array (optional) | An updated array of the index connected to the app. | 
Adding an Index
Payload
| Param | Type | Description | 
|---|---|---|
| model | string | Identifier for the model being used, e.g., “text-embedding-ada-002”. | 
| name | string | Name of the index. | 
| datasource | string | Unique identifier for the Datasource. | 
| indexType | string | Type of index structure, e.g., “FLAT”, “HNSW”. | 
| dimensions | number | Number of dimensions for the index. e.g.1536 | 
| filters | array | An array of filters specifying fields for advanced searching. | 
Filters
| Param | Type | Description | 
|---|---|---|
| field | string | Name of the attribute you wish to filter by. | 
| type | string | Type of the attribute (e.g., “string”, “number”). | 
Get One Index
| Param | Type | Description | 
|---|---|---|
| index_id | string | The unique identifier of the index you want to retrieve. | 
Indexing a Document
| Param | Type | Description | 
|---|---|---|
| payload | dict | Dictionary with index parameters | 
| index_id | string | Optional index id where record will get indexed. | 
Payload
| Param | Type | Description | 
|---|---|---|
| id | string | Optional identifier for your embedding. | 
| embedding | number[] | Raw embeddings to be indexed. | 
| imageUrl | string | A URL for an image to be vectorized and indexed. | 
| text | string | The text to be vectorized and indexed. | 
| metadata | object | A flexible metdata object to be stored w/ the embedding. | 
Multi(Bulk) Indexing
You can index up to100 records in a single request.
| Param | Type | Description | 
|---|---|---|
| payload | BulkIndexItem[] | Array of bulk items | 
BulkIndexItem
| Param | Type | Description | 
|---|---|---|
| id | string | Optional identifier for your embedding. | 
| index | string | Required - index id. | 
| embedding | number[] | Raw embeddings to be indexed. | 
| imageUrl | string | A URL for an image to be vectorized and indexed. | 
| text | string | The text to be vectorized and indexed. | 
| metadata | object | A flexible metdata object to be stored w/ the embedding. | 
Searching
self, payload: SearchPayload = {}, index_id=None, ids_only=False, limit=1
| Param | Type | Description | 
|---|---|---|
| payload | dict | search payload. | 
| index_id | string | Id of index to search. | 
| ids_only | boolean | Optional return only the ids | 
| limit | number | Number of documents returned by the API (default=1). | 
Payload
| Param | Type | Description | 
|---|---|---|
| embedding | number[] | Raw embeddings to be searched. | 
| imageUrl | string | A URL for an image to be vectorized and searched. | 
| text | string | The text to be vectorized and searched. | 
| filters | dict[] | List of filters to match in search. | 
Filter
| Param | Type | Description | 
|---|---|---|
| and | dict | And clause, all members have to be satisfied. | 
| or | dict | Or clause, at least one member has to be satisfied. | 
Filter Item
| Param | Type | Description | 
|---|---|---|
| value | string | number | Value to match. | 
| field | string | Field to filter. | 
| operator | string | Possible values: eq,gt,gte,lt,lte. | 
Get One Document
| Param | Type | Description | 
|---|---|---|
| id | string | The ID of the document to retrieve. | 
| index_id | string | Optional. Id of index to search. | 
Get Many Documents
| Param | Type | Description | 
|---|---|---|
| ids | list of str | A list of document IDs to retrieve. | 
| index_id | str, optional | The ID of the index from which to retrieve documents. If not provided, the default index ID will be used. | 
Get Queries
| Param | Type | Description | 
|---|---|---|
| index_id | string | The ID of the Index to retrieve. | 
Delete One
| Param | Type | Description | 
|---|---|---|
| embedding_id | string | The ID of the document or embedding to delete. | 
| index_id | string | The ID of the index containing the document. | 
Delete Many (Bulk)
| Param | Type | Description | 
|---|---|---|
| embedding_ids | list | A list of IDs for the documents or embeddings to delete. | 
| index_id | string | The ID of the index containing the documents. | 
Memory (Motorhead)
App Setup
| Param | Type | Description | 
|---|---|---|
| api_key | string | For Managed. The API Key for your Org. [details](- Create an API Key for Authentication. | 
| client_id | string | For Managed.The Client ID for your Org. [details](- Create an API Key for Authentication. | 
| base_url | string | For Self-hosted. The URL path to your motorhead instance | 
Create Memory
| Param | Type | Description | 
|---|---|---|
| session_id | string | The ID of the session. If the session does not exist, it will create one | 
| memory | Memory[] | A memory payload to update the session memory | 
Get Memory
| Param | Type | Description | 
|---|---|---|
| session_id | string | The ID of the session to retrieve memory for | 
Delete Memory
| Param | Type | Description | 
|---|---|---|
| session_id | string | The ID of the session to delete memory for | 
Datasources
Add a Datasource
| Param | Type | Description | 
|---|---|---|
| name | string | Name of the Datasource. | 
| sourcetype | string | Type of the source. It can either be ‘File’ or ‘Text’. | 
| autoExtract | boolean | Flag indicating whether auto-extraction is enabled. | 
| metadataFields | array | An array of fields specifying which attributes you wish to extract. Each object should have name,type, anddescriptionproperties. | 
Metadata Fields
| Param | Type | Description | 
|---|---|---|
| name | string | Name of the attribute you wish to extract. | 
| type | string | Type of the attribute (e.g., “String”, “Number”). | 
| description | string | Brief description or example of the attribute. | 
Update Datasource
Parameters
| Param | Type | Description | 
|---|---|---|
| dataSourceId | string | Identifier of the Datasource you want to update. | 
| name | string | Updated name of the Datasource. | 
| sourcetype | string | Updated type of the source. Either ‘File’ or ‘Text’. | 
| autoExtract | boolean | Updated flag indicating whether auto-extraction is enabled. | 
| metadataFields | array | Updated fields specifying which attributes you wish to extract. | 
Example
Get Datasource
Parameters
| Param | Type | Description | 
|---|---|---|
| dataSourceId | string | Identifier of the Datasource you want to retrieve information about. | 
Example
List Datasources
Parameters
| Param | Type | Description | 
|---|---|---|
| limit | int | (Optional) The maximum number of Datasources to return. Default is 10 and a maximum of 100. | 
| page | int | (Optional) The page number for pagination. Should be a positive integer up to 100. | 
Delete Datasource
Parameters
| Param | Type | Description | 
|---|---|---|
| datasource_id | string | The ID of the Datasource you want to delete. | 
Example
Data Entities
Add a Data entity
.pdf, doc, .docx, .xlsx, and .csv are accepted.
Parameters
| Name | Type | Description | 
|---|---|---|
| datasourceId | string | The ID of the datasource where the file belongs. | 
| file_path | string | The local file path of the file to upload. | 
| metadata | object | Additional Metadata that isn’t extracted. | 
Example
Get Data Entity
Parameters
| Param | Type | Description | 
|---|---|---|
| id | string | The ID of the data entity you want to retrieve. | 
List Data Entities
Parameters
| Param | Type | Description | 
|---|---|---|
| datasourceID | string | The ID of the datasource for which you want to list the data entities. | 
| limit | int | (Optional) The maximum number of data entities to return. Default is 10 and a maximum of 100. | 
| page | int | (Optional) The page number for pagination. Should be a positive integer up to 100. | 
Delete Data Entity
Parameters
| Param | Type | Description | 
|---|---|---|
| id | string | The ID of the data entity you want to delete. |