agentops/docs/v1/integrations/mistral.mdx

195 lines
4.8 KiB
Plaintext

---
title: Mistral
description: "AgentOps provides first class support for Mistral AI's models"
---
import CodeTooltip from '/snippets/add-code-tooltip.mdx'
import EnvTooltip from '/snippets/add-env-tooltip.mdx'
[Mistral](https://mistral.ai) publishes open-weight AI models that can be used for a variety of tasks. To develop with Mistral, visit their developer docs [here](https://docs.mistral.ai).
## Steps to Integrate Mistral with AgentOps
<Steps>
<Step title="Install the AgentOps SDK">
<CodeGroup>
```bash pip
pip install agentops
```
```bash poetry
poetry add agentops
```
</CodeGroup>
</Step>
<Step title="Install the Mistral SDK">
<CodeGroup>
```bash pip
pip install mistralai
```
```bash poetry
poetry add mistralai
```
</CodeGroup>
</Step>
<Step title="Initialize AgentOps and develop with Mistral">
<CodeTooltip/>
<CodeGroup>
```python python
from mistralai import Mistral
import agentops
agentops.init(<INSERT YOUR API KEY HERE>)
client = Mistral(api_key="your_api_key")
# Your code here...
agentops.end_session('Success')
```
</CodeGroup>
<EnvTooltip />
<CodeGroup>
```python .env
AGENTOPS_API_KEY=<YOUR API KEY>
MISTRAL_API_KEY=<YOUR MISTRAL API KEY>
```
</CodeGroup>
</Step>
<Step title="Run your Agent">
Execute your program and visit [app.agentops.ai/drilldown](https://app.agentops.ai/drilldown) to observe your Agent! 🕵️
<Tip>
After your run, AgentOps prints a clickable url to console linking directly to your session in the Dashboard
</Tip>
<div/>
<Frame type="glass" caption="Clickable link to session">
<img height="200" src="https://github.com/AgentOps-AI/agentops/blob/main/docs/images/external/mistral/mistral_session.png?raw=true" />
</Frame>
</Step>
</Steps>
## Full Examples
A notebook demonstrating how to use AgentOps with Mistral can be found [here](https://github.com/AgentOps-AI/agentops/blob/main/examples/mistral_examples/mistral_example.ipynb).
<CodeGroup>
```python sync
from mistralai import Mistral
import agentops
agentops.init(<INSERT YOUR API KEY HERE>)
client = Mistral(api_key="your_api_key")
response = client.chat.complete(
model="mistral-small-latest",
messages=[
{
"role": "user",
"content": "Explain the history of the French Revolution."
}
],
)
print(response.choices[0].message.content)
agentops.end_session('Success')
```
```python async
import asyncio
from mistralai import Mistral
import agentops
async def main():
agentops.init(<INSERT YOUR API KEY HERE>)
client = Mistral(api_key="your_api_key")
response = await client.chat.complete_async(
model="mistral-small-latest",
messages=[
{
"role": "user",
"content": "Write a short summary about the poem La Belle Dame sans Merci.",
},
],
)
print(response.choices[0].message.content)
agentops.end_session('Success')
asyncio.run(main())
```
</CodeGroup>
### Streaming Examples
<CodeGroup>
```python sync
from mistralai import Mistral
import agentops
agentops.init(<INSERT YOUR API KEY HERE>)
client = Mistral(api_key="your_api_key")
complete_response = ""
response = client.chat.stream(
model="mistral-small-latest",
messages=[
{
"role": "user",
"content": "Who was Joan of Arc?"
}
],
)
for chunk in response:
if chunk.data.choices[0].finish_reason == "stop":
print(complete_response)
else:
complete_response += chunk.data.choices[0].delta.content
agentops.end_session('Success')
```
```python async
import asyncio
from mistralai import Mistral
import agentops
async def main():
agentops.init(<INSERT YOUR API KEY HERE>)
client = Mistral(api_key="your_api_key")
complete_response = ""
response = await client.chat.stream_async(
model="mistral-small-latest",
messages=[
{
"role": "user",
"content": "Write a short summary about the poem La Belle Dame sans Merci.",
},
],
)
async for chunk in response:
if chunk.data.choices[0].finish_reason == "stop":
print(complete_response)
else:
complete_response += chunk.data.choices[0].delta.content
agentops.end_session('Success')
asyncio.run(main())
```
</CodeGroup>
<script type="module" src="/scripts/github_stars.js"></script>
<script type="module" src="/scripts/scroll-img-fadein-animation.js"></script>
<script type="module" src="/scripts/button_heartbeat_animation.js"></script>
<script type="css" src="/styles/styles.css"></script>
<script type="module" src="/scripts/adjust_api_dynamically.js"></script>