Fix: prompt template overrides (#136)

* Added single-target command-line config generator.  Mainly using for
testing ATM.

* Slightly tweak the config decode so that components can over-ride the
'with' method which injects parameters.

* Deliberately break the prompt-generic template.  Could do better, this
is temporary.

* Add 'prompt-overrides' component, injects new prompts.

* Removed prompt generic reference, not used

* prompt-generic is no longer supported
This commit is contained in:
cybermaggedon 2024-11-05 21:17:34 +00:00 committed by GitHub
parent 8a2126bba5
commit 53c958aaff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 188 additions and 91 deletions

View file

@ -1,81 +0,0 @@
local base = import "base/base.jsonnet";
local images = import "values/images.jsonnet";
local url = import "values/url.jsonnet";
local prompts = import "prompts/mixtral.jsonnet";
{
"prompt" +: {
create:: function(engine)
local container =
engine.container("prompt")
.with_image(images.trustgraph)
.with_command([
"prompt-generic",
"-p",
url.pulsar,
"--text-completion-request-queue",
"non-persistent://tg/request/text-completion",
"--text-completion-response-queue",
"non-persistent://tg/response/text-completion-response",
])
.with_limits("0.5", "128M")
.with_reservations("0.1", "128M");
local containerSet = engine.containers(
"prompt", [ container ]
);
local service =
engine.internalService(containerSet)
.with_port(8080, 8080, "metrics");
engine.resources([
containerSet,
service,
])
},
"prompt-rag" +: {
create:: function(engine)
local container =
engine.container("prompt-rag")
.with_image(images.trustgraph)
.with_command([
"prompt-generic",
"-p",
url.pulsar,
"-i",
"non-persistent://tg/request/prompt-rag",
"-o",
"non-persistent://tg/response/prompt-rag-response",
"--text-completion-request-queue",
"non-persistent://tg/request/text-completion-rag",
"--text-completion-response-queue",
"non-persistent://tg/response/text-completion-rag-response",
])
.with_limits("0.5", "128M")
.with_reservations("0.1", "128M");
local containerSet = engine.containers(
"prompt-rag", [ container ]
);
local service =
engine.internalService(containerSet)
.with_port(8080, 8080, "metrics");
engine.resources([
containerSet,
service,
])
},
}

View file

@ -0,0 +1,28 @@
local base = import "base/base.jsonnet";
local images = import "values/images.jsonnet";
local url = import "values/url.jsonnet";
local prompts = import "prompts/mixtral.jsonnet";
local default_prompts = import "prompts/default-prompts.jsonnet";
{
with:: function(key, value)
if (key == "system-template") then
self + {
prompts +:: {
"system-template": value,
}
}
else
self + {
prompts +:: {
templates +:: {
[key]: {
prompt +:: value
}
}
}
},
} + default_prompts