Models API

For a brief overview of GraphQL itself, please consult our introduction.

Querying for Models

Models belong to a Space. Because of this, you can either query for models off of a Space node or a Model node directly.

The model or space id is in the url when you visit the corresponding page. The format looks like this: spaces/:space_id/models/:model_id.

You can also query for a list of models given the space id. More details here.

query {
  node(id: "model_id") {
    ... on Model {
      name
      modelType
      uri
    }
  }
}

The ModelsConnection off of Space provides a convenient way for you to pull models that match the given criteria. If you have a large number of models, you will have to use pagination to pull the complete list. This data can then be structured to your liking and be exported to the platform of your choosing.

Model Versions

You can query for modelVersions using the model node. If you have a large number of versions, you will have to use pagination to pull the complete list.

query getModelVersion($modelID: ID!) {
        model: node(id: $modelID) {
            ... on Model {
                id
                name
                modelType
                modelVersions(first:1) {
                    edges {
                        node {
                          modelVersionBatches{
                            edges{
                              node{
                                id
                              }
                            }
                          }
                        }
                    }
                }
            }
        }
    }

Variables

{"modelID": "model_id"}

Model Schema

You can query your model's schema through the Arize GraphQL API. The ModelSchema type contains important information about your models such as features , tags, predictions and actuals which is useful when programmatically creating Monitors.

For more examples see the Monitors API documentation.

Querying a Model's schema can return the equivalent of thousands of REST requests, resulting in a high computation cost on our servers. Be mindful of your complexity score to ensure your call falls within our complexity cost limit. More details here.

query {
  node(id: "model_id") {
    ... on Model {
      name
      modelSchema {
        features(first: 10) {
          edges {
            node {
              dimension {
                name
              }
            }
          }
        }
      }
    }
  }
}

Tracing Schema

You can query your project's schema through Arize GraphQL API. The tracingSchema type contains important information about your application such as spanProperties , llmEvals, and annotations.

query TraciningSchemaQuery(
  $id: ID!, 
  $startTime: DateTime!, 
  $endTime: DateTime!) {
  model: node(id: $id) {
    ... on Model {
      tracingSchema(startTime: $startTime, endTime: $endTime) {
        spanProperties(first: 50) {
          edges {
            node {
              dimension {
                name
                dataType
                category
              }
            }
          }
        }
        llmEvals(first: 50) {
          edges {
            node {
              dimension {
                name
                dataType
                category
              }
            }
          }
        }
        annotations(first: 50) {
          edges {
            node {
              dimension {
                name
                dataType
                category
              }
            }
          }
        }
      }
    }
  }
}

Variables

{
  "id": "MODEL_ID",
  "startTime": "2024-08-14T06:00:00.000Z",
  "endTime": "2024-09-13T17:59:59.999Z"
}

Dimension Configuration

You can query binning information relating to your model's features, actuals, predictions and tags .

query {
  node(id: "model_id") {
    ... on Model {
      name
      modelSchema {
        features(first: 10) {
          edges {
            node {
              dimensionConfig {
                id
                dimensionName
                dimensionCategory
                numBins
                binOption
                bins
              }
            }
          }
        }
      }
    }
  }
}

Dimension Details

```graphql query getDimensionDetails($modelId: ID!) { node(id: $modelId) { ... on Model { name tracingSchema { spanProperties(first: 50, searchTerm:$dimensionName) { edges { node { dimension { id name dataType category

          }
        }
      }
    }
  }
}

} }


**variables**

```json
{ "modelId": "MODEL_ID"}

Last updated

Was this helpful?