Skip to content

Latest commit

 

History

History
168 lines (130 loc) · 3.18 KB

configuration.md

File metadata and controls

168 lines (130 loc) · 3.18 KB

Configuration Guide

This guide covers the configuration and customization options for ConcourseGPT.

Environment Variables

Required Variables

# Base URL for the LLM API endpoint
export LLM_API_BASE="https://your-llm-api.example.com"

# Model identifier to use
export LLM_MODEL="your-model-name"

# API token for authentication
export LLM_TOKEN="your-api-token"

These can be added to your shell's rc file (e.g., ~/.bashrc or ~/.zshrc) or a local env.sh:

# env.sh
export LLM_API_BASE="..."
export LLM_MODEL="..."
export LLM_TOKEN="..."

Then source it:

source env.sh

Optional Variables

# Enable verbose curl output for debugging
export DEBUG_CURL=1

# Override the default columns setting for output formatting
export COLUMNS=120

LLM API Requirements

The LLM API endpoint should:

  1. Accept POST requests to /api/v1/chat/completions
  2. Use standard chat completion format
  3. Accept these parameters:
    {
      "model": "model-name",
      "messages": [
        {
          "role": "user",
          "content": "prompt-text"
        }
      ],
      "temperature": 0.7,
      "max_tokens": 2000
    }
  4. Return responses in this format:
    {
      "choices": [
        {
          "message": {
            "content": "response-text"
          }
        }
      ]
    }

MkDocs Configuration

The MkDocs site is configured with sensible defaults, but you can customize various aspects:

Theme Customization

The default theme (Material) is configured in mkdocs.yml:

theme:
  name: material
  custom_dir: overrides
  palette:
    - media: "(prefers-color-scheme: light)"
      scheme: default
      primary: "blue"
      accent: "blue"
      toggle:
        icon: material/weather-night
        name: Switch to dark mode
    - media: "(prefers-color-scheme: dark)"
      scheme: slate
      primary: "blue"
      accent: "blue"
      toggle:
        icon: material/weather-sunny
        name: Switch to light mode

Footer Customization

Custom footer content can be modified in overrides/partials/footer.html:

<p>This documentation was generated by an AI</p>

Navigation Structure

The navigation is automatically generated based on your docs/ directory structure:

nav:
  - Home: README.md
  - pipeline-name:
      - Overview: pipeline-name/README.md
      - Jobs: pipeline-name/jobs/
      - Resources: pipeline-name/resources/
      - Groups: pipeline-name/groups/

Output Customization

Directory Structure

By default, documentation is generated in this structure:

docs/
└── pipeline-name/
    ├── index.md
    ├── jobs/
    ├── resources/
    └── groups/

Markdown Extensions

The following Markdown extensions are enabled:

markdown_extensions:
  - toc:
      permalink: true
      toc_depth: 3

Performance Tuning

Large Pipeline Handling

For large pipelines:

  • Default chunk size: 600 lines
  • Configurable via line_threshold in pipeline.sh
  • Affects memory usage and API request size

Retry Configuration

API calls have built-in retry logic:

  • Maximum attempts: 3
  • Delay between retries: 2 seconds
  • Configurable in llm.sh