1
0
Fork 0

feat: AI 텍스트 Provider (LlmProvider) — OpenAI/Anthropic 요약·번역·교정

AI를 '키 없으면 비활성되는 부가 엣지'로 통합. 기존 변환에 무영향, 일반 변환과 충돌 없는 txt↔txt/md↔md self-edge만 노출.

- IChatClient + OpenAiChatClient/AnthropicChatClient (HttpClient 직접, SDK 의존 0)
- LlmProvider: summarize/translate/proofread/custom, ISettingsStore 키 + 환경변수(OPENAI_API_KEY/ANTHROPIC_API_KEY) 폴백
- CheckAvailabilityAsync 게이트: 키 없으면 NotReady → 그래프에서 실행 비활성
- ConvertOptions.Ai (백엔드/모델/작업/대상언어)
- 테스트 5개 (키 게이트·프롬프트 구성·그래프 엣지) — 총 34개 통과
This commit is contained in:
Yun Chan 2026-06-01 13:21:14 +09:00
parent 937d9e7878
commit b76d51f3c1
6 changed files with 313 additions and 0 deletions

View file

@ -6,6 +6,7 @@ public static class Everything2EverythingBootstrap
{
public static ConversionEngine CreateDefault()
{
var settings = new DpapiSettingsStore();
var magick = new Converters.MagickProvider();
var pdf = new Converters.PdfProvider();
var providers = new IConverterProvider[]
@ -22,6 +23,7 @@ public static class Everything2EverythingBootstrap
new Converters.DataProvider(),
new Converters.VectorProvider(),
new Converters.ImageOptimProvider(),
new Converters.LlmProvider(settings),
};
return new ConversionEngine(new ProviderRegistry(providers));
}