From edcdc4d59d395b2c3369e48efdda9aab6549ba77 Mon Sep 17 00:00:00 2001 From: cybermaggedon Date: Tue, 28 Jan 2025 19:36:05 +0000 Subject: [PATCH] Feature/separate containers (#287) * Separate containerfiles * Add push to Makefile * Update image names in the templates --- Makefile | 20 ++++- containers/Containerfile.base | 48 ++++++++++++ containers/Containerfile.bedrock | 48 ++++++++++++ containers/Containerfile.flow | 60 +++++++++++++++ containers/Containerfile.hf | 75 +++++++++++++++++++ containers/Containerfile.vertexai | 51 +++++++++++++ .../components/agent-manager-react.jsonnet | 2 +- templates/components/azure-openai-rag.jsonnet | 2 +- templates/components/azure-openai.jsonnet | 2 +- templates/components/azure-rag.jsonnet | 2 +- templates/components/azure.jsonnet | 2 +- templates/components/bedrock-rag.jsonnet | 2 +- templates/components/bedrock.jsonnet | 2 +- templates/components/cassandra.jsonnet | 4 +- .../components/chunker-recursive.jsonnet | 2 +- templates/components/claude-rag.jsonnet | 2 +- templates/components/claude.jsonnet | 2 +- templates/components/cohere-rag.jsonnet | 2 +- templates/components/cohere.jsonnet | 2 +- templates/components/document-rag.jsonnet | 4 +- .../components/embeddings-fastembed.jsonnet | 2 +- templates/components/embeddings-hf.jsonnet | 2 +- .../components/embeddings-ollama.jsonnet | 2 +- templates/components/falkordb.jsonnet | 4 +- .../components/googleaistudio-rag.jsonnet | 2 +- templates/components/googleaistudio.jsonnet | 2 +- templates/components/graph-rag.jsonnet | 10 +-- templates/components/llamafile-rag.jsonnet | 2 +- templates/components/llamafile.jsonnet | 2 +- templates/components/memgraph.jsonnet | 4 +- templates/components/milvus.jsonnet | 8 +- templates/components/neo4j.jsonnet | 4 +- templates/components/ollama-rag.jsonnet | 2 +- templates/components/ollama.jsonnet | 2 +- templates/components/openai-rag.jsonnet | 2 +- templates/components/openai.jsonnet | 2 +- templates/components/pinecone.jsonnet | 8 +- templates/components/prompt-template.jsonnet | 4 +- templates/components/pulsar.jsonnet | 2 +- templates/components/qdrant.jsonnet | 8 +- templates/components/trustgraph.jsonnet | 10 +-- templates/components/vertexai-rag.jsonnet | 2 +- templates/components/vertexai.jsonnet | 2 +- templates/values/images.jsonnet | 6 +- 44 files changed, 363 insertions(+), 65 deletions(-) create mode 100644 containers/Containerfile.base create mode 100644 containers/Containerfile.bedrock create mode 100644 containers/Containerfile.flow create mode 100644 containers/Containerfile.hf create mode 100644 containers/Containerfile.vertexai diff --git a/Makefile b/Makefile index f408a31f..80cdefc7 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ packages: update-package-versions pypi-upload: twine upload dist/*-${VERSION}.* -CONTAINER=docker.io/trustgraph/trustgraph-flow +CONTAINER_BASE=docker.io/trustgraph update-package-versions: mkdir -p trustgraph-cli/trustgraph @@ -44,11 +44,23 @@ update-package-versions: echo __version__ = \"${VERSION}\" > trustgraph/trustgraph/trustgraph_version.py container: update-package-versions - ${DOCKER} build -f Containerfile -t ${CONTAINER}:${VERSION} \ - --format docker + ${DOCKER} build -f containers/Containerfile.base \ + -t ${CONTAINER_BASE}/trustgraph-base:${VERSION} . + ${DOCKER} build -f containers/Containerfile.flow \ + -t ${CONTAINER_BASE}/trustgraph-flow:${VERSION} . + ${DOCKER} build -f containers/Containerfile.bedrock \ + -t ${CONTAINER_BASE}/trustgraph-bedrock:${VERSION} . + ${DOCKER} build -f containers/Containerfile.vertexai \ + -t ${CONTAINER_BASE}/trustgraph-vertexai:${VERSION} . + ${DOCKER} build -f containers/Containerfile.hf \ + -t ${CONTAINER_BASE}/trustgraph-hf:${VERSION} . push: - ${DOCKER} push ${CONTAINER}:${VERSION} + ${DOCKER} push ${CONTAINER_BASE}/trustgraph-base:${VERSION} + ${DOCKER} push ${CONTAINER_BASE}/trustgraph-flow:${VERSION} + ${DOCKER} push ${CONTAINER_BASE}/trustgraph-bedrock:${VERSION} + ${DOCKER} push ${CONTAINER_BASE}/trustgraph-vertexai:${VERSION} + ${DOCKER} push ${CONTAINER_BASE}/trustgraph-hf:${VERSION} clean: rm -rf wheels/ diff --git a/containers/Containerfile.base b/containers/Containerfile.base new file mode 100644 index 00000000..b4f5bbbf --- /dev/null +++ b/containers/Containerfile.base @@ -0,0 +1,48 @@ + +# ---------------------------------------------------------------------------- +# Build an AI container. This does the torch install which is huge, and I +# like to avoid re-doing this. +# ---------------------------------------------------------------------------- + +FROM docker.io/fedora:40 AS base + +ENV PIP_BREAK_SYSTEM_PACKAGES=1 + +RUN dnf install -y python3 python3-pip python3-wheel python3-aiohttp && \ + dnf clean all + +RUN pip3 install --no-cache-dir pulsar-client==3.5.0 + +# ---------------------------------------------------------------------------- +# Build a container which contains the built Python packages. The build +# creates a bunch of left-over cruft, a separate phase means this is only +# needed to support package build +# ---------------------------------------------------------------------------- + +FROM base AS build + +COPY trustgraph-base/ /root/build/trustgraph-base/ +COPY trustgraph-cli/ /root/build/trustgraph-cli/ + +WORKDIR /root/build/ + +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-base/ +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-cli/ + +# ---------------------------------------------------------------------------- +# Finally, the target container. Start with base and add the package. +# ---------------------------------------------------------------------------- + +FROM base + +COPY --from=build /root/wheels /root/wheels + +RUN \ + pip3 install --no-cache-dir /root/wheels/trustgraph_base-* && \ + pip3 install --no-cache-dir /root/wheels/trustgraph_cli-* && \ + rm -rf /root/wheels + +WORKDIR / + + + diff --git a/containers/Containerfile.bedrock b/containers/Containerfile.bedrock new file mode 100644 index 00000000..21819973 --- /dev/null +++ b/containers/Containerfile.bedrock @@ -0,0 +1,48 @@ + +# ---------------------------------------------------------------------------- +# Build an AI container. This does the torch install which is huge, and I +# like to avoid re-doing this. +# ---------------------------------------------------------------------------- + +FROM docker.io/fedora:40 AS base + +ENV PIP_BREAK_SYSTEM_PACKAGES=1 + +RUN dnf install -y python3 python3-pip python3-wheel python3-aiohttp \ + python3-rdflib + +RUN pip3 install --no-cache-dir boto3 pulsar-client==3.5.0 + +# ---------------------------------------------------------------------------- +# Build a container which contains the built Python packages. The build +# creates a bunch of left-over cruft, a separate phase means this is only +# needed to support package build +# ---------------------------------------------------------------------------- + +FROM base AS build + +COPY trustgraph-base/ /root/build/trustgraph-base/ +COPY trustgraph-bedrock/ /root/build/trustgraph-bedrock/ + +WORKDIR /root/build/ + +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-base/ +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-bedrock/ + +RUN ls /root/wheels + +# ---------------------------------------------------------------------------- +# Finally, the target container. Start with base and add the package. +# ---------------------------------------------------------------------------- + +FROM base + +COPY --from=build /root/wheels /root/wheels + +RUN \ + pip3 install --no-cache-dir /root/wheels/trustgraph_base-* && \ + pip3 install --no-cache-dir /root/wheels/trustgraph_bedrock-* && \ + rm -rf /root/wheels + +WORKDIR / + diff --git a/containers/Containerfile.flow b/containers/Containerfile.flow new file mode 100644 index 00000000..8d47effe --- /dev/null +++ b/containers/Containerfile.flow @@ -0,0 +1,60 @@ + +# ---------------------------------------------------------------------------- +# Build an AI container. This does the torch install which is huge, and I +# like to avoid re-doing this. +# ---------------------------------------------------------------------------- + +FROM docker.io/fedora:40 AS base + +ENV PIP_BREAK_SYSTEM_PACKAGES=1 + +RUN dnf install -y python3 python3-pip python3-wheel python3-aiohttp \ + python3-rdflib + +RUN pip3 install --no-cache-dir \ + anthropic cohere openai google-generativeai \ + ollama \ + langchain==0.3.13 langchain-core==0.3.28 \ + langchain-text-splitters==0.3.4 \ + langchain-community==0.3.13 \ + pymilvus \ + pulsar-client==3.5.0 cassandra-driver pyyaml \ + neo4j tiktoken falkordb && \ + pip3 cache purge + +# ---------------------------------------------------------------------------- +# Build a container which contains the built Python packages. The build +# creates a bunch of left-over cruft, a separate phase means this is only +# needed to support package build +# ---------------------------------------------------------------------------- + +FROM base AS build + +COPY trustgraph-base/ /root/build/trustgraph-base/ +COPY trustgraph-flow/ /root/build/trustgraph-flow/ +COPY trustgraph-cli/ /root/build/trustgraph-cli/ + +WORKDIR /root/build/ + +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-base/ +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-flow/ +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-cli/ + +RUN ls /root/wheels + +# ---------------------------------------------------------------------------- +# Finally, the target container. Start with base and add the package. +# ---------------------------------------------------------------------------- + +FROM base + +COPY --from=build /root/wheels /root/wheels + +RUN \ + pip3 install --no-cache-dir /root/wheels/trustgraph_base-* && \ + pip3 install --no-cache-dir /root/wheels/trustgraph_flow-* && \ + pip3 install --no-cache-dir /root/wheels/trustgraph_cli-* && \ + rm -rf /root/wheels + +WORKDIR / + diff --git a/containers/Containerfile.hf b/containers/Containerfile.hf new file mode 100644 index 00000000..4076db28 --- /dev/null +++ b/containers/Containerfile.hf @@ -0,0 +1,75 @@ + +# ---------------------------------------------------------------------------- +# Build an AI container. This does the torch install which is huge, and I +# like to avoid re-doing this. +# ---------------------------------------------------------------------------- + +FROM docker.io/fedora:40 AS ai + +ENV PIP_BREAK_SYSTEM_PACKAGES=1 + +RUN dnf install -y python3 python3-pip python3-wheel python3-aiohttp \ + python3-rdflib + +RUN pip3 install torch==2.5.1+cpu \ + --index-url https://download.pytorch.org/whl/cpu + +RUN pip3 install --no-cache-dir \ + langchain==0.3.13 langchain-core==0.3.28 langchain-huggingface==0.1.2 \ + langchain-community==0.3.13 \ + sentence-transformers==3.4.0 transformers==4.47.1 \ + huggingface-hub==0.27.0 \ + pulsar-client==3.5.0 + +# Most commonly used embeddings model, just build it into the container +# image +RUN huggingface-cli download sentence-transformers/all-MiniLM-L6-v2 + +# ---------------------------------------------------------------------------- +# Build a container which contains the built Python packages. The build +# creates a bunch of left-over cruft, a separate phase means this is only +# needed to support package build +# ---------------------------------------------------------------------------- + +FROM ai AS build + +COPY trustgraph-base/ /root/build/trustgraph-base/ +COPY trustgraph-flow/ /root/build/trustgraph-flow/ +COPY trustgraph-vertexai/ /root/build/trustgraph-vertexai/ +COPY trustgraph-bedrock/ /root/build/trustgraph-bedrock/ +COPY trustgraph-embeddings-hf/ /root/build/trustgraph-embeddings-hf/ +COPY trustgraph-cli/ /root/build/trustgraph-cli/ + +WORKDIR /root/build/ + +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-base/ +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-flow/ +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-vertexai/ +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-bedrock/ +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-embeddings-hf/ +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-cli/ + +RUN ls /root/wheels + +# ---------------------------------------------------------------------------- +# Finally, the target container. Start with base and add the package. +# ---------------------------------------------------------------------------- + +FROM ai + +COPY --from=build /root/wheels /root/wheels + +RUN \ + pip3 install /root/wheels/trustgraph_base-* && \ + pip3 install /root/wheels/trustgraph_flow-* && \ + pip3 install /root/wheels/trustgraph_vertexai-* && \ + pip3 install /root/wheels/trustgraph_bedrock-* && \ + pip3 install /root/wheels/trustgraph_embeddings_hf-* && \ + pip3 install /root/wheels/trustgraph_cli-* && \ + pip3 cache purge && \ + rm -rf /root/wheels + +WORKDIR / + +CMD sleep 1000000 + diff --git a/containers/Containerfile.vertexai b/containers/Containerfile.vertexai new file mode 100644 index 00000000..72d21bde --- /dev/null +++ b/containers/Containerfile.vertexai @@ -0,0 +1,51 @@ + +# ---------------------------------------------------------------------------- +# Build an AI container. This does the torch install which is huge, and I +# like to avoid re-doing this. +# ---------------------------------------------------------------------------- + +FROM docker.io/fedora:40 AS base + +ENV PIP_BREAK_SYSTEM_PACKAGES=1 + +RUN dnf install -y python3 python3-pip python3-wheel python3-aiohttp \ + python3-rdflib + +RUN pip3 install --no-cache-dir \ + google-cloud-aiplatform pulsar-client==3.5.0 + +# ---------------------------------------------------------------------------- +# Build a container which contains the built Python packages. The build +# creates a bunch of left-over cruft, a separate phase means this is only +# needed to support package build +# ---------------------------------------------------------------------------- + +FROM base AS build + +COPY trustgraph-base/ /root/build/trustgraph-base/ +COPY trustgraph-vertexai/ /root/build/trustgraph-vertexai/ + +WORKDIR /root/build/ + +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-base/ +RUN pip3 wheel -w /root/wheels/ --no-deps ./trustgraph-vertexai/ + +RUN ls /root/wheels + +# ---------------------------------------------------------------------------- +# Finally, the target container. Start with base and add the package. +# ---------------------------------------------------------------------------- + +FROM base + +COPY --from=build /root/wheels /root/wheels + +RUN \ + pip3 install --no-cache-dir /root/wheels/trustgraph_base-* && \ + pip3 install --no-cache-dir /root/wheels/trustgraph_vertexai-* && \ + rm -rf /root/wheels + +WORKDIR / + + + diff --git a/templates/components/agent-manager-react.jsonnet b/templates/components/agent-manager-react.jsonnet index 5f252f8d..672a0439 100644 --- a/templates/components/agent-manager-react.jsonnet +++ b/templates/components/agent-manager-react.jsonnet @@ -14,7 +14,7 @@ local default_prompts = import "prompts/default-prompts.jsonnet"; local container = engine.container("agent-manager") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "agent-manager-react", "-p", diff --git a/templates/components/azure-openai-rag.jsonnet b/templates/components/azure-openai-rag.jsonnet index fab83266..33355707 100644 --- a/templates/components/azure-openai-rag.jsonnet +++ b/templates/components/azure-openai-rag.jsonnet @@ -23,7 +23,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local containerRag = engine.container("text-completion-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-azure", "-p", diff --git a/templates/components/azure-openai.jsonnet b/templates/components/azure-openai.jsonnet index f6bda306..3ecbbdac 100644 --- a/templates/components/azure-openai.jsonnet +++ b/templates/components/azure-openai.jsonnet @@ -23,7 +23,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("text-completion") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-azure-openai", "-p", diff --git a/templates/components/azure-rag.jsonnet b/templates/components/azure-rag.jsonnet index da2f1692..20b7306e 100644 --- a/templates/components/azure-rag.jsonnet +++ b/templates/components/azure-rag.jsonnet @@ -22,7 +22,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local containerRag = engine.container("text-completion-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-azure", "-p", diff --git a/templates/components/azure.jsonnet b/templates/components/azure.jsonnet index bd364d8d..c7746e23 100644 --- a/templates/components/azure.jsonnet +++ b/templates/components/azure.jsonnet @@ -22,7 +22,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("text-completion") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-azure", "-p", diff --git a/templates/components/bedrock-rag.jsonnet b/templates/components/bedrock-rag.jsonnet index 68aa9b0a..bc94c8ee 100644 --- a/templates/components/bedrock-rag.jsonnet +++ b/templates/components/bedrock-rag.jsonnet @@ -26,7 +26,7 @@ local chunker = import "chunker-recursive.jsonnet"; local containerRag = engine.container("text-completion-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_bedrock) .with_command([ "text-completion-bedrock", "-p", diff --git a/templates/components/bedrock.jsonnet b/templates/components/bedrock.jsonnet index 922e0409..bb70d55f 100644 --- a/templates/components/bedrock.jsonnet +++ b/templates/components/bedrock.jsonnet @@ -26,7 +26,7 @@ local chunker = import "chunker-recursive.jsonnet"; local container = engine.container("text-completion") - .with_image(images.trustgraph) + .with_image(images.trustgraph_bedrock) .with_command([ "text-completion-bedrock", "-p", diff --git a/templates/components/cassandra.jsonnet b/templates/components/cassandra.jsonnet index b52d4b04..92ecf69f 100644 --- a/templates/components/cassandra.jsonnet +++ b/templates/components/cassandra.jsonnet @@ -12,7 +12,7 @@ cassandra + { local container = engine.container("store-triples") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "triples-write-cassandra", "-p", @@ -44,7 +44,7 @@ cassandra + { local container = engine.container("query-triples") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "triples-query-cassandra", "-p", diff --git a/templates/components/chunker-recursive.jsonnet b/templates/components/chunker-recursive.jsonnet index 0b64b712..4a174366 100644 --- a/templates/components/chunker-recursive.jsonnet +++ b/templates/components/chunker-recursive.jsonnet @@ -14,7 +14,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("chunker") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "chunker-recursive", "-p", diff --git a/templates/components/claude-rag.jsonnet b/templates/components/claude-rag.jsonnet index 71a214fc..06d58db2 100644 --- a/templates/components/claude-rag.jsonnet +++ b/templates/components/claude-rag.jsonnet @@ -23,7 +23,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local containerRag = engine.container("text-completion-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-claude", "-p", diff --git a/templates/components/claude.jsonnet b/templates/components/claude.jsonnet index fd1650d2..e43e7504 100644 --- a/templates/components/claude.jsonnet +++ b/templates/components/claude.jsonnet @@ -23,7 +23,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("text-completion") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-claude", "-p", diff --git a/templates/components/cohere-rag.jsonnet b/templates/components/cohere-rag.jsonnet index 62829445..6a142519 100644 --- a/templates/components/cohere-rag.jsonnet +++ b/templates/components/cohere-rag.jsonnet @@ -21,7 +21,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local containerRag = engine.container("text-completion-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-cohere", "-p", diff --git a/templates/components/cohere.jsonnet b/templates/components/cohere.jsonnet index 2f559ad0..093436fd 100644 --- a/templates/components/cohere.jsonnet +++ b/templates/components/cohere.jsonnet @@ -21,7 +21,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("text-completion") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-cohere", "-p", diff --git a/templates/components/document-rag.jsonnet b/templates/components/document-rag.jsonnet index 11dc9c13..ec125ed5 100644 --- a/templates/components/document-rag.jsonnet +++ b/templates/components/document-rag.jsonnet @@ -11,7 +11,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("document-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "document-rag", "-p", @@ -45,7 +45,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("document-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "document-embeddings", "-p", diff --git a/templates/components/embeddings-fastembed.jsonnet b/templates/components/embeddings-fastembed.jsonnet index a515617f..c1fe35ff 100644 --- a/templates/components/embeddings-fastembed.jsonnet +++ b/templates/components/embeddings-fastembed.jsonnet @@ -13,7 +13,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "embeddings-fastembed", "-p", diff --git a/templates/components/embeddings-hf.jsonnet b/templates/components/embeddings-hf.jsonnet index b46feac7..29ebbc48 100644 --- a/templates/components/embeddings-hf.jsonnet +++ b/templates/components/embeddings-hf.jsonnet @@ -13,7 +13,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_hf) .with_command([ "embeddings-hf", "-p", diff --git a/templates/components/embeddings-ollama.jsonnet b/templates/components/embeddings-ollama.jsonnet index 425a1c47..a26ad0ba 100644 --- a/templates/components/embeddings-ollama.jsonnet +++ b/templates/components/embeddings-ollama.jsonnet @@ -13,7 +13,7 @@ local url = import "values/url.jsonnet"; local container = engine.container("embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "embeddings-ollama", "-p", diff --git a/templates/components/falkordb.jsonnet b/templates/components/falkordb.jsonnet index e238cebe..c08896d3 100644 --- a/templates/components/falkordb.jsonnet +++ b/templates/components/falkordb.jsonnet @@ -13,7 +13,7 @@ falkordb + { local container = engine.container("store-triples") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "triples-write-falkordb", "-p", @@ -45,7 +45,7 @@ falkordb + { local container = engine.container("query-triples") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "triples-query-falkordb", "-p", diff --git a/templates/components/googleaistudio-rag.jsonnet b/templates/components/googleaistudio-rag.jsonnet index 96d80273..332749e8 100644 --- a/templates/components/googleaistudio-rag.jsonnet +++ b/templates/components/googleaistudio-rag.jsonnet @@ -23,7 +23,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local containerRag = engine.container("text-completion-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-googleaistudio", "-p", diff --git a/templates/components/googleaistudio.jsonnet b/templates/components/googleaistudio.jsonnet index ac122243..58c7807d 100644 --- a/templates/components/googleaistudio.jsonnet +++ b/templates/components/googleaistudio.jsonnet @@ -23,7 +23,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("text-completion") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-googleaistudio", "-p", diff --git a/templates/components/graph-rag.jsonnet b/templates/components/graph-rag.jsonnet index eb72754e..27035b35 100644 --- a/templates/components/graph-rag.jsonnet +++ b/templates/components/graph-rag.jsonnet @@ -14,7 +14,7 @@ local url = import "values/url.jsonnet"; local container = engine.container("kg-extract-definitions") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "kg-extract-definitions", "-p", @@ -44,7 +44,7 @@ local url = import "values/url.jsonnet"; local container = engine.container("kg-extract-relationships") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "kg-extract-relationships", "-p", @@ -74,7 +74,7 @@ local url = import "values/url.jsonnet"; local container = engine.container("kg-extract-topics") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "kg-extract-topics", "-p", @@ -104,7 +104,7 @@ local url = import "values/url.jsonnet"; local container = engine.container("graph-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "graph-rag", "-p", @@ -144,7 +144,7 @@ local url = import "values/url.jsonnet"; local container = engine.container("graph-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "graph-embeddings", "-p", diff --git a/templates/components/llamafile-rag.jsonnet b/templates/components/llamafile-rag.jsonnet index 34af69d0..262f586e 100644 --- a/templates/components/llamafile-rag.jsonnet +++ b/templates/components/llamafile-rag.jsonnet @@ -21,7 +21,7 @@ local prompts = import "prompts/slm.jsonnet"; local containerRag = engine.container("text-completion-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-llamafile", "-p", diff --git a/templates/components/llamafile.jsonnet b/templates/components/llamafile.jsonnet index bc16dfaa..f3e1efd3 100644 --- a/templates/components/llamafile.jsonnet +++ b/templates/components/llamafile.jsonnet @@ -21,7 +21,7 @@ local prompts = import "prompts/slm.jsonnet"; local container = engine.container("text-completion") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-llamafile", "-p", diff --git a/templates/components/memgraph.jsonnet b/templates/components/memgraph.jsonnet index 609da3a2..21684a61 100644 --- a/templates/components/memgraph.jsonnet +++ b/templates/components/memgraph.jsonnet @@ -14,7 +14,7 @@ memgraph + { local container = engine.container("store-triples") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "triples-write-memgraph", "-p", @@ -48,7 +48,7 @@ memgraph + { local container = engine.container("query-triples") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "triples-query-memgraph", "-p", diff --git a/templates/components/milvus.jsonnet b/templates/components/milvus.jsonnet index b3044f98..27e5e316 100644 --- a/templates/components/milvus.jsonnet +++ b/templates/components/milvus.jsonnet @@ -12,7 +12,7 @@ milvus + { local container = engine.container("store-graph-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "ge-write-milvus", "-p", @@ -44,7 +44,7 @@ milvus + { local container = engine.container("query-graph-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "ge-query-milvus", "-p", @@ -76,7 +76,7 @@ milvus + { local container = engine.container("store-doc-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "de-write-milvus", "-p", @@ -108,7 +108,7 @@ milvus + { local container = engine.container("query-doc-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "de-query-milvus", "-p", diff --git a/templates/components/neo4j.jsonnet b/templates/components/neo4j.jsonnet index b70562fe..7cebdc71 100644 --- a/templates/components/neo4j.jsonnet +++ b/templates/components/neo4j.jsonnet @@ -13,7 +13,7 @@ neo4j + { local container = engine.container("store-triples") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "triples-write-neo4j", "-p", @@ -45,7 +45,7 @@ neo4j + { local container = engine.container("query-triples") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "triples-query-neo4j", "-p", diff --git a/templates/components/ollama-rag.jsonnet b/templates/components/ollama-rag.jsonnet index e3ca97aa..680adea5 100644 --- a/templates/components/ollama-rag.jsonnet +++ b/templates/components/ollama-rag.jsonnet @@ -21,7 +21,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local containerRag = engine.container("text-completion-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-ollama", "-p", diff --git a/templates/components/ollama.jsonnet b/templates/components/ollama.jsonnet index 28bf36b9..95f1abf0 100644 --- a/templates/components/ollama.jsonnet +++ b/templates/components/ollama.jsonnet @@ -21,7 +21,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("text-completion") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-ollama", "-p", diff --git a/templates/components/openai-rag.jsonnet b/templates/components/openai-rag.jsonnet index d9ecd964..bfb7dd98 100644 --- a/templates/components/openai-rag.jsonnet +++ b/templates/components/openai-rag.jsonnet @@ -23,7 +23,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local containerRag = engine.container("text-completion-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-openai", "-p", diff --git a/templates/components/openai.jsonnet b/templates/components/openai.jsonnet index 50194bfc..9e0212d2 100644 --- a/templates/components/openai.jsonnet +++ b/templates/components/openai.jsonnet @@ -23,7 +23,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("text-completion") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "text-completion-openai", "-p", diff --git a/templates/components/pinecone.jsonnet b/templates/components/pinecone.jsonnet index 3422952a..ede383a5 100644 --- a/templates/components/pinecone.jsonnet +++ b/templates/components/pinecone.jsonnet @@ -17,7 +17,7 @@ local cassandra_hosts = "cassandra"; local container = engine.container("store-graph-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "ge-write-pinecone", "-p", @@ -52,7 +52,7 @@ local cassandra_hosts = "cassandra"; local container = engine.container("query-graph-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "ge-query-pinecone", "-p", @@ -87,7 +87,7 @@ local cassandra_hosts = "cassandra"; local container = engine.container("store-doc-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "de-write-pinecone", "-p", @@ -122,7 +122,7 @@ local cassandra_hosts = "cassandra"; local container = engine.container("query-doc-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "de-query-pinecone", "-p", diff --git a/templates/components/prompt-template.jsonnet b/templates/components/prompt-template.jsonnet index 3dadf337..b3187c9b 100644 --- a/templates/components/prompt-template.jsonnet +++ b/templates/components/prompt-template.jsonnet @@ -44,7 +44,7 @@ local default_prompts = import "prompts/default-prompts.jsonnet"; local container = engine.container("prompt") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "prompt-template", "-p", @@ -84,7 +84,7 @@ local default_prompts = import "prompts/default-prompts.jsonnet"; local container = engine.container("prompt-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "prompt-template", "-p", diff --git a/templates/components/pulsar.jsonnet b/templates/components/pulsar.jsonnet index 67e970c5..d111f616 100644 --- a/templates/components/pulsar.jsonnet +++ b/templates/components/pulsar.jsonnet @@ -109,7 +109,7 @@ local url = import "values/url.jsonnet"; // Trustgraph Pulsar initialisation local adminContainer = engine.container("init-trustgraph") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "tg-init-pulsar", "-p", diff --git a/templates/components/qdrant.jsonnet b/templates/components/qdrant.jsonnet index f923e84f..352cb741 100644 --- a/templates/components/qdrant.jsonnet +++ b/templates/components/qdrant.jsonnet @@ -12,7 +12,7 @@ qdrant + { local container = engine.container("store-graph-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "ge-write-qdrant", "-p", @@ -44,7 +44,7 @@ qdrant + { local container = engine.container("query-graph-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "ge-query-qdrant", "-p", @@ -76,7 +76,7 @@ qdrant + { local container = engine.container("store-doc-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "de-write-qdrant", "-p", @@ -108,7 +108,7 @@ qdrant + { local container = engine.container("query-doc-embeddings") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "de-query-qdrant", "-p", diff --git a/templates/components/trustgraph.jsonnet b/templates/components/trustgraph.jsonnet index f63740aa..833d932b 100644 --- a/templates/components/trustgraph.jsonnet +++ b/templates/components/trustgraph.jsonnet @@ -21,7 +21,7 @@ local url = import "values/url.jsonnet"; local container = engine.container("api-gateway") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "api-gateway", "-p", @@ -60,7 +60,7 @@ local url = import "values/url.jsonnet"; local container = engine.container("chunker") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "chunker-token", "-p", @@ -94,7 +94,7 @@ local url = import "values/url.jsonnet"; local container = engine.container("pdf-decoder") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "pdf-decoder", "-p", @@ -124,7 +124,7 @@ local url = import "values/url.jsonnet"; local container = engine.container("metering") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "metering", "-p", @@ -154,7 +154,7 @@ local url = import "values/url.jsonnet"; local container = engine.container("metering-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_flow) .with_command([ "metering", "-p", diff --git a/templates/components/vertexai-rag.jsonnet b/templates/components/vertexai-rag.jsonnet index 9c7eaa00..0b5cf9a3 100644 --- a/templates/components/vertexai-rag.jsonnet +++ b/templates/components/vertexai-rag.jsonnet @@ -30,7 +30,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("text-completion-rag") - .with_image(images.trustgraph) + .with_image(images.trustgraph_vertexai) .with_command([ "text-completion-vertexai", "-p", diff --git a/templates/components/vertexai.jsonnet b/templates/components/vertexai.jsonnet index 49243701..0e3550c5 100644 --- a/templates/components/vertexai.jsonnet +++ b/templates/components/vertexai.jsonnet @@ -30,7 +30,7 @@ local prompts = import "prompts/mixtral.jsonnet"; local container = engine.container("text-completion") - .with_image(images.trustgraph) + .with_image(images.trustgraph_vertexai) .with_command([ "text-completion-vertexai", "-p", diff --git a/templates/values/images.jsonnet b/templates/values/images.jsonnet index b0416eb3..d515a450 100644 --- a/templates/values/images.jsonnet +++ b/templates/values/images.jsonnet @@ -9,7 +9,11 @@ local version = import "version.jsonnet"; milvus: "docker.io/milvusdb/milvus:v2.4.9", prometheus: "docker.io/prom/prometheus:v2.53.2", grafana: "docker.io/grafana/grafana:11.1.4", - trustgraph: "docker.io/trustgraph/trustgraph-flow:" + version, + trustgraph_base: "docker.io/trustgraph/trustgraph-base:" + version, + trustgraph_flow: "docker.io/trustgraph/trustgraph-flow:" + version, + trustgraph_bedrock: "docker.io/trustgraph/trustgraph-bedrock:" + version, + trustgraph_vertexai: "docker.io/trustgraph/trustgraph-vertexai:" + version, + trustgraph_hf: "docker.io/trustgraph/trustgraph-hf:" + version, qdrant: "docker.io/qdrant/qdrant:v1.11.1", memgraph_mage: "docker.io/memgraph/memgraph-mage:1.22-memgraph-2.22", memgraph_lab: "docker.io/memgraph/lab:2.19.1",