trustgraph/tg-launch-ollama-cassandra.yaml
cybermaggedon f081933217
Feature/subpackages (#80)
* Renaming what will become the core package

* Tweaking to get  package build working

* Fix metering merge

* Rename to core directory

* Bump version.  Use namespace searching for packaging trustgraph-core

* Change references to trustgraph-core

* Forming embeddings-hf package

* Reference modules in core package.

* Build both packages to one container, bump version

* Update YAMLs
2024-09-30 14:00:29 +01:00

467 lines
10 KiB
YAML

services:
cassandra:
deploy:
resources:
limits:
cpus: '1.0'
memory: 800M
reservations:
cpus: '0.5'
memory: 800M
environment:
JVM_OPTS: -Xms256M -Xmx256M
image: docker.io/cassandra:4.1.6
ports:
- 9042:9042
restart: on-failure:100
volumes:
- cassandra:/var/lib/cassandra
chunker:
command:
- chunker-token
- -p
- pulsar://pulsar:6650
- --chunk-size
- '250'
- --chunk-overlap
- '15'
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
embeddings:
command:
- embeddings-hf
- -p
- pulsar://pulsar:6650
- -m
- all-MiniLM-L6-v2
deploy:
resources:
limits:
cpus: '1.0'
memory: 400M
reservations:
cpus: '0.5'
memory: 400M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
grafana:
deploy:
resources:
limits:
cpus: '1.0'
memory: 256M
reservations:
cpus: '0.5'
memory: 256M
environment:
GF_ORG_NAME: trustgraph.ai
image: docker.io/grafana/grafana:11.1.4
ports:
- 3000:3000
restart: on-failure:100
volumes:
- grafana-storage:/var/lib/grafana
- ./grafana/provisioning/:/etc/grafana/provisioning/dashboards/
- ./grafana/provisioning/:/etc/grafana/provisioning/datasources/
- ./grafana/dashboards/:/var/lib/grafana/dashboards/
graph-rag:
command:
- graph-rag
- -p
- pulsar://pulsar:6650
- --prompt-request-queue
- non-persistent://tg/request/prompt-rag
- --prompt-response-queue
- non-persistent://tg/response/prompt-rag-response
- --entity-limit
- '50'
- --triple-limit
- '30'
- --max-subgraph-size
- '3000'
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
init-pulsar:
command:
- tg-init-pulsar
- -p
- http://pulsar:8080
deploy:
resources:
limits:
cpus: '1'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
kg-extract-definitions:
command:
- kg-extract-definitions
- -p
- pulsar://pulsar:6650
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
kg-extract-relationships:
command:
- kg-extract-relationships
- -p
- pulsar://pulsar:6650
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
kg-extract-topics:
command:
- kg-extract-topics
- -p
- pulsar://pulsar:6650
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
metering:
command:
- metering
- -p
- pulsar://pulsar:6650
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
metering-rag:
command:
- metering
- -p
- pulsar://pulsar:6650
- -i
- non-persistent://tg/response/text-completion-rag-response
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
pdf-decoder:
command:
- pdf-decoder
- -p
- pulsar://pulsar:6650
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
prometheus:
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/prom/prometheus:v2.53.2
ports:
- 9090:9090
restart: on-failure:100
volumes:
- ./prometheus:/etc/prometheus/
- prometheus-data:/prometheus
prompt:
command:
- prompt-generic
- -p
- pulsar://pulsar:6650
- --text-completion-request-queue
- non-persistent://tg/request/text-completion
- --text-completion-response-queue
- non-persistent://tg/response/text-completion-response
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
prompt-rag:
command:
- prompt-generic
- -p
- pulsar://pulsar:6650
- -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
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
pulsar:
command:
- bin/pulsar
- standalone
deploy:
resources:
limits:
cpus: '2.0'
memory: 1500M
reservations:
cpus: '1.0'
memory: 1500M
environment:
PULSAR_MEM: -Xms600M -Xmx600M
image: docker.io/apachepulsar/pulsar:3.3.1
ports:
- 6650:6650
- 8080:8080
restart: on-failure:100
volumes:
- pulsar-data:/pulsar/data
qdrant:
deploy:
resources:
limits:
cpus: '1.0'
memory: 256M
reservations:
cpus: '0.5'
memory: 256M
image: docker.io/qdrant/qdrant:v1.11.1
ports:
- 6333:6333
- 6334:6334
restart: on-failure:100
volumes:
- qdrant:/qdrant/storage
query-doc-embeddings:
command:
- de-query-qdrant
- -p
- pulsar://pulsar:6650
- -t
- http://qdrant:6333
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
query-graph-embeddings:
command:
- ge-query-qdrant
- -p
- pulsar://pulsar:6650
- -t
- http://qdrant:6333
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
query-triples:
command:
- triples-query-cassandra
- -p
- pulsar://pulsar:6650
- -g
- cassandra
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
reservations:
cpus: '0.1'
memory: 512M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
store-doc-embeddings:
command:
- de-write-qdrant
- -p
- pulsar://pulsar:6650
- -t
- http://qdrant:6333
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
store-graph-embeddings:
command:
- ge-write-qdrant
- -p
- pulsar://pulsar:6650
- -t
- http://qdrant:6333
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
store-triples:
command:
- triples-write-cassandra
- -p
- pulsar://pulsar:6650
- -g
- cassandra
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
text-completion:
command:
- text-completion-ollama
- -p
- pulsar://pulsar:6650
- -m
- gemma2:9b
- -r
- ${OLLAMA_HOST}
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
text-completion-rag:
command:
- text-completion-ollama
- -p
- pulsar://pulsar:6650
- -m
- gemma2:9b
- -r
- ${OLLAMA_HOST}
- -i
- non-persistent://tg/request/text-completion-rag
- -o
- non-persistent://tg/response/text-completion-rag-response
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
reservations:
cpus: '0.1'
memory: 128M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
vectorize:
command:
- embeddings-vectorize
- -p
- pulsar://pulsar:6650
deploy:
resources:
limits:
cpus: '1.0'
memory: 512M
reservations:
cpus: '0.5'
memory: 512M
image: docker.io/trustgraph/trustgraph-flow:0.11.6
restart: on-failure:100
volumes:
cassandra: {}
grafana-storage: {}
prometheus-data: {}
pulsar-data: {}
qdrant: {}