Use the following pieces of context to answer the users question. 
If you don\'t know the answer, just say that you don\'t know, don\'t try to make up an answer.
----------------

/// Runs the tagify predictor given an [inputSnippet] and a flattened matrix of all [tagEmbeddings]. Returns the
  /// embedding of the snippet and a list of probabilities signifying the likelihood that a tag at each
  /// index should be linked to the snippet.
  Future<TagifyONNXRuntimeReturnable> predict(String inputSnippet, List<double> tagEmbeddings) async {
    WrappedORTReturnable snippetEmbeddingORTReturnable = await embed(inputSnippet);
    List<double> snippetEmbedding = List<double>.from(snippetEmbeddingORTReturnable.data.outputs.first.data);

    return TagifyONNXRuntimeReturnable(
        tagifyEmbedding: snippetEmbeddingORTReturnable,
        tagifyPrediction: onnxSessionPredictor.predict([
          [1, codeEmbeddingLength],
          [1, tagEmbeddings.length],
        ], [
          snippetEmbedding,
          tagEmbeddings,
        ]));
  }...


class TagifyONNXRuntimeReturnable {
  // Output of the embedder model.
  final WrappedORTReturnable tagifyEmbedding;

  // Output of the predictor model.
  final WrappedORTReturnable tagifyPrediction;

  TagifyONNXRuntimeReturnable({required this.tagifyEmbedding, required this.tagifyPrediction});
}...


import 'dart:async';

import 'package:ml_facade/onnx/session.dart';
import 'package:ml_facade/onnx/types.dart';
import 'package:ml_facade/tokenizers/bridge_generated.dart';
import 'package:ml_facade/tokenizers/tokenizer.dart';
import 'package:ml_facade/utils/model_data.dart';
import 'package:version/version.dart';...


class Tagify {
  // Onnx session for the code embedder model
  late final ONNXSession onnxSessionEmbedder;

  // Onnx session for the link predictor model
  late final ONNXSession onnxSessionPredictor;

  // ModelData for the code embedder model
  late final ModelData modelDataEmbedder;

  // ModelData for the link predictor model
  late final ModelData modelDataPredictor;

  // Word tokenizer
  final Tokenizer tokenizer;

  // Loaded code embedder data
  List<int> modelLoadDataEmbedder;

  // Loaded link predictor data
  List<int> modelLoadDataPredictor;

  // Length of each snippet embedding
  final int codeEmbeddingLength = 256;

  // Length of each tag embedding
  final int tagEmbeddingLength = 100;

  // Maximum length of a tokenizer sequence
  final int tokenizerMaxSequenceLength = 512;

  // Inference session is created in _loadModel b/c loading the model byte  Give two different versions of responses. Please separate the responses with 6 asterisk symbols: ******.
user