Anyscale Endpoints
This documentation describes the integration of MindsDB with Anyscale Endpoints, a fast and scalable API to integrate OSS LLMs into apps. The integration allows for the deployment of Anyscale Endpoints models within MindsDB, providing the models with access to data from various data sources.
Prerequisites
Before proceeding, ensure the following prerequisites are met:
- Install MindsDB locally via Docker or Docker Desktop.
- To use Anyscale Endpoints within MindsDB, install the required dependencies following this instruction.
- Obtain the Anyscale Endpoints API key required to deploy and use Anyscale Endpoints models within MindsDB. Follow the instructions for obtaining the API key.
Setup
Create an AI engine from the Anyscale Endpoints handler.
Create a model using anyscale_endpoints_engine
as an engine.
It is possilbe to override certain parameters set for a model at prediction time instead of recreating the model. For example, to change the temperature parameter for a specific prediction, use the following query:
The parameters that can be overridden as shown above are mentioned below in the detailed explanation.
The following is a more detailed explanation of the parameters used in the CREATE MODEL
statement:
The implementation of this integration is based on the engine for the OpenAI API, as Anyscale conforms to it. There are a few notable differences, though:
- All models supported by Anyscale Endpoints are open source. A full list can be found here for inference-only under section Supported models.
- Not every model is supported for fine-tuning. You can find a list here under section Fine Tuning - Supported models.
Please check both lists regularly, as they are subject to change. If you try to fine-tune a model that is not supported, you will get a warning and subsequently an error from the Anyscale endpoint.
- This integration only offers chat-based text completion models, either for normal text or specialized for code.
- When providing a description, this integration returns the respective HuggingFace model card.
- Fine-tuning requires that your dataset complies with the chat format. That is, each row should contain a context and a role. The context is the text that is the message in the chat, and the role is who authored it (system, user, or assistant, where the last one is the model). For more information, please check the fine tuning guide in the Anyscale Endpoints docs.
The base URL for this API is https://api.endpoints.anyscale.com/v1
.
Usage
The following usage examples utilize anyscale_endpoints_engine
to create a model with the CREATE MODEL
statement.
The output generated for a single input will be the same regardless of the mode used. The difference between the modes is in how the model handles multiple inputs.
files.unrelated_questions
is a simple CSV file containing a question
column with simple (unrelated) questions that has been uploaded to MindsDB, while files.related_questions
is a similar file containing related questions. files.unrelated_questions_with_context
and files.related_questions_with_context
are similar files containing an additional context
column.
These files are used in the examples given below to provide multiple inputs to the models created. It is possible to use any other supported data source in the same manner.
Next Steps
Follow this tutorial to see more use case examples.
Troubleshooting Guide
Authentication Error
- Symptoms: Failure to authenticate to the Anyscale.
- Checklist:
- Make sure that your Anyscale account is active.
- Confirm that your API key is correct.
- Ensure that your API key has not been revoked.
- Ensure that you have not exceeded the API usage or rate limit.
SQL statement cannot be parsed by mindsdb_sql
- Symptoms: SQL queries failing or not recognizing table and model names containing spaces or special characters.
- Checklist:
- Ensure table names with spaces or special characters are enclosed in backticks.
Examples:
- Incorrect:
- Incorrect:
- Correct:
- Incorrect:
- Ensure table names with spaces or special characters are enclosed in backticks.
Examples: