Support bring-your-own LLM (hosted OpenAI-compatible / Azure OpenAI) for language model integration
Mantenedores costumam responder em até 1 dia
Avaliação
Esta issue ainda não foi avaliada.
Descrição
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
OpenAILanguageModelClientsends noAuthorization/api-keyheader, so hosted endpoints (OpenAI, Azure OpenAI, GitHub Models, OpenRouter, Foundry) can't be used.- Only
OllamaandOpenAIclients; no Azure OpenAI support (api-keyheader,api-version, deployment-based URLs). IsEnabledCoreAsyncsends a real "Are you there?" completion on startup, which costs money on paid endpoints.languageModelschema describes the feature as "local language model".
Proposed changes
- Add
apiKeytolanguageModelconfig, supporting@env:VAR_NAMEso secrets stay out of config files; send as Bearer token (OpenAI-compatible) orapi-key(Azure). - Add
AzureOpenAIclient (or evaluate moving toMicrosoft.Extensions.AIIChatClient). - Replace the startup availability probe with a non-billable check (e.g.
GET /models) where possible. - Update
rc.schema.json(current version folder) and docs. - Never log API keys.
Follow-ups (out of scope here): per-plugin model overrides, redaction/opt-in for sending captured traffic to cloud models.
- Linguagem predominante
- C#
- Estrelas
- 838
- Forks
- 90
- Merge médio
- 2d 11h
- PRs com merge (30d)
- 59
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de dotnet/dev-proxy
-
GetTokenizedUrl fails on parenthesized Graph URL segmentsTalvez já em andamento @waldekmastykarz assumiu há 3 dias. Abertawork in progress
dotnet/dev-proxy#2041 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Support discriminator for oneOf in OpenApiValidationPluginTalvez já em andamento @waldekmastykarz assumiu há 3 dias. Abertawork in progress
dotnet/dev-proxy#2040 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Validate language-model mock output against the schema in OpenApiMockResponsePluginTalvez já em andamento @waldekmastykarz assumiu há 3 dias. Abertaon hold
dotnet/dev-proxy#2039 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
OpenApiSpecGeneratorPlugin omits parameters and response headers from generated specsTalvez já em andamento @waldekmastykarz assumiu há 3 dias. Abertabug work in progress
dotnet/dev-proxy#2032 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
breaking change on hold
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
dotnet/dev-proxy#1928 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de dotnet/dev-proxy
Issues semelhantes
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 78/100
QuantConnect/Documentation#2838 ·
Mantenedores costumam responder em até 1 dia
-
"Create your app": .sln/.slnx step and Solution Explorer instructions don't match current C# Dev KitAbertaarea-tutorials needs-triage
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 72/100
dotnet/website-feedback#1844 ·
-
Needs: Attention :wave: v5 v5-preview5
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Azure/azure-functions-core-tools#5852 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
OrchardCMS/OrchardCore#20194 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 69/100
Gothic-Unity-Project/Gothic-Unity#487 ·
Mantenedores costumam responder em até 1 dia