You now have the option to select from various AI clients to harness the capabilities of Mage AI, as detailed in the Mage AI capabilities documentation. Currently, we offer support for OpenAI and Hugging Face, with the promise of additional AI clients being added in the future.
Use Hugging Face Client
Hugging Face Inference Endpoint
In order to utilize the Hugging Face AI Client, it is necessary to establish a Hugging Face inference endpoint. You can set it up following this guide.
This process is quite straightforward. It entails
- selecting the specific model you wish to use,
- determining the hosting environment (AWS or Azure),
- specifying the geographical region,
- choosing the type of GPU.
For your convenience and based on our testing, we recommend using the “mistralai/Mistral-7B-Instruct-v0.1” model.
Once the Inference endpoint is operational, it will provide you with an API URL and a corresponding token for establishing a secure connection.
Mage Project Setup
Within your Mage project’s metadata YAML configuration, please include the subsequent “ai_config” section:
ai_config: mode: 'hugging_face' open_ai_config: openai_api_key: key hugging_face_config: huggingface_api: api_url huggingface_inference_api_token: api_token
The “mode” parameter determines your selection of the AI client to be employed. It can be specified as either “open_ai” or “hugging_face,” with the default value being set to “open_ai.”
“hugging_face_config” as a mandatory configuration if you choose to use the hugging face client. This configuration includes the two essential elements obtained from the Hugging Face inference endpoint, namely, the API and Token.
You are ready to go once the “ai_config” is setup. At this point, you can fully leverage Mage AI’s capabilities, such as generating blocks with text description, automatically write comments for your functions, etc.
How to add a new AI Client
You may find it necessary to employ an AI client other than those offered by OpenAI and Hugging Face. Additionally, you might wish to make direct calls to your Language Model (LLM). This can be accomplished by enabling a new AI client for your specific needs.
This is an example PR.
Create new AI config
Create a dedicated configuration to save the params required to connect to LLM in the config.py. For instance, when using the Hugging Face client, the LLM is hosted within the inference endpoint, mandating both the API and Token for invoking the service for inference. In the OpenAI client, the OpenAI key is required to facilitate model inference.
Create dedicated AI Client
Inherit the AIClient interface and implements the two required functions: “inference_with_prompt” and “find_block_params”.
- Inference_with_prompt function does the LLM model inference. It takes the prompt template, required variables being used in the prompt and return the inference result.
- Find_block_params function does a multi classification based on code description to generate required types including block_type, pipeline_type, language, action type and data source.
You can read your configuration in the Setup function and initialize the client to talk to your service.
Enable in llm_pipeline_wizard
The last action to take is modifying the Setup function within ”mage_ai/ai/llm_pipeline_wizard.py” to introduce a new mode of your client and initialize your AI client.