multi-backend llm integration for code generation with 8+ provider support
Provides unified interface to generate code from 8+ LLM backends including vLLM, HuggingFace, OpenAI, Anthropic, Google Gemini, AWS Bedrock, and Ollama. The provider architecture (evalplus/provider/) abstracts backend-specific API details behind a common interface, handling authentication, request formatting, response parsing, and error handling for each provider. This enables researchers to benchmark code generation across different models and providers without rewriting evaluation code. The codegen module (evalplus/codegen.py) orchestrates the generation pipeline: problem specification → prompt formatting → LLM call → response extraction → sanitization → evaluation.
Unique: Implements provider abstraction layer that unifies 8+ LLM backends (vLLM, HuggingFace, OpenAI, Anthropic, Gemini, Bedrock, Ollama) behind a common interface, enabling single-codebase evaluation across local and cloud models. Each provider handles authentication, request formatting, and response parsing independently, allowing researchers to swap backends without modifying evaluation logic.
vs alternatives: More comprehensive than single-provider frameworks (e.g., OpenAI-only evaluators) because it supports both cloud APIs and self-hosted models; enables cost-benefit analysis between providers and avoids vendor lock-in. Abstraction layer reduces code duplication compared to implementing each provider separately.