Feature description
Implement a standalone Python/FastAPI microservice (llm-service) responsible for all AI-powered card generation. The service must communicate with OpenRouter (OpenAI-compatible API) and return strictly validated JSON using Pydantic structured outputs.
What is needed to be done
Scope
llm-service/server.py: FastAPI app with /health and /generate
llm-service/generator.py: OpenAI client wrapper, Pydantic models (MultipleChoiceCard, SingleAnswerCard), system prompts
llm-service/Dockerfile: Python 3.13-slim image
Environment: OPENROUTER_API_KEY, LLM_MODEL (default: openai/gpt-oss-20b:free)
Acceptance Criteria
Feature description
Implement a standalone Python/FastAPI microservice (llm-service) responsible for all AI-powered card generation. The service must communicate with OpenRouter (OpenAI-compatible API) and return strictly validated JSON using Pydantic structured outputs.
What is needed to be done
Scope
Acceptance Criteria