Skip to content

graphsignal/graphsignal-python

Repository files navigation

Graphsignal: Observability for AI Stack

License Version

Graphsignal is an observability platform for AI agents and LLM-powered applications. It helps developers ensure AI applications run as expected and users have the best experience. With Graphsignal, developers can:

  • Trace generations, runs, and sessions with full AI context.
  • Score any user interactions and application execution.
  • See latency breakdowns and distributions.
  • Analyze model API costs for deployments, models, or users.
  • Get notified about errors and anomalies.
  • Monitor API, compute, and GPU utilization.

Dashboards

Learn more at graphsignal.com.

Install

Install Graphsignal library.

pip install --upgrade graphsignal

Configure

Configure Graphsignal tracer by specifying your API key directly or via GRAPHSIGNAL_API_KEY environment variable.

import graphsignal

graphsignal.configure(api_key='my-api-key', deployment='my-app')

To get an API key, sign up for a free account at graphsignal.com. The key can then be found in your account's Settings / API Keys page.

Alternatively, you can add Graphsignal tracer at command line, when running your module or script. Environment variables GRAPHSIGNAL_API_KEY and GRAPHSIGNAL_DEPLOYMENT must be set.

python -m graphsignal <script>
python -m graphsignal -m <module>

Integrate

Graphsignal auto-instruments and traces libraries and frameworks, such as OpenAI and LangChain. Traces, errors, and data, such as prompts and completions, are automatically recorded and available for analysis at app.graphsignal.com.

Refer to the guides below for detailed information on:

See API reference for full documentation.

Some integration examples are available in examples repo.

Analyze

Log in to Graphsignal to monitor and analyze your application and monitor for issues.

Overhead

Graphsignal tracer is very lightweight. The overhead per trace is measured to be less than 100 microseconds.

Security and Privacy

Graphsignal tracer can only open outbound connections to api.graphsignal.com and send data, no inbound connections or commands are possible.

Payloads, such as prompts and completions, are recorded by default in case of automatic tracing. To disable, set record_payloads=False in graphsignal.configure.

Troubleshooting

To enable debug logging, add debug_mode=True to configure(). If the debug log doesn't give you any hints on how to fix a problem, please report it to our support team via your account.

In case of connection issues, please make sure outgoing connections to https://api.graphsignal.com are allowed.