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, and description properties. |
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. |