## Typesense Public Embedding Models We maintain a repository of currently supported embedding models, and we welcome contributions from the community. If you have a model that you would like to add to our supported list, you can convert it to the ONNX format and create a Pull Request (PR) to include it. ### Convert a model to ONNX format #### Converting a Hugging Face Transformers Model To convert any model from Hugging Face to ONNX format, you can follow the instructions in [this link](https://huggingface.co/docs/transformers/serialization#export-to-onnx) using the ```optimum-cli```. #### Converting a PyTorch Model If you have a PyTorch model, you can use the ```torch.onnx``` APIs to convert it to the ONNX format. More information on the conversion process can be found [here](https://pytorch.org/docs/stable/onnx.html). #### Converting a Tensorflow Model For Tensorflow models, you can utilize the tf2onnx tool to convert them to the ONNX format. Detailed guidance on this conversion can be found [here](https://onnxruntime.ai/docs/tutorials/tf-get-started.html#getting-started-converting-tensorflow-to-onnx). ### Creating model config Before submitting your ONNX model through a PR, you need to organize the necessary files under a folder with the model's name. Ensure that your model configuration adheres to the following structure: - **Model File**: The ONNX model file. - **Vocab File**: The vocabulary file required for the model. - **Model Config File**: Named as config.json, this file should contain the following keys: | Key | Description | Optional | |-----|-------------|----------| |model_md5| MD5 checksum of model file as string| No | |vocab_md5| MD5 checksum of vocab file as string| No | |model_type| Model type (currently only ```bert``` and ```xlm_roberta``` supported)| No | |vocab_file_name| File name of vocab file| No | |indexing_prefix| Prefix to be added before embedding documents| Yes | |query_prefix| Prefix to be added before embedding queries | Yes | Please make sure that the information in the configuration file is accurate and complete before submitting your PR. We appreciate your contributions to expand our collection of supported embedding models!