FluiqFluiqExamples

Pillars

  • SecurityBlock attacks, redact PII and secrets
  • ObservabilityTrace every call, cost, and latency
  • EvaluationScore responses and whole agent runs

Part of Evaluation

  • DatasetsGolden sets that capture whole agent runs
  • Prompt ManagementVersion and deploy prompt templates

Across the platform

  • AlertsPush eval and security events to Slack

LLM Providers

  • OpenAI
  • Anthropic
  • Google Gemini
  • Google Vertex AI

Agent Frameworks

  • LangChain
  • LangGraph
  • CrewAI
  • Google ADK
  • MCP

Vector Databases

  • Pinecone
  • Chroma
  • Weaviate
  • FAISS
  • Qdrant
14 integrations ยท zero wrappersView all
Pricing

Learn

  • BlogsWriting on evals, security & cost
  • FAQPricing, evals, security & data

Build

  • Fluiq DocsGuides, concepts & SDK reference
  • Code SamplesCopy-paste integration snippets

Tools

  • Response Gate DemoWhat an LLM leaks while refusing
  • LLM Cost CalculatorCompare OpenAI, Claude & Gemini
  • polygateOpen-source unified LLM client
  • InfragerDiagrams to secure Terraform
Contact
Get API key

Language

Examples

SecurityObservabilityEvaluationPrompts
SDK Reference

Observability

Fluiq auto-instruments every supported library after a single instrument() call, free and unlimited on every tier. Multi-agent runs are captured as a real DAG (fan-out, joins, loop-backs). Select an integration below to see how traces flow into your dashboard.

Patches chat completions, streaming, embeddings, images, and audio, sync and async.

Python
import openai
from fluiq import instrument

instrument(api_key="fl_...")

client = openai.OpenAI()

# Chat completions: traced automatically
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Summarise this document"}],
)

# Streaming: also traced
with client.chat.completions.stream(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Write a haiku"}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

# Embeddings
client.embeddings.create(
    model="text-embedding-3-small",
    input=["Hello", "World"],
)