Skip to content

This Ballerina connector provides capabilities to integrate with Mistral AI APIs..

License

Notifications You must be signed in to change notification settings

ballerina-platform/module-ballerinax-mistral

Repository files navigation

Ballerina Mistral AI connector

Build Trivy GraalVM Check GitHub Last Commit GitHub Issues

Overview

Mistral AI is a research lab focused on developing the best open-source AI models. It provides developers and businesses with powerful APIs and tools to build innovative applications using both free and commercial large language models.

Setup guide

To use the Mistral AI Connector, you must have access to the Mistral AI API through a Mistral AI account and an active API key. If you do not have a Mistral AI account, you can sign up for one here

Create a Mistral AI API key

  1. Visit the Mistral AI platform, head to the Mistral AI console dashboard, and sign up to get started.

  2. Navigate to the API Keys panel.

  3. Choose a plan based on your requirements. Mistral AI Platform

  4. Proceed to create a new API key. Mistral AI Platform

  5. Enter the necessary details as prompted and click on Create new key. Mistral AI Platform

  6. Copy the API key and store it securely Mistral AI Platform

Quickstart

To use the Mistral connector in your Ballerina application, update the .bal as follow:

Step 1: Import the module

Import the ballerinax/mistral module

import ballerinax/mistral;

Step 2: Create a new connector instance

Create a mistral:Client with the obtained API Key and initialize the connector.

configurable string token = ?;

mistral:Client mistralClient = check new (
    config = {auth: {token: token}}
);

Step 3: Invoke the connector operation

Now, you can utilize available connector operations.

Generate a response for given message

mistral:ChatCompletionRequest request = {
    model: "mistral-small-latest",
    messages: [
        {
            role: "user",
            content: "What is the capital of France?"
        }
    ]
};

mistral:ChatCompletionResponse response = check mistralClient->/chat/completions.post(request);

Step 4: Run the Ballerina application

Execute the command below to run the Ballerina application:

bal run

Build from the source

Setting up the prerequisites

  1. Download and install Java SE Development Kit (JDK) version 17. You can download it from either of the following sources:

    Note: After installation, remember to set the JAVA_HOME environment variable to the directory where JDK was installed.

  2. Download and install Ballerina Swan Lake.

  3. Download and install Docker.

    Note: Ensure that the Docker daemon is running before executing any tests.

  4. Export Github Personal access token with read package permissions as follows,

    export packageUser=<Username>
    export packagePAT=<Personal access token>

Build options

Execute the commands below to build from the source.

  1. To build the package:

    ./gradlew clean build
  2. To run the tests:

    ./gradlew clean test
  3. To build the without the tests:

    ./gradlew clean build -x test
  4. To run tests against different environments:

    ./gradlew clean test -Pgroups=<Comma separated groups/test cases>
  5. To debug the package with a remote debugger:

    ./gradlew clean build -Pdebug=<port>
  6. To debug with the Ballerina language:

    ./gradlew clean build -PbalJavaDebug=<port>
  7. Publish the generated artifacts to the local Ballerina Central repository:

    ./gradlew clean build -PpublishToLocalCentral=true
  8. Publish the generated artifacts to the Ballerina Central repository:

    ./gradlew clean build -PpublishToCentral=true

Contribute to Ballerina

As an open-source project, Ballerina welcomes contributions from the community.

For more information, go to the contribution guidelines.

Code of conduct

All the contributors are encouraged to read the Ballerina Code of Conduct.

Useful links

About

This Ballerina connector provides capabilities to integrate with Mistral AI APIs..

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 9