client-js

client-js

JS Client library for Mistral AI platform

Stars: 173

Visit
 screenshot

The Mistral JavaScript client is a library that allows you to interact with the Mistral AI API. With this client, you can perform various tasks such as listing models, chatting with streaming, chatting without streaming, and generating embeddings. To use the client, you can install it in your project using npm and then set up the client with your API key. Once the client is set up, you can use it to perform the desired tasks. For example, you can use the client to chat with a model by providing a list of messages. The client will then return the response from the model. You can also use the client to generate embeddings for a given input. The embeddings can then be used for various downstream tasks such as clustering or classification.

README:

This JavaScript client is inspired from cohere-typescript

Mistral JavaScript Client

You can use the Mistral JavaScript client to interact with the Mistral AI API.

Installing

You can install the library in your project using:

npm install @mistralai/mistralai

Usage

You can watch a free course on using the Mistral JavaScript client here.

Set up

import MistralClient from '@mistralai/mistralai';

const apiKey = process.env.MISTRAL_API_KEY || 'your_api_key';

const client = new MistralClient(apiKey);

List models

const listModelsResponse = await client.listModels();
const listModels = listModelsResponse.data;
listModels.forEach((model) => {
  console.log('Model:', model);
});

Chat with streaming

const chatStreamResponse = await client.chatStream({
  model: 'mistral-tiny',
  messages: [{role: 'user', content: 'What is the best French cheese?'}],
});

console.log('Chat Stream:');
for await (const chunk of chatStreamResponse) {
  if (chunk.choices[0].delta.content !== undefined) {
    const streamText = chunk.choices[0].delta.content;
    process.stdout.write(streamText);
  }
}

Chat without streaming

const chatResponse = await client.chat({
  model: 'mistral-tiny',
  messages: [{role: 'user', content: 'What is the best French cheese?'}],
});

console.log('Chat:', chatResponse.choices[0].message.content);

Embeddings

const input = [];
for (let i = 0; i < 1; i++) {
  input.push('What is the best French cheese?');
}

const embeddingsBatchResponse = await client.embeddings({
  model: 'mistral-embed',
  input: input,
});

console.log('Embeddings Batch:', embeddingsBatchResponse.data);

Files

// Create a new file
const file = fs.readFileSync('file.jsonl');
const createdFile = await client.files.create({ file });

// List files
const files = await client.files.list();

// Retrieve a file
const retrievedFile = await client.files.retrieve({ fileId: createdFile.id });

// Delete a file
const deletedFile = await client.files.delete({ fileId: createdFile.id });

Fine-tuning Jobs

// Create a new job
const createdJob = await client.jobs.create({
  model: 'open-mistral-7B',
  trainingFiles: [trainingFile.id],
  validationFiles: [validationFile.id],
  hyperparameters: {
    trainingSteps: 10,
    learningRate: 0.0001,
  },
});

// List jobs
const jobs = await client.jobs.list();

// Retrieve a job
const retrievedJob = await client.jobs.retrieve({ jobId: createdJob.id });

// Cancel a job
const canceledJob = await client.jobs.cancel({ jobId: createdJob.id });

Run examples

You can run the examples in the examples directory by installing them locally:

cd examples
npm install .

API key setup

Running the examples requires a Mistral AI API key.

Get your own Mistral API Key: https://docs.mistral.ai/#api-access

Run the examples

MISTRAL_API_KEY='your_api_key' node chat_with_streaming.js

Persisting the API key in environment

Set your Mistral API Key as an environment variable. You only need to do this once.

# set Mistral API Key (using zsh for example)
$ echo 'export MISTRAL_API_KEY=[your_api_key]' >> ~/.zshenv

# reload the environment (or just quit and open a new terminal)
$ source ~/.zshenv

You can then run the examples without appending the API key:

node chat_with_streaming.js

After the env variable setup the client will find the MISTRAL_API_KEY by itself

import MistralClient from '@mistralai/mistralai';

const client = new MistralClient();

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for client-js

Similar Open Source Tools

For similar tasks

For similar jobs