From 3fa13c8bfd1138fdada09693bf05491cc534acf3 Mon Sep 17 00:00:00 2001 From: Chris Coutinho Date: Sun, 23 Nov 2025 16:12:37 +0100 Subject: [PATCH] ci: Update rag pipeline --- .github/workflows/rag-evaluation.yml | 9 +++++---- docker-compose.ci.yml | 25 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 docker-compose.ci.yml diff --git a/.github/workflows/rag-evaluation.yml b/.github/workflows/rag-evaluation.yml index 20785db..b74163c 100644 --- a/.github/workflows/rag-evaluation.yml +++ b/.github/workflows/rag-evaluation.yml @@ -29,16 +29,17 @@ jobs: - name: Run docker compose with vector sync uses: hoverkraft-tech/compose-action@3846bcd61da338e9eaaf83e7ed0234a12b099b72 # v2.4.1 with: - compose-file: "./docker-compose.yml" + compose-file: | + ./docker-compose.yml + ./docker-compose.ci.yml up-flags: "--build" env: - # Override MCP container environment for OpenAI + vector sync - VECTOR_SYNC_ENABLED: "true" - VECTOR_SYNC_SCAN_INTERVAL: "5" + # Environment variables passed to docker-compose.ci.yml OPENAI_API_KEY: ${{ secrets.GITHUB_TOKEN }} OPENAI_BASE_URL: "https://models.github.ai/inference" OPENAI_EMBEDDING_MODEL: ${{ inputs.embedding_model }} OPENAI_GENERATION_MODEL: ${{ inputs.generation_model }} + VECTOR_SYNC_SCAN_INTERVAL: "5" - name: Install the latest version of uv uses: astral-sh/setup-uv@1e862dfacbd1d6d858c55d9b792c756523627244 # v7.1.4 diff --git a/docker-compose.ci.yml b/docker-compose.ci.yml new file mode 100644 index 0000000..14c60d1 --- /dev/null +++ b/docker-compose.ci.yml @@ -0,0 +1,25 @@ +# CI-specific overrides for RAG evaluation pipeline +# This file is used by the rag-evaluation.yml workflow to configure the MCP +# container with OpenAI/GitHub Models API for vector embeddings. +# +# Usage: +# docker compose -f docker-compose.yml -f docker-compose.ci.yml up +# +# Environment variables (set in CI workflow): +# OPENAI_API_KEY - API key for embeddings (GitHub Models uses GITHUB_TOKEN) +# OPENAI_BASE_URL - API endpoint (e.g., https://models.github.ai/inference) +# OPENAI_EMBEDDING_MODEL - Model name (e.g., openai/text-embedding-3-small) +# OPENAI_GENERATION_MODEL - Model name for generation (e.g., openai/gpt-4o-mini) + +services: + mcp: + environment: + # OpenAI provider configuration (required for CI vector sync) + - OPENAI_API_KEY=${OPENAI_API_KEY} + - OPENAI_BASE_URL=${OPENAI_BASE_URL:-https://models.github.ai/inference} + - OPENAI_EMBEDDING_MODEL=${OPENAI_EMBEDDING_MODEL:-openai/text-embedding-3-small} + - OPENAI_GENERATION_MODEL=${OPENAI_GENERATION_MODEL:-openai/gpt-4o-mini} + # Faster sync for CI + - VECTOR_SYNC_SCAN_INTERVAL=${VECTOR_SYNC_SCAN_INTERVAL:-5} + # Enable document processing for PDF parsing + - ENABLE_DOCUMENT_PROCESSING=true