200 lines
5.0 KiB
Plaintext
200 lines
5.0 KiB
Plaintext
---
|
|
title: OpenAI
|
|
description: "AgentOps provides first class support for OpenAI's GPT family of models"
|
|
---
|
|
|
|
import CodeTooltip from '/snippets/add-code-tooltip.mdx'
|
|
import EnvTooltip from '/snippets/add-env-tooltip.mdx'
|
|
|
|
[OpenAI](https://www.openai.com) is a leading provider of AI tools and services.
|
|
Explore the [OpenAI API](https://platform.openai.com/) for more information.
|
|
|
|
<iframe
|
|
width="560"
|
|
height="315"
|
|
src="https://www.youtube.com/embed/qlotcZSh5_0"
|
|
title="YouTube video player"
|
|
frameborder="0"
|
|
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
|
allowfullscreen
|
|
></iframe>
|
|
|
|
<Steps>
|
|
<Step title="Install the AgentOps SDK">
|
|
<CodeGroup>
|
|
```bash pip
|
|
pip install agentops
|
|
```
|
|
```bash poetry
|
|
poetry add agentops
|
|
```
|
|
</CodeGroup>
|
|
</Step>
|
|
<Step title="Install the OpenAI SDK">
|
|
<Note>
|
|
`openai<1.0.0` has limited support while `openai>=1.0.0` is continuously supported.
|
|
</Note>
|
|
<CodeGroup>
|
|
```bash pip
|
|
pip install openai
|
|
```
|
|
```bash poetry
|
|
poetry add openai
|
|
```
|
|
</CodeGroup>
|
|
|
|
To install `openai<1.0.0`, use the following:
|
|
<CodeGroup>
|
|
```bash pip
|
|
pip install "openai<1.0.0"
|
|
```
|
|
```bash poetry
|
|
poetry add "openai<1.0.0"
|
|
```
|
|
</CodeGroup>
|
|
</Step>
|
|
<Step title="Add 3 lines of code">
|
|
<CodeTooltip/>
|
|
<CodeGroup>
|
|
```python python
|
|
import agentops
|
|
from openai import OpenAI
|
|
|
|
agentops.init(<INSERT YOUR API KEY HERE>)
|
|
client = OpenAI()
|
|
...
|
|
# End of program (e.g. main.py)
|
|
agentops.end_session("Success")
|
|
```
|
|
</CodeGroup>
|
|
<EnvTooltip />
|
|
<CodeGroup>
|
|
```python .env
|
|
AGENTOPS_API_KEY=<YOUR API KEY>
|
|
OPENAI_API_KEY=<YOUR OPENAI API KEY>
|
|
```
|
|
</CodeGroup>
|
|
Read more about environment variables in [Advanced Configuration](/v1/usage/advanced-configuration)
|
|
</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://raw.githubusercontent.com/AgentOps-AI/agentops/refs/heads/main/docs/images/external/app_screenshots/session-replay.png?raw=true" />
|
|
</Frame>
|
|
</Step>
|
|
</Steps>
|
|
|
|
## Full Examples
|
|
|
|
<CodeGroup>
|
|
```python sync
|
|
from openai import OpenAI
|
|
import agentops
|
|
|
|
agentops.init(<INSERT YOUR API KEY HERE>)
|
|
client = OpenAI()
|
|
|
|
response = client.chat.completions.create(
|
|
model="gpt-4o-mini",
|
|
messages=[{
|
|
"role": "user",
|
|
"content": "Write a haiku about AI and humans working together"
|
|
}]
|
|
)
|
|
|
|
print(response.choices[0].message.content)
|
|
agentops.end_session('Success')
|
|
```
|
|
|
|
```python async
|
|
from openai import AsyncOpenAI
|
|
import agentops
|
|
import asyncio
|
|
|
|
async def main():
|
|
agentops.init(<INSERT YOUR API KEY HERE>)
|
|
client = AsyncOpenAI()
|
|
|
|
response = await client.chat.completions.create(
|
|
model="gpt-4o-mini",
|
|
messages=[{
|
|
"role": "user",
|
|
"content": "Write a haiku about AI and humans working together"
|
|
}]
|
|
)
|
|
|
|
print(response.choices[0].message.content)
|
|
agentops.end_session('Success')
|
|
|
|
asyncio.run(main())
|
|
```
|
|
|
|
</CodeGroup>
|
|
|
|
### Streaming examples
|
|
|
|
<CodeGroup>
|
|
```python sync
|
|
from openai import OpenAI
|
|
import agentops
|
|
|
|
agentops.init(<INSERT YOUR API KEY HERE>)
|
|
client = OpenAI()
|
|
|
|
stream = client.chat.completions.create(
|
|
model="gpt-4o-mini",
|
|
stream=True,
|
|
messages=[{
|
|
"role": "user",
|
|
"content": "Write a haiku about AI and humans working together"
|
|
}],
|
|
)
|
|
|
|
for chunk in stream:
|
|
print(chunk.choices[0].delta.content or "", end="")
|
|
|
|
agentops.end_session('Success')
|
|
```
|
|
|
|
```python async
|
|
from openai import AsyncOpenAI
|
|
import agentops
|
|
import asyncio
|
|
|
|
async def main():
|
|
agentops.init(<INSERT YOUR API KEY HERE>)
|
|
client = AsyncOpenAI()
|
|
|
|
stream = await client.chat.completions.create(
|
|
model="gpt-4o-mini",
|
|
stream=True,
|
|
messages=[{
|
|
"role": "user",
|
|
"content": "Write a haiku about AI and humans working together"
|
|
}],
|
|
)
|
|
|
|
async for chunk in stream:
|
|
print(chunk.choices[0].delta.content or "", end="")
|
|
|
|
agentops.end_session('Success')
|
|
|
|
asyncio.run(main())
|
|
```
|
|
|
|
### Assistants example
|
|
|
|
You can find the example in the [Assistants](/v1/examples/openai_assistants) section.
|
|
|
|
</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>
|