mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-07 07:55:13 +02:00
fix(cli): force pathPrefix="" when targeting the managed embeddings daemon
The managed daemon serves /embeddings/compute directly. The default pathPrefix in @ktx/llm is /api, so omitting sentenceTransformers from ktx.yaml produced /api/embeddings/compute -> 404. The resolver now sets pathPrefix='' explicitly when wiring the managed daemon URL, matching what the daemon actually exposes.
This commit is contained in:
parent
ef4e113cfe
commit
95021d13ea
2 changed files with 22 additions and 0 deletions
|
|
@ -84,6 +84,27 @@ describe('resolveProjectEmbeddingProvider', () => {
|
|||
expect(ensureManaged).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('passes pathPrefix="" to the embedding provider when targeting the managed daemon', async () => {
|
||||
const project = projectWithConfig(withManagedEmbedding(buildDefaultKtxProjectConfig(), undefined));
|
||||
const tryUseManaged = vi.fn(async () => fakeDaemon);
|
||||
const createKtxEmbeddingProvider = vi.fn(() => ({ id: 'fake' }) as never);
|
||||
await resolveProjectEmbeddingProvider(project, {
|
||||
mode: 'use-if-running',
|
||||
cliVersion: '0.5.0',
|
||||
io: noopIo,
|
||||
createKtxEmbeddingProvider,
|
||||
tryUseManagedDaemon: tryUseManaged,
|
||||
});
|
||||
expect(createKtxEmbeddingProvider).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
sentenceTransformers: expect.objectContaining({
|
||||
baseURL: fakeDaemon.baseUrl,
|
||||
pathPrefix: '',
|
||||
}),
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
it('returns managed-unavailable when no daemon is running and mode is use-if-running', async () => {
|
||||
const project = projectWithConfig(withManagedEmbedding(buildDefaultKtxProjectConfig(), ''));
|
||||
const tryUseManaged = vi.fn(async () => null);
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ function buildManagedProvider(
|
|||
sentenceTransformers: {
|
||||
...embeddings.sentenceTransformers,
|
||||
base_url: baseUrl,
|
||||
pathPrefix: '',
|
||||
},
|
||||
};
|
||||
const resolved = resolveLocalKtxEmbeddingConfig(merged, process.env);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue