

AgentOps aide les développeurs à construire, évaluer et surveiller les agents d'IA. Du prototype à la production.
| Replay Analytics and Debogging | Graphiques d'exécution d'agent étape par étape |
| ? Gestion des coûts LLM | Suivre les dépenses avec les fournisseurs de modèles de fondation LLM |
| ? Analyse comparative d'agent | Testez vos agents contre plus de 1 000 évals |
| ? Conformité et sécurité | Détecter les exploits d'injection rapide et d'exfiltration des données communes |
| ? Intégrations de cadre | Intégrations indigènes avec Crewai, Autogen et Langchain |
pip install agentopsInitialisez le client Agentops et obtenez automatiquement des analyses sur tous vos appels LLM.
Obtenez une clé API
import agentops
# Beginning of your program (i.e. main.py, __init__.py)
agentops . init ( < INSERT YOUR API KEY HERE > )
...
# End of program
agentops . end_session ( 'Success' ) Toutes vos séances peuvent être visualisées sur le tableau de bord d'agentops






Ajoutez une observabilité puissante à vos agents, outils et fonctions avec le moins de code possible: une ligne à la fois.
Reportez-vous à notre documentation
# Automatically associate all Events with the agent that originated them
from agentops import track_agent
@ track_agent ( name = 'SomeCustomName' )
class MyAgent :
... # Automatically create ToolEvents for tools that agents will use
from agentops import record_tool
@ record_tool ( 'SampleToolName' )
def sample_tool (...):
... # Automatically create ActionEvents for other functions.
from agentops import record_action
@ agentops . record_action ( 'sample function being record' )
def sample_function (...):
... # Manually record any other Events
from agentops import record , ActionEvent
record ( ActionEvent ( "received_user_input" )) Construisez des agents d'équipage avec observabilité avec seulement 2 lignes de code. Définissez simplement un AGENTOPS_API_KEY dans votre environnement, et vos équipages obtiendront une surveillance automatique sur le tableau de bord d'agentops.
pip install ' crewai[agentops] ' Avec seulement deux lignes de code, ajoutez une observabilité complète et une surveillance aux agents autogènes. Définissez un AGENTOPS_API_KEY dans votre environnement et appelez agentops.init()
AgentOps fonctionne parfaitement avec les applications construites à l'aide de Langchain. Pour utiliser le gestionnaire, installez Langchain comme dépendance facultative:
pip install agentops[langchain]Pour utiliser le gestionnaire, importer et définir
import os
from langchain . chat_models import ChatOpenAI
from langchain . agents import initialize_agent , AgentType
from agentops . partners . langchain_callback_handler import LangchainCallbackHandler
AGENTOPS_API_KEY = os . environ [ 'AGENTOPS_API_KEY' ]
handler = LangchainCallbackHandler ( api_key = AGENTOPS_API_KEY , tags = [ 'Langchain Example' ])
llm = ChatOpenAI ( openai_api_key = OPENAI_API_KEY ,
callbacks = [ handler ],
model = 'gpt-3.5-turbo' )
agent = initialize_agent ( tools ,
llm ,
agent = AgentType . CHAT_ZERO_SHOT_REACT_DESCRIPTION ,
verbose = True ,
callbacks = [ handler ], # You must pass in a callback handler to record your agent
handle_parsing_errors = True )Consultez le cahier Langchain Exemples pour plus de détails, y compris les gestionnaires asynchronisés.
Prise en charge de la première classe pour Cohere (> = 5.4.0). Ceci est une intégration vivante, si vous avez besoin de fonctionnalités supplémentaires, veuillez nous envoyer un message sur Discord!
pip install cohere import cohere
import agentops
# Beginning of program's code (i.e. main.py, __init__.py)
agentops . init ( < INSERT YOUR API KEY HERE > )
co = cohere . Client ()
chat = co . chat (
message = "Is it pronounced ceaux-hear or co-hehray?"
)
print ( chat )
agentops . end_session ( 'Success' ) import cohere
import agentops
# Beginning of program's code (i.e. main.py, __init__.py)
agentops . init ( < INSERT YOUR API KEY HERE > )
co = cohere . Client ()
stream = co . chat_stream (
message = "Write me a haiku about the synergies between Cohere and AgentOps"
)
for event in stream :
if event . event_type == "text-generation" :
print ( event . text , end = '' )
agentops . end_session ( 'Success' )Agents de piste construits avec le SDK anthropique Python (> = 0,32,0).
pip install anthropic import anthropic
import agentops
# Beginning of program's code (i.e. main.py, __init__.py)
agentops . init ( < INSERT YOUR API KEY HERE > )
client = anthropic . Anthropic (
# This is the default and can be omitted
api_key = os . environ . get ( "ANTHROPIC_API_KEY" ),
)
message = client . messages . create (
max_tokens = 1024 ,
messages = [
{
"role" : "user" ,
"content" : "Tell me a cool fact about AgentOps" ,
}
],
model = "claude-3-opus-20240229" ,
)
print ( message . content )
agentops . end_session ( 'Success' )Streaming
import anthropic
import agentops
# Beginning of program's code (i.e. main.py, __init__.py)
agentops . init ( < INSERT YOUR API KEY HERE > )
client = anthropic . Anthropic (
# This is the default and can be omitted
api_key = os . environ . get ( "ANTHROPIC_API_KEY" ),
)
stream = client . messages . create (
max_tokens = 1024 ,
model = "claude-3-opus-20240229" ,
messages = [
{
"role" : "user" ,
"content" : "Tell me something cool about streaming agents" ,
}
],
stream = True ,
)
response = ""
for event in stream :
if event . type == "content_block_delta" :
response += event . delta . text
elif event . type == "message_stop" :
print ( " n " )
print ( response )
print ( " n " )Asynchrone
import asyncio
from anthropic import AsyncAnthropic
client = AsyncAnthropic (
# This is the default and can be omitted
api_key = os . environ . get ( "ANTHROPIC_API_KEY" ),
)
async def main () -> None :
message = await client . messages . create (
max_tokens = 1024 ,
messages = [
{
"role" : "user" ,
"content" : "Tell me something interesting about async agents" ,
}
],
model = "claude-3-opus-20240229" ,
)
print ( message . content )
await main ()Agents de piste construits avec le SDK anthropique Python (> = 0,32,0).
pip install mistralaiSynchronisation
from mistralai import Mistral
import agentops
# Beginning of program's code (i.e. main.py, __init__.py)
agentops . init ( < INSERT YOUR API KEY HERE > )
client = Mistral (
# This is the default and can be omitted
api_key = os . environ . get ( "MISTRAL_API_KEY" ),
)
message = client . chat . complete (
messages = [
{
"role" : "user" ,
"content" : "Tell me a cool fact about AgentOps" ,
}
],
model = "open-mistral-nemo" ,
)
print ( message . choices [ 0 ]. message . content )
agentops . end_session ( 'Success' )Streaming
from mistralai import Mistral
import agentops
# Beginning of program's code (i.e. main.py, __init__.py)
agentops . init ( < INSERT YOUR API KEY HERE > )
client = Mistral (
# This is the default and can be omitted
api_key = os . environ . get ( "MISTRAL_API_KEY" ),
)
message = client . chat . stream (
messages = [
{
"role" : "user" ,
"content" : "Tell me something cool about streaming agents" ,
}
],
model = "open-mistral-nemo" ,
)
response = ""
for event in message :
if event . data . choices [ 0 ]. finish_reason == "stop" :
print ( " n " )
print ( response )
print ( " n " )
else :
response += event . text
agentops . end_session ( 'Success' )Asynchrone
import asyncio
from mistralai import Mistral
client = Mistral (
# This is the default and can be omitted
api_key = os . environ . get ( "MISTRAL_API_KEY" ),
)
async def main () -> None :
message = await client . chat . complete_async (
messages = [
{
"role" : "user" ,
"content" : "Tell me something interesting about async agents" ,
}
],
model = "open-mistral-nemo" ,
)
print ( message . choices [ 0 ]. message . content )
await main ()Streaming asynchrone
import asyncio
from mistralai import Mistral
client = Mistral (
# This is the default and can be omitted
api_key = os . environ . get ( "MISTRAL_API_KEY" ),
)
async def main () -> None :
message = await client . chat . stream_async (
messages = [
{
"role" : "user" ,
"content" : "Tell me something interesting about async streaming agents" ,
}
],
model = "open-mistral-nemo" ,
)
response = ""
async for event in message :
if event . data . choices [ 0 ]. finish_reason == "stop" :
print ( " n " )
print ( response )
print ( " n " )
else :
response += event . text
await main ()AgentOps prend en charge Litellm (> = 1.3.1), vous permettant d'appeler 100+ LLMS en utilisant le même format d'entrée / sortie.
pip install litellm # Do not use LiteLLM like this
# from litellm import completion
# ...
# response = completion(model="claude-3", messages=messages)
# Use LiteLLM like this
import litellm
...
response = litellm . completion ( model = "claude-3" , messages = messages )
# or
response = await litellm . acompletion ( model = "claude-3" , messages = messages )AgentOps fonctionne parfaitement avec des applications construites à l'aide de Llamaindex, un cadre pour construire des applications d'IA génératrices auprès de contextes avec LLMS.
pip install llama-index-instrumentation-agentopsPour utiliser le gestionnaire, importer et définir
from llama_index . core import set_global_handler
# NOTE: Feel free to set your AgentOps environment variables (e.g., 'AGENTOPS_API_KEY')
# as outlined in the AgentOps documentation, or pass the equivalent keyword arguments
# anticipated by AgentOps' AOClient as **eval_params in set_global_handler.
set_global_handler ( "agentops" )Consultez les documents Llamaindex pour plus de détails.

