Support bring-your-own LLM (hosted OpenAI-compatible / Azure OpenAI) for language model integration

Ouverte
#2,034 0 commentaires 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@waldekmastykarz y travaille déjà.

Depuis le 31/10/2026.

  • #2035 par @waldekmastykarz — ouverte

Évaluation

Cette issue n'a pas encore été évaluée.

Description

work in progress

Summary

Dev Proxy's language model integration is currently designed for local SLMs (default: Ollama llama3.2 at localhost:11434). As inference prices drop, using hosted LLMs is increasingly viable and yields better results (e.g. operation IDs/descriptions in OpenApiSpecGeneratorPlugin/TypeSpecGeneratorPlugin, mock responses in OpenAIMockResponsePlugin).

Current limitations

  • OpenAILanguageModelClient sends no Authorization/api-key header, so hosted endpoints (OpenAI, Azure OpenAI, GitHub Models, OpenRouter, Foundry) can't be used.
  • Only Ollama and OpenAI clients; no Azure OpenAI support (api-key header, api-version, deployment-based URLs).
  • IsEnabledCoreAsync sends a real "Are you there?" completion on startup, which costs money on paid endpoints.
  • languageModel schema describes the feature as "local language model".

Proposed changes

  1. Add apiKey to languageModel config, supporting @env:VAR_NAME so secrets stay out of config files; send as Bearer token (OpenAI-compatible) or api-key (Azure).
  2. Add AzureOpenAI client (or evaluate moving to Microsoft.Extensions.AI IChatClient).
  3. Replace the startup availability probe with a non-billable check (e.g. GET /models) where possible.
  4. Update rc.schema.json (current version folder) and docs.
  5. Never log API keys.

Follow-ups (out of scope here): per-plugin model overrides, redaction/opt-in for sending captured traffic to cloud models.

Langage dominant
C#
Étoiles
841
Forks
90
Merge moyen
2 j 10 h
PR mergées (30 j)
63

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de dotnet/dev-proxy

Toutes les issues de dotnet/dev-proxy

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.