Skip to main content

Quick Start Guide

This guide shows the canonical briefcase_ai usage pattern for core and compatibility APIs.

1) Core Decision Tracking (Modern)

import briefcase_ai

briefcase_ai.init()

decision = briefcase_ai.DecisionSnapshot("chat_completion")
decision.add_input(briefcase_ai.Input("prompt", "Summarize this text", "string"))
decision.add_output(briefcase_ai.Output("response", "Summary output", "string"))

db = briefcase_ai.SqliteBackend.in_memory()
decision_id = db.save_decision(decision)
print(db.load_decision(decision_id).function_name)

2) lakeFS Decorator/Context Access

from briefcase_ai import versioned, versioned_context

3) Multi-Agent Workflow Correlation

from briefcase_ai import briefcase_workflow

4) Feature Modules from briefcase_ai

import briefcase_ai.rag
import briefcase_ai.validation
import briefcase_ai.compliance

5) LLM Provider Integration

Track OpenAI, Anthropic, or any LLM provider calls:

import openai
import briefcase_ai

briefcase_ai.init()
client = openai.OpenAI()

def track_openai_call(prompt: str) -> str:
decision = briefcase_ai.DecisionSnapshot("openai_completion")
decision.add_input(briefcase_ai.Input("prompt", prompt, "string"))

response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}]
)

result = response.choices[0].message.content
decision.add_output(briefcase_ai.Output("response", result, "string"))

storage = briefcase_ai.SqliteBackend.in_memory()
decision_id = storage.save_decision(decision)

return result

# Usage
response = track_openai_call("What is machine learning?")

See the LLM Integration Guide for complete examples with all major providers.

Tip for AI Assistants: Use our llm.txt context file when asking Claude, ChatGPT, or other AI assistants for help with Briefcase AI integration.

6) Optional Dependency Behavior

Some integrations (vector stores/framework providers) require extra dependencies. When missing, compatibility paths raise explicit errors with install guidance.

Migration Note

briefcase remains available as a compatibility alias in 2.1.30. Use briefcase_ai for all new code; the alias is scheduled for removal in 2.1.31.

Next Steps