Essayez-le!
(à venir!)
| Plate-forme | Tableau de bord | Évals |
|---|---|---|
| ✅ SDK Python | ✅ Metrics multi-sessions et entre session | ✅ Métriques sur les évaluations personnalisées |
| ? API du constructeur d'évaluation | ✅ Suivi de balises d'événement personnalisé | Tableaux de bord de l'agent |
| ✅ SDK JavaScript / TypeScript | ✅ Replays de session | Aire de jeux d'évaluation + classement |
| Tests de performance | Environnements | Test LLM | Test de raisonnement et d'exécution |
|---|---|---|---|
| ✅ Analyse de latence des événements | Tests d'environnement non stationnaires | Détection de fonction non déterministe LLM | ? Boucles infinies et détection de pensée récursive |
| ✅ Prix d'exécution du flux de travail de l'agent | Environnements multimodaux | ? Limite de jetons | Détection de raisonnement défectueux |
| ? Validateurs de succès (externe) | Conteneurs d'exécution | Context Limit Flags Overflow | Validateurs de code génératif |
| Contrôleurs d'agent / tests de compétence | ✅ Honey Pot et Détection d'injection rapide (Promptarmor) | Suivi de la facture API | Analyse des points d'arrêt des erreurs |
| Test de contrainte de contexte d'information | Obstacles anti-agent (c.-à-d. Captchas) | Vérices d'intégration CI / CD | |
| Tests de régression | Visualisation du cadre multi-agent |
Sans les bons outils, les agents d'IA sont lents, coûteux et peu fiables. Notre mission est d'amener votre agent du prototype à la production. Voici pourquoi Agentops se démarque:
Agerops est conçu pour faciliter l'observabilité, les tests et la surveillance des agents.
Découvrez notre croissance dans la communauté:
| Dépôt | Étoiles |
|---|---|
| Geekan / Metagpt | 42787 |
| Run-Llama / Llama_index | 34446 |
| Crewaiinc / Crewai | 18287 |
| camel-ai / chameau | 5166 |
| superagent-ai / superagent | 5050 |
| iyaja / lama-fs | 4713 |
| Basedhardware / Omi | 2723 |
| Mervinpraison / Praisonai | 2007 |
| Agentop-ai / jaiqu | 272 |
| strnad / crewai-studio | 134 |
| Alejandro-ao / exa-crewai | 55 |
| TonyKipKemboi / YouTube_Yapper_Trapper | 47 |
| Sethcoast / Cover-Letter-Builder | 27 |
| bhancockio / chatppt4o-analyse | 19 |
| Breakstring / agetic_story_book_workflow | 14 |
| Multi-on / multion-python | 13 |
Généré à l'aide de GitHub-Dependants-Info, par Nicolas Vuillamy