diff --git a/templates/components/cohere.jsonnet b/templates/components/cohere.jsonnet index f05cb635..c2027f3c 100644 --- a/templates/components/cohere.jsonnet +++ b/templates/components/cohere.jsonnet @@ -9,13 +9,15 @@ local prompts = import "prompts/mixtral.jsonnet"; "chunk-size":: 150, "chunk-overlap":: 10, - "cohere-key":: "${COHERE_KEY}", "cohere-temperature":: 0.0, "text-completion" +: { create:: function(engine) + local envSecrets = engine.envSecrets("cohere-credentials") + .with_env_var("COHERE_KEY", "cohere-key"); + local container = engine.container("text-completion") .with_image(images.trustgraph) @@ -23,42 +25,19 @@ local prompts = import "prompts/mixtral.jsonnet"; "text-completion-cohere", "-p", url.pulsar, - "-k", - $["cohere-key"], "-t", std.toString($["cohere-temperature"]), ]) .with_limits("0.5", "128M") .with_reservations("0.1", "128M"); - local containerSet = engine.containers( - "text-completion", [ container ] - ); - - local service = - engine.internalService(containerSet) - .with_port(8000, 8000, "metrics"); - - engine.resources([ - containerSet, - service, - ]) - - }, - - "text-completion-rag" +: { - - create:: function(engine) - - local container = + local containerRag = engine.container("text-completion-rag") .with_image(images.trustgraph) .with_command([ "text-completion-cohere", "-p", url.pulsar, - "-k", - $["cohere-key"], "-t", std.toString($["cohere-temperature"]), "-i", @@ -70,20 +49,30 @@ local prompts = import "prompts/mixtral.jsonnet"; .with_reservations("0.1", "128M"); local containerSet = engine.containers( - "text-completion-rag", [ container ] + "text-completion", [ container ] + ); + + local containerSetRag = engine.containers( + "text-completion-rag", [ containerRag ] ); local service = engine.internalService(containerSet) .with_port(8000, 8000, "metrics"); + local serviceRag = + engine.internalService(containerSetRag) + .with_port(8000, 8000, "metrics"); + engine.resources([ + envSecrets, containerSet, + containerSetRag, service, + serviceRag, ]) - - } + }, } + prompts diff --git a/templates/components/ollama.jsonnet b/templates/components/ollama.jsonnet index b0507cef..3e6cc91e 100644 --- a/templates/components/ollama.jsonnet +++ b/templates/components/ollama.jsonnet @@ -6,12 +6,14 @@ local prompts = import "prompts/slm.jsonnet"; { "ollama-model":: "gemma2:9b", - "ollama-url":: "${OLLAMA_HOST}", "text-completion" +: { create:: function(engine) + local envSecrets = engine.envSecrets("ollama-credentials") + .with_env_var("OLLAMA_HOST", "ollama-host"); + local container = engine.container("text-completion") .with_image(images.trustgraph) @@ -21,32 +23,12 @@ local prompts = import "prompts/slm.jsonnet"; url.pulsar, "-m", $["ollama-model"], - "-r", - $["ollama-url"], ]) + .with_env_var_secrets(envSecrets) .with_limits("0.5", "128M") .with_reservations("0.1", "128M"); - local containerSet = engine.containers( - "text-completion", [ container ] - ); - - local service = - engine.internalService(containerSet) - .with_port(8080, 8080, "metrics"); - - engine.resources([ - containerSet, - service, - ]) - - }, - - "text-completion-rag" +: { - - create:: function(engine) - - local container = + local containerRag = engine.container("text-completion-rag") .with_image(images.trustgraph) .with_command([ @@ -55,31 +37,40 @@ local prompts = import "prompts/slm.jsonnet"; url.pulsar, "-m", $["ollama-model"], - "-r", - $["ollama-url"], "-i", "non-persistent://tg/request/text-completion-rag", "-o", "non-persistent://tg/response/text-completion-rag-response", ]) + .with_env_var_secrets(envSecrets) .with_limits("0.5", "128M") .with_reservations("0.1", "128M"); local containerSet = engine.containers( - "text-completion-rag", [ container ] + "text-completion", [ container ] + ); + + local containerSetRag = engine.containers( + "text-completion-rag", [ containerRag ] ); local service = engine.internalService(containerSet) .with_port(8080, 8080, "metrics"); + local serviceRag = + engine.internalService(containerSetRag) + .with_port(8080, 8080, "metrics"); + engine.resources([ + envSecrets, containerSet, + containerSetRag, service, + serviceRag, ]) - - } + }, } + prompts diff --git a/templates/components/openai.jsonnet b/templates/components/openai.jsonnet index 3d1a2b73..74290420 100644 --- a/templates/components/openai.jsonnet +++ b/templates/components/openai.jsonnet @@ -5,7 +5,6 @@ local prompts = import "prompts/mixtral.jsonnet"; { - "openai-key":: "${OPENAI_KEY}", "openai-max-output-tokens":: 4096, "openai-temperature":: 0.0, "openai-model":: "GPT-3.5-Turbo", @@ -14,6 +13,9 @@ local prompts = import "prompts/mixtral.jsonnet"; create:: function(engine) + local envSecrets = engine.envSecrets("openai-credentials") + .with_env_var("OPENAI_TOKEN", "openai-token"); + local container = engine.container("text-completion") .with_image(images.trustgraph) @@ -21,8 +23,6 @@ local prompts = import "prompts/mixtral.jsonnet"; "text-completion-openai", "-p", url.pulsar, - "-k", - $["openai-key"], "-x", std.toString($["openai-max-output-tokens"]), "-t", @@ -30,37 +30,17 @@ local prompts = import "prompts/mixtral.jsonnet"; "-m", $["openai-model"], ]) + .with_env_var_secrets(envSecrets) .with_limits("0.5", "128M") .with_reservations("0.1", "128M"); - local containerSet = engine.containers( - "text-completion", [ container ] - ); - - local service = - engine.internalService(containerSet) - .with_port(8080, 8080, "metrics"); - - engine.resources([ - containerSet, - service, - ]) - - }, - - "text-completion-rag" +: { - - create:: function(engine) - - local container = + local containerRag = engine.container("text-completion-rag") .with_image(images.trustgraph) .with_command([ "text-completion-openai", "-p", url.pulsar, - "-k", - $["openai-key"], "-x", std.toString($["openai-max-output-tokens"]), "-t", @@ -72,24 +52,35 @@ local prompts = import "prompts/mixtral.jsonnet"; "-o", "non-persistent://tg/response/text-completion-rag-response", ]) + .with_env_var_secrets(envSecrets) .with_limits("0.5", "128M") .with_reservations("0.1", "128M"); local containerSet = engine.containers( - "text-completion-rag", [ container ] + "text-completion", [ container ] + ); + + local containerSetRag = engine.containers( + "text-completion-rag", [ containerRag ] ); local service = engine.internalService(containerSet) .with_port(8080, 8080, "metrics"); + local serviceRag = + engine.internalService(containerSetRag) + .with_port(8080, 8080, "metrics"); + engine.resources([ + envSecrets, containerSet, + containerSetRag, service, + serviceRag, ]) - - } + }, } + prompts