# LLM Provider Integration

yCrash integrates with the below mentioned LLM providers.

Note

AI is available from three dedicated entry points: Deterministic AI in GCeasy (opens new window), Deterministic AI in FastThread (opens new window), and Dive Deeper in AI Mode (opens new window) in the AI Overview section of the RCA report.

All three open an interactive AI chat session backed by a configured Large Language Model (LLM). Without a valid API key and ycbuddy-config.json file, AI features stay disabled.

This guide is written for operations, platform, and functional teams - you do not need to be a developer to complete the setup.

# 1. Google Gemini

yCrash offers AI-powered analysis using Google Gemini. To configure Gemini as your LLM provider, follow the instructions provided here.

# 2. OpenAI

yCrash offers AI-powered analysis using OpenAI. To configure OpenAI as your LLM provider, follow the instructions provided here.

# 3. Azure OpenAI

yCrash offers AI-powered analysis using Azure OpenAI. To configure Azure OpenAI as your LLM provider, follow the instructions provided here.

# 4. Anthropic Claude

yCrash offers AI-powered analysis using Anthropic Claude. To configure Claude as your LLM provider, follow the instructions provided here.

# 5. GitHub Copilot

yCrash offers AI-powered analysis using a shared GitHub Copilot seat. To configure GitHub Copilot as your LLM provider, follow the instructions provided here.


# Before You Begin

Ensure the following:

Requirement Why it matters
An account with your chosen LLM provider You need access to that provider's developer console to create an API key
A valid API key from that provider yCrash uses this key to call the provider on your behalf
Access to the yCrash server host You will place a small configuration file on the server
The yCrash upload directory (opens new window) path This is where the configuration file must live

# Quick Overview: What Happens Behind the Scenes

When configured correctly, yCrash:

  1. Reads a file named ycbuddy-config.json at server startup
  2. Uses your API key to connect to the configured LLM provider
  3. Powers chat responses, semantic search over yCrash knowledge content, and optional file analysis in AI chat

The same API key is used for:

  • Chat responses (the model you choose, e.g. gemini-2.5-flash)
  • Semantic search / context retrieval (the embedding model, e.g. gemini-embedding-001)
  • File uploads in AI chat (when users attach diagnostic files), unless the provider has no Files API (see GitHub Copilot)

# Place the Configuration File on the yCrash Server

Create a plain text file named exactly:

ycbuddy-config.json
1

The name is case-sensitive and mandatory. yCrash looks for this exact filename; any other name will not work.

Place ycbuddy-config.json in the yCrash upload directory.

The upload directory is the folder yCrash uses to store uploaded diagnostics and server-side configuration. It is set when the JVM starts with a system property:

-DuploadDir=/path/to/your/upload/folder
1

Example paths:

Environment Example upload directory
Linux server /opt/ycrash/uploads
Windows server C:\ycrash\uploads

Ask your yCrash administrator or check your server startup script / service definition for the -DuploadDir=... value if you are unsure.

Final file location:

<uploadDir>/ycbuddy-config.json
1

Example: if -DuploadDir=/opt/ycrash/uploads, the full path is:

/opt/ycrash/uploads/ycbuddy-config.json
1

# Alternate locations (for reference)

yCrash may also pick up the file from the application classpath or the server's working directory, but the upload directory is the supported location for production deployments. Always use <uploadDir>/ycbuddy-config.json unless your runbook says otherwise.

# Optional: API key via environment variable

If you prefer not to store the API key in the JSON file, you can omit llmApiKey and set an environment variable on the yCrash process instead:

LLM_API_KEY=your-api-key
1

All other fields (llmProvider, llmModelName, llmEmbeddingModelName) are still required in the JSON file. Provider-specific environment variables are documented on each provider page.


# Restart yCrash and Verify

Configuration is read when the yCrash application starts. After creating or editing ycbuddy-config.json:

  1. Save the file
  2. Restart the yCrash server (or redeploy the application)
  3. Watch the server logs during startup

# What success looks like in logs

Look for messages similar to:

  • Found ycbuddy-config.json in uploadDir - /path/to/uploads/ycbuddy-config.json
  • YCBuddy configuration loaded successfully.
  • A provider-specific client initialization message (see each provider page)

# What failure looks like

Symptom Likely cause
AI buttons greyed out or missing Config file not found, or required fields empty
Log: ycbuddy-config.json file not found File not in upload directory, or wrong filename
Log: LLM API key is required but not configured Missing llmApiKey and no LLM_API_KEY env var
Log: Unsupported LLM provider Typo in llmProvider (must match a supported value exactly)
Chat opens but returns auth / 403 errors Invalid, expired, or revoked API key; or billing not enabled at the provider

# Functional verification (no log access needed)

  1. Open a report that supports AI (GCeasy / FastThread Deterministic AI, or RCA Dive Deeper in AI Mode)
  2. Confirm the AI entry point is visible and clickable
  3. Ask a simple question (e.g. Summarize the top GC issue in this report)
  4. Confirm you receive a streaming response within a reasonable time (typically seconds, depending on report size)

# Required Fields Summary

Property Description
llmProvider AI provider. Accepted values: "gemini", "openai", "azure-openai", "claude" / "anthropic", "copilot".
llmApiKey API key / token used to authenticate with the provider.
llmModelName Model used to generate AI chat responses.
llmEmbeddingModelName Embedding model used for semantic search and context retrieval.
llmMaxOutputTokens Optional. Soft cap on completion tokens (default 4096). Especially important for OpenAI GPT-5.x and Claude.
llmReasoningEffort Optional. Reasoning / effort for OpenAI GPT-5.x / o-series and Claude Sonnet 4.6+ (default "none").

Note:

If any required field is missing or empty, yCrash disables AI and logs a configuration error at startup.


# Troubleshooting Checklist

Use this checklist before opening a support ticket:

  • File is named exactly ycbuddy-config.json
  • File is in the directory specified by -DuploadDir (not a subdirectory)
  • JSON is valid (no trailing commas, double-quoted keys and values)
  • llmProvider matches a supported value exactly (lowercase)
  • API key is complete, not expired, and has access at the provider
  • yCrash server was restarted after the file was added or changed
  • Server logs show successful YCBuddy / LLM client initialization
  • Outbound HTTPS from the yCrash server to the provider is allowed by your firewall

Provider-specific checks (billing, hostnames, token types) are listed on each provider page.


# Security and Compliance Notes

  • The API key in ycbuddy-config.json is a live credential. Apply OS-level file permissions so only the yCrash service account can read it.
  • Diagnostic data from reports may be sent to the LLM provider as part of AI analysis. Review your organization's data-processing policy before enabling AI in regulated environments.
  • Usage is billed by your chosen provider, not by yCrash. Monitor API usage in that provider's console.
  • yCrash can optionally enforce monthly usage quotas per user tier via additional settings in the same config file (quotaEnabled, etc.). Contact your yCrash administrator if limits are required.