Skip to content

Build against embabel-agent 2.0 capability traits - #58

Draft
jasperblues wants to merge 2 commits into
mainfrom
capability-traits-2.0
Draft

jasperblues wants to merge 2 commits into
mainfrom
capability-traits-2.0

Conversation

@jasperblues

@jasperblues jasperblues commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Shows what the embabel-agent 2.0 capability-traits stack (embabel/embabel-agent#2185) changes for Guide. Nothing has to change. One optional cleanup is included.

Do not merge. The PR builds against 1.5.4-capability-traits-SNAPSHOT, a local install of the stack, so CI cannot resolve it. When 2.0 is released, change the version to 2.0 and merge.

Commit 1: version bump only. Guide compiles, and all 183 tests pass, with no code changes. Guide calls models through Ai, PromptRunner and withLlmService, and the stack leaves those unchanged.

Commit 2 (optional): chat models through the named platforms.

  • Before: UserModelFactory built each provider's chat model itself, with Mistral's and DeepSeek's base URLs written into Guide.
  • Now: it asks the platform for the user's provider: OpenAiPlatform, AnthropicPlatform, MistralAiPlatform or DeepSeekPlatform. The endpoints live in embabel-agent.
val (platform, providerName) = when (provider) {
    LlmProvider.OPENAI -> OpenAiPlatform() to OpenAiModels.PROVIDER
    LlmProvider.ANTHROPIC -> AnthropicPlatform() to AnthropicModels.PROVIDER
    LlmProvider.MISTRAL -> MistralAiPlatform() to MistralAiModels.PROVIDER
    LlmProvider.DEEPSEEK -> DeepSeekPlatform() to DeepSeekModels.PROVIDER
}
return requireNotNull(platform.model(ProviderCredential(providerName, apiKey), LlmService.KIND, model)) { ... }

Guide's cache and key validation are unchanged. All 183 tests pass, including UserModelFactoryTest, which builds a model for each provider.

A live check with an OpenAI key also passed: validateKey accepted the key, and the chat model built through OpenAiPlatform answered a prompt. The check is not committed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant