Outcome:
- Add LangChain4j as a dependency.
- Create
LangChain4jClientFactory with OpenAI only.
- Refactor
AIProxyClient to use the new factory behind a toggle.
- Validate completions, images, embeddings — same results as before.
- Backward compatibility: no config changes required for current OpenAI customers.
Additional Spike Task in Sprint 1:
-
Spike: Research & prototype how dotAI config will handle multiple provider-specific secrets and settings.
-
Dynamic config vs. multiple apps.
-
Where secrets live (per host, environment).
-
Short doc + prototype: switch ProviderType → correct config loads.
Why:
- Proves the LangChain4j abstraction works.
- No regressions for existing OpenAI customers.
- Gets early answers to the biggest architecture risk — without blocking delivery.
Related Epic: #32634