+ +
+

Mistral#

+

In this notebook we access the Mistral API, a french service that offers free API access with certain limitations.

+
+
+
def prompt_mistral(prompt, model="mistral-medium-2312"):
+    import os
+    from mistralai import Mistral
+    
+    api_key = os.environ["MISTRAL_API_KEY"]
+    
+    client = Mistral(api_key=api_key)
+    
+    chat_response = client.chat.complete(
+        model= model,
+        messages = [
+            {
+                "role": "user",
+                "content": prompt,
+            },
+        ]
+    )
+    return chat_response.choices[0].message.content
+
+
+
+
+
+
+
prompt_mistral("What is the best French cheese? Answer in one sentence.")
+
+
+
+
+
"It's subjective, but many consider Époisses de Bourgogne, a soft, pungent, and creamy cheese from Burgundy, to be one of the best French cheeses."
+
+
+
+
+

We can also ask the API a listing of all available models:

+
+
+
from mistralai import Mistral
+import os
+
+s = Mistral(
+    api_key=os.getenv("MISTRAL_API_KEY", ""),
+)
+
+res = s.models.list()
+
+
+
+
+
+
+
[m.id for m in res.data]
+
+
+
+
+
['ministral-3b-2410',
+ 'ministral-3b-latest',
+ 'ministral-8b-2410',
+ 'ministral-8b-latest',
+ 'open-mistral-7b',
+ 'mistral-tiny',
+ 'mistral-tiny-2312',
+ 'open-mistral-nemo',
+ 'open-mistral-nemo-2407',
+ 'mistral-tiny-2407',
+ 'mistral-tiny-latest',
+ 'open-mixtral-8x7b',
+ 'mistral-small',
+ 'mistral-small-2312',
+ 'open-mixtral-8x22b',
+ 'open-mixtral-8x22b-2404',
+ 'mistral-small-2402',
+ 'mistral-small-2409',
+ 'mistral-small-latest',
+ 'mistral-medium-2312',
+ 'mistral-medium',
+ 'mistral-medium-latest',
+ 'mistral-large-2402',
+ 'mistral-large-2407',
+ 'mistral-large-2411',
+ 'mistral-large-latest',
+ 'pixtral-large-2411',
+ 'pixtral-large-latest',
+ 'codestral-2405',
+ 'codestral-latest',
+ 'codestral-mamba-2407',
+ 'open-codestral-mamba',
+ 'codestral-mamba-latest',
+ 'pixtral-12b-2409',
+ 'pixtral-12b',
+ 'pixtral-12b-latest',
+ 'mistral-embed',
+ 'mistral-moderation-2411',
+ 'mistral-moderation-latest']
+
+
+
+
+
+ + + + +