mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-25 00:16:23 +02:00
Added GCP and Minikube output (#59)
* Added a config to create Minikube k8s, uses hostpath volumes * Reworked templater to produce docker compose and minikube output * Fix config templates
This commit is contained in:
parent
f661791bbf
commit
0ae6feddb0
62 changed files with 37961 additions and 7077 deletions
47
Makefile
47
Makefile
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
# VERSION=$(shell git describe | sed 's/^v//')
|
||||
VERSION=0.9.3
|
||||
VERSION=0.10.0
|
||||
|
||||
DOCKER=podman
|
||||
|
||||
|
|
@ -50,29 +50,54 @@ VECTORDB=qdrant
|
|||
JSONNET_FLAGS=-J templates -J .
|
||||
|
||||
|
||||
update-templates: set-version
|
||||
update-templates: update-dcs update-minikubes
|
||||
|
||||
JSON_TO_YAML=python3 -c 'import sys, yaml, json; j=json.loads(sys.stdin.read()); print(yaml.safe_dump(j))'
|
||||
# JSON_TO_YAML=cat
|
||||
|
||||
update-dcs: set-version
|
||||
rm -rf deploy
|
||||
mkdir -p deploy/docker-compose deploy/minikube
|
||||
for graph in ${GRAPHS}; do \
|
||||
cm=$${graph},pulsar,${VECTORDB},grafana; \
|
||||
input=templates/main.jsonnet; \
|
||||
output=tg-storage-$${graph}.yaml; \
|
||||
input=templates/opts-to-docker-compose.jsonnet; \
|
||||
output=deploy/docker-compose/tg-storage-$${graph}.yaml; \
|
||||
echo $${graph} '->' $${output}; \
|
||||
jsonnet ${JSONNET_FLAGS} \
|
||||
--ext-str options=$${cm} -S $${input} > $${output}; \
|
||||
--ext-str options=$${cm} $${input} | \
|
||||
${JSON_TO_YAML} > $${output}; \
|
||||
done
|
||||
for model in ${MODELS}; do \
|
||||
for graph in ${GRAPHS}; do \
|
||||
cm=$${graph},pulsar,${VECTORDB},embeddings-hf,graph-rag,grafana,trustgraph,$${model}; \
|
||||
input=templates/main.jsonnet; \
|
||||
output=tg-launch-$${model}-$${graph}.yaml; \
|
||||
input=templates/opts-to-docker-compose.jsonnet; \
|
||||
output=deploy/docker-compose/tg-launch-$${model}-$${graph}.yaml; \
|
||||
echo $${model} + $${graph} '->' $${output}; \
|
||||
jsonnet ${JSONNET_FLAGS} \
|
||||
--ext-str options=$${cm} -S $${input} > $${output}; \
|
||||
--ext-str options=$${cm} $${input} | \
|
||||
${JSON_TO_YAML} > $${output}; \
|
||||
done; \
|
||||
done
|
||||
|
||||
config.yaml: config.json FORCE
|
||||
jsonnet -J . -J templates/ templates/config-to-k8s.jsonnet | \
|
||||
python3 -c 'import sys, yaml, json; j=json.loads(sys.stdin.read()); print(yaml.safe_dump(j))' > $@
|
||||
update-minikubes: set-version
|
||||
for model in ${MODELS}; do \
|
||||
for graph in ${GRAPHS}; do \
|
||||
cm=$${graph},pulsar,${VECTORDB},embeddings-hf,graph-rag,grafana,trustgraph,$${model}; \
|
||||
input=templates/opts-to-minikube-k8s.jsonnet; \
|
||||
output=deploy/minikube/tg-launch-$${model}-$${graph}.yaml; \
|
||||
echo $${model} + $${graph} '->' $${output}; \
|
||||
jsonnet ${JSONNET_FLAGS} \
|
||||
--ext-str options=$${cm} $${input} | \
|
||||
${JSON_TO_YAML} > $${output}; \
|
||||
done; \
|
||||
done
|
||||
|
||||
FORCE:
|
||||
|
||||
IGNOREconfig.yaml: config.json FORCE
|
||||
jsonnet -J . -J templates/ templates/config-to-gcp-k8s.jsonnet | \
|
||||
python3 -c 'import sys, yaml, json; j=json.loads(sys.stdin.read()); print(yaml.safe_dump(j))' > $@
|
||||
|
||||
config.yaml: config.json FORCE
|
||||
jsonnet -J . -J templates/ templates/config-to-minikube-k8s.jsonnet | \
|
||||
python3 -c 'import sys, yaml, json; j=json.loads(sys.stdin.read()); print(yaml.safe_dump(j))' > $@
|
||||
|
|
|
|||
721
deploy/docker-compose/tg-launch-azure-cassandra.yaml
Normal file
721
deploy/docker-compose/tg-launch-azure-cassandra.yaml
Normal file
|
|
@ -0,0 +1,721 @@
|
|||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
prompt-rag:
|
||||
command:
|
||||
- prompt-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
text-completion:
|
||||
command:
|
||||
- text-completion-azure
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${AZURE_TOKEN}
|
||||
- -e
|
||||
- ${AZURE_ENDPOINT}
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion-rag:
|
||||
command:
|
||||
- text-completion-azure
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${AZURE_TOKEN}
|
||||
- -e
|
||||
- ${AZURE_ENDPOINT}
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
cassandra: {}
|
||||
grafana-storage: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
722
deploy/docker-compose/tg-launch-azure-neo4j.yaml
Normal file
722
deploy/docker-compose/tg-launch-azure-neo4j.yaml
Normal file
|
|
@ -0,0 +1,722 @@
|
|||
services:
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
neo4j:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1.0'
|
||||
memory: 768M
|
||||
reservations:
|
||||
cpus: '0.5'
|
||||
memory: 768M
|
||||
environment:
|
||||
NEO4J_AUTH: neo4j/password
|
||||
image: docker.io/neo4j:5.22.0-community-bullseye
|
||||
ports:
|
||||
- 7474:7474
|
||||
- 7687:7687
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
- neo4j:/data
|
||||
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.10.0
|
||||
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-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
prompt-rag:
|
||||
command:
|
||||
- prompt-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
query-triples:
|
||||
command:
|
||||
- triples-query-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
store-triples:
|
||||
command:
|
||||
- triples-write-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion:
|
||||
command:
|
||||
- text-completion-azure
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${AZURE_TOKEN}
|
||||
- -e
|
||||
- ${AZURE_ENDPOINT}
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion-rag:
|
||||
command:
|
||||
- text-completion-azure
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${AZURE_TOKEN}
|
||||
- -e
|
||||
- ${AZURE_ENDPOINT}
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
grafana-storage: {}
|
||||
neo4j: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
729
deploy/docker-compose/tg-launch-bedrock-cassandra.yaml
Normal file
729
deploy/docker-compose/tg-launch-bedrock-cassandra.yaml
Normal file
|
|
@ -0,0 +1,729 @@
|
|||
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-recursive
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- --chunk-size
|
||||
- '2000'
|
||||
- --chunk-overlap
|
||||
- '100'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
prompt-rag:
|
||||
command:
|
||||
- prompt-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
text-completion:
|
||||
command:
|
||||
- text-completion-bedrock
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -z
|
||||
- ${AWS_ID_KEY}
|
||||
- -k
|
||||
- ${AWS_SECRET_KEY}
|
||||
- -r
|
||||
- us-west-2
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -m
|
||||
- mistral.mixtral-8x7b-instruct-v0:1
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion-rag:
|
||||
command:
|
||||
- text-completion-bedrock
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -z
|
||||
- ${AWS_ID_KEY}
|
||||
- -k
|
||||
- ${AWS_SECRET_KEY}
|
||||
- -r
|
||||
- us-west-2
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -m
|
||||
- mistral.mixtral-8x7b-instruct-v0:1
|
||||
- -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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
cassandra: {}
|
||||
grafana-storage: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
730
deploy/docker-compose/tg-launch-bedrock-neo4j.yaml
Normal file
730
deploy/docker-compose/tg-launch-bedrock-neo4j.yaml
Normal file
|
|
@ -0,0 +1,730 @@
|
|||
services:
|
||||
chunker:
|
||||
command:
|
||||
- chunker-recursive
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- --chunk-size
|
||||
- '2000'
|
||||
- --chunk-overlap
|
||||
- '100'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
neo4j:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1.0'
|
||||
memory: 768M
|
||||
reservations:
|
||||
cpus: '0.5'
|
||||
memory: 768M
|
||||
environment:
|
||||
NEO4J_AUTH: neo4j/password
|
||||
image: docker.io/neo4j:5.22.0-community-bullseye
|
||||
ports:
|
||||
- 7474:7474
|
||||
- 7687:7687
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
- neo4j:/data
|
||||
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.10.0
|
||||
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-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
prompt-rag:
|
||||
command:
|
||||
- prompt-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
query-triples:
|
||||
command:
|
||||
- triples-query-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
store-triples:
|
||||
command:
|
||||
- triples-write-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion:
|
||||
command:
|
||||
- text-completion-bedrock
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -z
|
||||
- ${AWS_ID_KEY}
|
||||
- -k
|
||||
- ${AWS_SECRET_KEY}
|
||||
- -r
|
||||
- us-west-2
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -m
|
||||
- mistral.mixtral-8x7b-instruct-v0:1
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion-rag:
|
||||
command:
|
||||
- text-completion-bedrock
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -z
|
||||
- ${AWS_ID_KEY}
|
||||
- -k
|
||||
- ${AWS_SECRET_KEY}
|
||||
- -r
|
||||
- us-west-2
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -m
|
||||
- mistral.mixtral-8x7b-instruct-v0:1
|
||||
- -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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
grafana-storage: {}
|
||||
neo4j: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
717
deploy/docker-compose/tg-launch-claude-cassandra.yaml
Normal file
717
deploy/docker-compose/tg-launch-claude-cassandra.yaml
Normal file
|
|
@ -0,0 +1,717 @@
|
|||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
prompt-rag:
|
||||
command:
|
||||
- prompt-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
text-completion:
|
||||
command:
|
||||
- text-completion-claude
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${CLAUDE_KEY}
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion-rag:
|
||||
command:
|
||||
- text-completion-claude
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${CLAUDE_KEY}
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
cassandra: {}
|
||||
grafana-storage: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
718
deploy/docker-compose/tg-launch-claude-neo4j.yaml
Normal file
718
deploy/docker-compose/tg-launch-claude-neo4j.yaml
Normal file
|
|
@ -0,0 +1,718 @@
|
|||
services:
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
neo4j:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1.0'
|
||||
memory: 768M
|
||||
reservations:
|
||||
cpus: '0.5'
|
||||
memory: 768M
|
||||
environment:
|
||||
NEO4J_AUTH: neo4j/password
|
||||
image: docker.io/neo4j:5.22.0-community-bullseye
|
||||
ports:
|
||||
- 7474:7474
|
||||
- 7687:7687
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
- neo4j:/data
|
||||
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.10.0
|
||||
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-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
prompt-rag:
|
||||
command:
|
||||
- prompt-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
query-triples:
|
||||
command:
|
||||
- triples-query-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
store-triples:
|
||||
command:
|
||||
- triples-write-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion:
|
||||
command:
|
||||
- text-completion-claude
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${CLAUDE_KEY}
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion-rag:
|
||||
command:
|
||||
- text-completion-claude
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${CLAUDE_KEY}
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
grafana-storage: {}
|
||||
neo4j: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
713
deploy/docker-compose/tg-launch-cohere-cassandra.yaml
Normal file
713
deploy/docker-compose/tg-launch-cohere-cassandra.yaml
Normal file
|
|
@ -0,0 +1,713 @@
|
|||
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
|
||||
- '150'
|
||||
- --chunk-overlap
|
||||
- '10'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
prompt-rag:
|
||||
command:
|
||||
- prompt-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
text-completion:
|
||||
command:
|
||||
- text-completion-cohere
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${COHERE_KEY}
|
||||
- -t
|
||||
- 0
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion-rag:
|
||||
command:
|
||||
- text-completion-cohere
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${COHERE_KEY}
|
||||
- -t
|
||||
- 0
|
||||
- -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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
cassandra: {}
|
||||
grafana-storage: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
714
deploy/docker-compose/tg-launch-cohere-neo4j.yaml
Normal file
714
deploy/docker-compose/tg-launch-cohere-neo4j.yaml
Normal file
|
|
@ -0,0 +1,714 @@
|
|||
services:
|
||||
chunker:
|
||||
command:
|
||||
- chunker-token
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- --chunk-size
|
||||
- '150'
|
||||
- --chunk-overlap
|
||||
- '10'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
neo4j:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1.0'
|
||||
memory: 768M
|
||||
reservations:
|
||||
cpus: '0.5'
|
||||
memory: 768M
|
||||
environment:
|
||||
NEO4J_AUTH: neo4j/password
|
||||
image: docker.io/neo4j:5.22.0-community-bullseye
|
||||
ports:
|
||||
- 7474:7474
|
||||
- 7687:7687
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
- neo4j:/data
|
||||
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.10.0
|
||||
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-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
prompt-rag:
|
||||
command:
|
||||
- prompt-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
query-triples:
|
||||
command:
|
||||
- triples-query-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
store-triples:
|
||||
command:
|
||||
- triples-write-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion:
|
||||
command:
|
||||
- text-completion-cohere
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${COHERE_KEY}
|
||||
- -t
|
||||
- 0
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion-rag:
|
||||
command:
|
||||
- text-completion-cohere
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${COHERE_KEY}
|
||||
- -t
|
||||
- 0
|
||||
- -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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
grafana-storage: {}
|
||||
neo4j: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
425
deploy/docker-compose/tg-launch-ollama-cassandra.yaml
Normal file
425
deploy/docker-compose/tg-launch-ollama-cassandra.yaml
Normal file
|
|
@ -0,0 +1,425 @@
|
|||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
cassandra: {}
|
||||
grafana-storage: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
426
deploy/docker-compose/tg-launch-ollama-neo4j.yaml
Normal file
426
deploy/docker-compose/tg-launch-ollama-neo4j.yaml
Normal file
|
|
@ -0,0 +1,426 @@
|
|||
services:
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
neo4j:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1.0'
|
||||
memory: 768M
|
||||
reservations:
|
||||
cpus: '0.5'
|
||||
memory: 768M
|
||||
environment:
|
||||
NEO4J_AUTH: neo4j/password
|
||||
image: docker.io/neo4j:5.22.0-community-bullseye
|
||||
ports:
|
||||
- 7474:7474
|
||||
- 7687:7687
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
- neo4j:/data
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
query-triples:
|
||||
command:
|
||||
- triples-query-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
store-triples:
|
||||
command:
|
||||
- triples-write-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
grafana-storage: {}
|
||||
neo4j: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
721
deploy/docker-compose/tg-launch-openai-cassandra.yaml
Normal file
721
deploy/docker-compose/tg-launch-openai-cassandra.yaml
Normal file
|
|
@ -0,0 +1,721 @@
|
|||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
prompt-rag:
|
||||
command:
|
||||
- prompt-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
text-completion:
|
||||
command:
|
||||
- text-completion-openai
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${OPENAI_KEY}
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -m
|
||||
- GPT-3.5-Turbo
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion-rag:
|
||||
command:
|
||||
- text-completion-openai
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${OPENAI_KEY}
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -m
|
||||
- GPT-3.5-Turbo
|
||||
- -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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
cassandra: {}
|
||||
grafana-storage: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
722
deploy/docker-compose/tg-launch-openai-neo4j.yaml
Normal file
722
deploy/docker-compose/tg-launch-openai-neo4j.yaml
Normal file
|
|
@ -0,0 +1,722 @@
|
|||
services:
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
neo4j:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1.0'
|
||||
memory: 768M
|
||||
reservations:
|
||||
cpus: '0.5'
|
||||
memory: 768M
|
||||
environment:
|
||||
NEO4J_AUTH: neo4j/password
|
||||
image: docker.io/neo4j:5.22.0-community-bullseye
|
||||
ports:
|
||||
- 7474:7474
|
||||
- 7687:7687
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
- neo4j:/data
|
||||
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.10.0
|
||||
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-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
prompt-rag:
|
||||
command:
|
||||
- prompt-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
query-triples:
|
||||
command:
|
||||
- triples-query-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
store-triples:
|
||||
command:
|
||||
- triples-write-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion:
|
||||
command:
|
||||
- text-completion-openai
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${OPENAI_KEY}
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -m
|
||||
- GPT-3.5-Turbo
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion-rag:
|
||||
command:
|
||||
- text-completion-openai
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- ${OPENAI_KEY}
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -m
|
||||
- GPT-3.5-Turbo
|
||||
- -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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
grafana-storage: {}
|
||||
neo4j: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
729
deploy/docker-compose/tg-launch-vertexai-cassandra.yaml
Normal file
729
deploy/docker-compose/tg-launch-vertexai-cassandra.yaml
Normal file
|
|
@ -0,0 +1,729 @@
|
|||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
prompt-rag:
|
||||
command:
|
||||
- prompt-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
text-completion:
|
||||
command:
|
||||
- text-completion-vertexai
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- /vertexai/private.json
|
||||
- -r
|
||||
- us-central1
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -m
|
||||
- gemini-1.0-pro-001
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 256M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 256M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
- ./vertexai:/vertexai
|
||||
text-completion-rag:
|
||||
command:
|
||||
- text-completion-vertexai
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- /vertexai/private.json
|
||||
- -r
|
||||
- us-central1
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -m
|
||||
- gemini-1.0-pro-001
|
||||
- -i
|
||||
- non-persistent://tg/request/text-completion-rag
|
||||
- -o
|
||||
- non-persistent://tg/response/text-completion-rag-response
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 256M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 256M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
- ./vertexai:/vertexai
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
cassandra: {}
|
||||
grafana-storage: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
730
deploy/docker-compose/tg-launch-vertexai-neo4j.yaml
Normal file
730
deploy/docker-compose/tg-launch-vertexai-neo4j.yaml
Normal file
|
|
@ -0,0 +1,730 @@
|
|||
services:
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
neo4j:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1.0'
|
||||
memory: 768M
|
||||
reservations:
|
||||
cpus: '0.5'
|
||||
memory: 768M
|
||||
environment:
|
||||
NEO4J_AUTH: neo4j/password
|
||||
image: docker.io/neo4j:5.22.0-community-bullseye
|
||||
ports:
|
||||
- 7474:7474
|
||||
- 7687:7687
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
- neo4j:/data
|
||||
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.10.0
|
||||
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-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
prompt-rag:
|
||||
command:
|
||||
- prompt-template
|
||||
- -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
|
||||
- --definition-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive definitions for any discovered entities.
|
||||
|
||||
Do not provide definitions for entities whose definitions are incomplete
|
||||
|
||||
or unknown.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- entity: the name of the entity
|
||||
|
||||
- definition: English text which defines the entity
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract will be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes. Do not include null or unknown definitions.
|
||||
|
||||
</requirements>'
|
||||
- --relationship-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive entity relationships. For each
|
||||
|
||||
relationship, derive the subject, predicate and object of the relationship.
|
||||
|
||||
Output relationships in JSON format as an arary of objects with fields:
|
||||
|
||||
- subject: the subject of the relationship
|
||||
|
||||
- predicate: the predicate
|
||||
|
||||
- object: the object of the relationship
|
||||
|
||||
- object-entity: false if the object is a simple data type: name, value or date. true
|
||||
if it is an entity.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not use special characters in the abstract text. The
|
||||
|
||||
abstract must be written as plain text. Do not add markdown formatting
|
||||
|
||||
or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
- --knowledge-query-template
|
||||
- 'Study the following set of knowledge statements. The statements are written
|
||||
in Cypher format that has been extracted from a knowledge graph. Use only the
|
||||
provided set of knowledge statements in your response. Do not speculate if the
|
||||
answer is not found in the provided set of knowledge statements.
|
||||
|
||||
|
||||
Here''s the knowledge statements:
|
||||
|
||||
{graph}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --document-query-template
|
||||
- 'Study the following context. Use only the information provided in the context
|
||||
in your response. Do not speculate if the answer is not found in the provided
|
||||
set of knowledge statements.
|
||||
|
||||
|
||||
Here is the context:
|
||||
|
||||
{documents}
|
||||
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
|
||||
{query}
|
||||
|
||||
'
|
||||
- --rows-template
|
||||
- '<instructions>
|
||||
|
||||
Study the following text and derive objects which match the schema provided.
|
||||
|
||||
|
||||
You must output an array of JSON objects for each object you discover
|
||||
|
||||
which matches the schema. For each object, output a JSON object whose fields
|
||||
|
||||
carry the name field specified in the schema.
|
||||
|
||||
</instructions>
|
||||
|
||||
|
||||
<schema>
|
||||
|
||||
{schema}
|
||||
|
||||
</schema>
|
||||
|
||||
|
||||
<text>
|
||||
|
||||
{text}
|
||||
|
||||
</text>
|
||||
|
||||
|
||||
<requirements>
|
||||
|
||||
You will respond only with raw JSON format data. Do not provide
|
||||
|
||||
explanations. Do not add markdown formatting or headers or prefixes.
|
||||
|
||||
</requirements>'
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
query-triples:
|
||||
command:
|
||||
- triples-query-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
store-triples:
|
||||
command:
|
||||
- triples-write-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
text-completion:
|
||||
command:
|
||||
- text-completion-vertexai
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- /vertexai/private.json
|
||||
- -r
|
||||
- us-central1
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -m
|
||||
- gemini-1.0-pro-001
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 256M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 256M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
- ./vertexai:/vertexai
|
||||
text-completion-rag:
|
||||
command:
|
||||
- text-completion-vertexai
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -k
|
||||
- /vertexai/private.json
|
||||
- -r
|
||||
- us-central1
|
||||
- -x
|
||||
- '4096'
|
||||
- -t
|
||||
- '0'
|
||||
- -m
|
||||
- gemini-1.0-pro-001
|
||||
- -i
|
||||
- non-persistent://tg/request/text-completion-rag
|
||||
- -o
|
||||
- non-persistent://tg/response/text-completion-rag-response
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 256M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 256M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
- ./vertexai:/vertexai
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
grafana-storage: {}
|
||||
neo4j: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
220
deploy/docker-compose/tg-storage-cassandra.yaml
Normal file
220
deploy/docker-compose/tg-storage-cassandra.yaml
Normal file
|
|
@ -0,0 +1,220 @@
|
|||
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
|
||||
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/
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
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
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
cassandra: {}
|
||||
grafana-storage: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
221
deploy/docker-compose/tg-storage-neo4j.yaml
Normal file
221
deploy/docker-compose/tg-storage-neo4j.yaml
Normal file
|
|
@ -0,0 +1,221 @@
|
|||
services:
|
||||
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/
|
||||
init-pulsar:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg
|
||||
; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin
|
||||
--admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url
|
||||
http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response;
|
||||
sleep 20; done
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1'
|
||||
memory: 400M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 400M
|
||||
image: docker.io/apachepulsar/pulsar:3.3.1
|
||||
restart: on-failure:100
|
||||
neo4j:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1.0'
|
||||
memory: 768M
|
||||
reservations:
|
||||
cpus: '0.5'
|
||||
memory: 768M
|
||||
environment:
|
||||
NEO4J_AUTH: neo4j/password
|
||||
image: docker.io/neo4j:5.22.0-community-bullseye
|
||||
ports:
|
||||
- 7474:7474
|
||||
- 7687:7687
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
- neo4j:/data
|
||||
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
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
query-triples:
|
||||
command:
|
||||
- triples-query-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
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.10.0
|
||||
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.10.0
|
||||
restart: on-failure:100
|
||||
store-triples:
|
||||
command:
|
||||
- triples-write-neo4j
|
||||
- -p
|
||||
- pulsar://pulsar:6650
|
||||
- -g
|
||||
- bolt://neo4j:7687
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 128M
|
||||
reservations:
|
||||
cpus: '0.1'
|
||||
memory: 128M
|
||||
image: docker.io/trustgraph/trustgraph-flow:0.10.0
|
||||
restart: on-failure:100
|
||||
volumes:
|
||||
grafana-storage: {}
|
||||
neo4j: {}
|
||||
prometheus-data: {}
|
||||
pulsar-data: {}
|
||||
qdrant: {}
|
||||
|
||||
2016
deploy/minikube/tg-launch-azure-cassandra.yaml
Normal file
2016
deploy/minikube/tg-launch-azure-cassandra.yaml
Normal file
File diff suppressed because it is too large
Load diff
2021
deploy/minikube/tg-launch-azure-neo4j.yaml
Normal file
2021
deploy/minikube/tg-launch-azure-neo4j.yaml
Normal file
File diff suppressed because it is too large
Load diff
2024
deploy/minikube/tg-launch-bedrock-cassandra.yaml
Normal file
2024
deploy/minikube/tg-launch-bedrock-cassandra.yaml
Normal file
File diff suppressed because it is too large
Load diff
2029
deploy/minikube/tg-launch-bedrock-neo4j.yaml
Normal file
2029
deploy/minikube/tg-launch-bedrock-neo4j.yaml
Normal file
File diff suppressed because it is too large
Load diff
2012
deploy/minikube/tg-launch-claude-cassandra.yaml
Normal file
2012
deploy/minikube/tg-launch-claude-cassandra.yaml
Normal file
File diff suppressed because it is too large
Load diff
2017
deploy/minikube/tg-launch-claude-neo4j.yaml
Normal file
2017
deploy/minikube/tg-launch-claude-neo4j.yaml
Normal file
File diff suppressed because it is too large
Load diff
2008
deploy/minikube/tg-launch-cohere-cassandra.yaml
Normal file
2008
deploy/minikube/tg-launch-cohere-cassandra.yaml
Normal file
File diff suppressed because it is too large
Load diff
2013
deploy/minikube/tg-launch-cohere-neo4j.yaml
Normal file
2013
deploy/minikube/tg-launch-cohere-neo4j.yaml
Normal file
File diff suppressed because it is too large
Load diff
1718
deploy/minikube/tg-launch-ollama-cassandra.yaml
Normal file
1718
deploy/minikube/tg-launch-ollama-cassandra.yaml
Normal file
File diff suppressed because it is too large
Load diff
1723
deploy/minikube/tg-launch-ollama-neo4j.yaml
Normal file
1723
deploy/minikube/tg-launch-ollama-neo4j.yaml
Normal file
File diff suppressed because it is too large
Load diff
2016
deploy/minikube/tg-launch-openai-cassandra.yaml
Normal file
2016
deploy/minikube/tg-launch-openai-cassandra.yaml
Normal file
File diff suppressed because it is too large
Load diff
2021
deploy/minikube/tg-launch-openai-neo4j.yaml
Normal file
2021
deploy/minikube/tg-launch-openai-neo4j.yaml
Normal file
File diff suppressed because it is too large
Load diff
2046
deploy/minikube/tg-launch-vertexai-cassandra.yaml
Normal file
2046
deploy/minikube/tg-launch-vertexai-cassandra.yaml
Normal file
File diff suppressed because it is too large
Load diff
2051
deploy/minikube/tg-launch-vertexai-neo4j.yaml
Normal file
2051
deploy/minikube/tg-launch-vertexai-neo4j.yaml
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -12,7 +12,7 @@ default_pulsar_host = os.getenv("PULSAR_HOST", 'pulsar://pulsar:6650')
|
|||
|
||||
def show_graph(pulsar):
|
||||
|
||||
tq = TriplesQueryClient(pulsar_host="pulsar://localhost:6650")
|
||||
tq = TriplesQueryClient(pulsar_host=pulsar)
|
||||
|
||||
rows = tq.request(None, None, None, limit=10_000_000)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ default_pulsar_host = os.getenv("PULSAR_HOST", 'pulsar://pulsar:6650')
|
|||
|
||||
def show_graph(pulsar):
|
||||
|
||||
tq = TriplesQueryClient(pulsar_host="pulsar://localhost:6650")
|
||||
tq = TriplesQueryClient(pulsar_host=pulsar)
|
||||
|
||||
rows = tq.request(None, None, None, limit=10_000_000)
|
||||
|
||||
|
|
|
|||
2
setup.py
2
setup.py
|
|
@ -4,7 +4,7 @@ import os
|
|||
with open("README.md", "r") as fh:
|
||||
long_description = fh.read()
|
||||
|
||||
version = "0.9.3"
|
||||
version = "0.10.0"
|
||||
|
||||
setuptools.setup(
|
||||
name="trustgraph",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
local engine = import "docker-compose.jsonnet";
|
||||
local decode = import "decode-config.jsonnet";
|
||||
local engine = import "engine/docker-compose.jsonnet";
|
||||
local decode = import "util/decode-config.jsonnet";
|
||||
local components = import "components.jsonnet";
|
||||
|
||||
// Import config
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
local engine = import "k8s.jsonnet";
|
||||
local decode = import "decode-config.jsonnet";
|
||||
local engine = import "engine/gcp-k8s.jsonnet";
|
||||
local decode = import "util/decode-config.jsonnet";
|
||||
local components = import "components.jsonnet";
|
||||
|
||||
// Import config
|
||||
|
|
@ -9,44 +9,8 @@ local config = import "config.json";
|
|||
// Produce patterns from config
|
||||
local patterns = decode(config);
|
||||
|
||||
local ns = {
|
||||
apiVersion: "v1",
|
||||
kind: "Namespace",
|
||||
metadata: {
|
||||
name: "trustgraph",
|
||||
},
|
||||
"spec": {
|
||||
},
|
||||
};
|
||||
|
||||
local sc = {
|
||||
apiVersion: "storage.k8s.io/v1",
|
||||
kind: "StorageClass",
|
||||
metadata: {
|
||||
name: "tg",
|
||||
},
|
||||
provisioner: "pd.csi.storage.gke.io",
|
||||
parameters: {
|
||||
type: "pd-balanced",
|
||||
"csi.storage.k8s.io/fstype": "ext4",
|
||||
},
|
||||
reclaimPolicy: "Delete",
|
||||
volumeBindingMode: "WaitForFirstConsumer",
|
||||
};
|
||||
|
||||
//patterns["pulsar"].create(engine)
|
||||
|
||||
// Extract resources usnig the engine
|
||||
local resources = std.flattenArrays([
|
||||
p.create(engine) for p in std.objectValues(patterns)
|
||||
]);
|
||||
|
||||
local resourceList = {
|
||||
apiVersion: "v1",
|
||||
kind: "List",
|
||||
items: [ns, sc] + resources,
|
||||
};
|
||||
|
||||
local resourceList = engine.package(patterns);
|
||||
|
||||
resourceList
|
||||
|
||||
|
|
|
|||
26
templates/config-to-minikube-k8s.jsonnet
Normal file
26
templates/config-to-minikube-k8s.jsonnet
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
|
||||
local engine = import "engine/minikube-k8s.jsonnet";
|
||||
local decode = import "util/decode-config.jsonnet";
|
||||
local components = import "components.jsonnet";
|
||||
|
||||
// Import config
|
||||
local config = import "config.json";
|
||||
|
||||
// Produce patterns from config
|
||||
local patterns = decode(config);
|
||||
|
||||
local ns = {
|
||||
apiVersion: "v1",
|
||||
kind: "Namespace",
|
||||
metadata: {
|
||||
name: "trustgraph",
|
||||
},
|
||||
"spec": {
|
||||
},
|
||||
};
|
||||
|
||||
// Extract resources using the engine
|
||||
local resourceList = engine.package(patterns);
|
||||
|
||||
resourceList
|
||||
|
||||
|
|
@ -1,5 +1,13 @@
|
|||
{
|
||||
|
||||
// Extract resources usnig the engine
|
||||
package:: function(patterns)
|
||||
std.foldl(
|
||||
function(state, p) state + p.create(self),
|
||||
std.objectValues(patterns),
|
||||
{}
|
||||
),
|
||||
|
||||
container:: function(name)
|
||||
{
|
||||
|
||||
44
templates/engine/gcp-k8s.jsonnet
Normal file
44
templates/engine/gcp-k8s.jsonnet
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
|
||||
local k8s = import "k8s.jsonnet";
|
||||
|
||||
local ns = {
|
||||
apiVersion: "v1",
|
||||
kind: "Namespace",
|
||||
metadata: {
|
||||
name: "trustgraph",
|
||||
},
|
||||
"spec": {
|
||||
},
|
||||
};
|
||||
|
||||
local sc = {
|
||||
apiVersion: "storage.k8s.io/v1",
|
||||
kind: "StorageClass",
|
||||
metadata: {
|
||||
name: "tg",
|
||||
},
|
||||
provisioner: "pd.csi.storage.gke.io",
|
||||
parameters: {
|
||||
type: "pd-balanced",
|
||||
"csi.storage.k8s.io/fstype": "ext4",
|
||||
},
|
||||
reclaimPolicy: "Delete",
|
||||
volumeBindingMode: "WaitForFirstConsumer",
|
||||
};
|
||||
|
||||
k8s + {
|
||||
|
||||
// Extract resources usnig the engine
|
||||
package:: function(patterns)
|
||||
local resources = [sc, ns] + std.flattenArrays([
|
||||
p.create(self) for p in std.objectValues(patterns)
|
||||
]);
|
||||
local resourceList = {
|
||||
apiVersion: "v1",
|
||||
kind: "List",
|
||||
items: [ns, sc] + resources,
|
||||
};
|
||||
resourceList
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -67,16 +67,16 @@
|
|||
{
|
||||
name: container.name,
|
||||
image: container.image,
|
||||
|
||||
// FIXME: Make everything run as
|
||||
// root. Needed to get filesystems
|
||||
// to be accessible. There's a
|
||||
// better way of doing this?
|
||||
securityContext: {
|
||||
// fsGroup: 1234
|
||||
// runAsUser: 65534
|
||||
// runAsGroup: 65534
|
||||
// runAsNonRoot: true
|
||||
runAsUser: 0,
|
||||
runAsGroup: 0,
|
||||
// runAsNonRoot: true,
|
||||
// readOnlyRootFilesystem: true,
|
||||
},
|
||||
runAsUser: 0,
|
||||
runAsGroup: 0,
|
||||
},
|
||||
|
||||
resources: {
|
||||
requests: container.reservations,
|
||||
limits: container.limits
|
||||
|
|
@ -197,28 +197,6 @@
|
|||
with_size:: function(size) self + { size: size },
|
||||
|
||||
add:: function() [
|
||||
/*
|
||||
{
|
||||
|
||||
apiVersion: "v1",
|
||||
kind: "PersistentVolume",
|
||||
metadata: {
|
||||
name: volume.name,
|
||||
labels: {
|
||||
type: "local",
|
||||
}
|
||||
},
|
||||
spec: {
|
||||
storageClassName: "tg",
|
||||
volumeMode: "Filesystem",
|
||||
capacity: {
|
||||
storage: volume.size,
|
||||
},
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
persistentVolumeReclaimPolicy: "Delete",
|
||||
}
|
||||
},
|
||||
*/
|
||||
{
|
||||
apiVersion: "v1",
|
||||
kind: "PersistentVolumeClaim",
|
||||
|
|
@ -234,7 +212,6 @@
|
|||
storage: volume.size,
|
||||
}
|
||||
},
|
||||
// volumeName: volume.name,
|
||||
}
|
||||
}
|
||||
],
|
||||
115
templates/engine/minikube-k8s.jsonnet
Normal file
115
templates/engine/minikube-k8s.jsonnet
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
|
||||
local k8s = import "k8s.jsonnet";
|
||||
|
||||
local ns = {
|
||||
apiVersion: "v1",
|
||||
kind: "Namespace",
|
||||
metadata: {
|
||||
name: "trustgraph",
|
||||
},
|
||||
"spec": {
|
||||
},
|
||||
};
|
||||
|
||||
k8s + {
|
||||
|
||||
// Extract resources usnig the engine
|
||||
package:: function(patterns)
|
||||
local resources = [ns] + std.flattenArrays([
|
||||
p.create(self) for p in std.objectValues(patterns)
|
||||
]);
|
||||
local resourceList = {
|
||||
apiVersion: "v1",
|
||||
kind: "List",
|
||||
items: resources,
|
||||
};
|
||||
resourceList,
|
||||
|
||||
volume:: function(name)
|
||||
{
|
||||
local volume = self,
|
||||
name: name,
|
||||
with_size:: function(size) self + { size: size },
|
||||
add:: function() [
|
||||
{
|
||||
apiVersion: "v1",
|
||||
kind: "PersistentVolume",
|
||||
metadata: {
|
||||
name: volume.name,
|
||||
},
|
||||
spec: {
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
capacity: {
|
||||
storage: volume.size,
|
||||
},
|
||||
persistentVolumeReclaimPolicy: "Delete",
|
||||
hostPath: {
|
||||
path: "/data/pv-" + volume.name,
|
||||
},
|
||||
}
|
||||
},
|
||||
{
|
||||
apiVersion: "v1",
|
||||
kind: "PersistentVolumeClaim",
|
||||
metadata: {
|
||||
name: volume.name,
|
||||
namespace: "trustgraph",
|
||||
},
|
||||
spec: {
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: volume.size,
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
volRef:: function() {
|
||||
name: volume.name,
|
||||
persistentVolumeClaim: { claimName: volume.name },
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
service:: function(containers)
|
||||
{
|
||||
local service = self,
|
||||
name: containers.name,
|
||||
ports: [],
|
||||
with_port::
|
||||
function(src, dest, name)
|
||||
self + {
|
||||
ports: super.ports + [
|
||||
{ src: src, dest: dest, name: name }
|
||||
]
|
||||
},
|
||||
add:: function() [
|
||||
{
|
||||
apiVersion: "v1",
|
||||
kind: "Service",
|
||||
metadata: {
|
||||
name: service.name,
|
||||
namespace: "trustgraph",
|
||||
},
|
||||
spec: {
|
||||
selector: {
|
||||
app: service.name,
|
||||
},
|
||||
type: "LoadBalancer",
|
||||
ports: [
|
||||
{
|
||||
port: port.src,
|
||||
targetPort: port.dest,
|
||||
name: port.name,
|
||||
}
|
||||
for port in service.ports
|
||||
],
|
||||
}
|
||||
}
|
||||
],
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
21
templates/opts-to-docker-compose.jsonnet
Normal file
21
templates/opts-to-docker-compose.jsonnet
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
local engine = import "engine/docker-compose.jsonnet";
|
||||
local components = import "components.jsonnet";
|
||||
|
||||
// Options
|
||||
local options = std.split(std.extVar("options"), ",");
|
||||
|
||||
// Produce patterns from config
|
||||
local patterns = std.foldl(
|
||||
function(state, p) state + components[p],
|
||||
options,
|
||||
{}
|
||||
);
|
||||
|
||||
// Extract resources usnig the engine
|
||||
local resources = engine.package(patterns);
|
||||
|
||||
resources
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
|
||||
local engine = import "docker-compose.jsonnet";
|
||||
local decode = import "decode-config.jsonnet";
|
||||
local engine = import "engine/docker-compose.jsonnet";
|
||||
local components = import "components.jsonnet";
|
||||
|
||||
// Options
|
||||
|
|
@ -14,11 +13,7 @@ local patterns = std.foldl(
|
|||
);
|
||||
|
||||
// Extract resources usnig the engine
|
||||
local resources = std.foldl(
|
||||
function(state, p) state + p.create(engine),
|
||||
std.objectValues(patterns),
|
||||
{}
|
||||
);
|
||||
local resources = engine.package(patterns);
|
||||
|
||||
std.manifestYamlDoc(resources)
|
||||
|
||||
19
templates/opts-to-minikube-k8s.jsonnet
Normal file
19
templates/opts-to-minikube-k8s.jsonnet
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
local engine = import "engine/minikube-k8s.jsonnet";
|
||||
local components = import "components.jsonnet";
|
||||
|
||||
// Options
|
||||
local options = std.split(std.extVar("options"), ",");
|
||||
|
||||
// Produce patterns from config
|
||||
local patterns = std.foldl(
|
||||
function(state, p) state + components[p],
|
||||
options,
|
||||
{}
|
||||
);
|
||||
|
||||
// Extract resources usnig the engine
|
||||
local resources = engine.package(patterns);
|
||||
|
||||
resources
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
"0.9.3"
|
||||
|
|
@ -1,475 +0,0 @@
|
|||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"prompt-rag":
|
||||
"command":
|
||||
- "prompt-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion":
|
||||
"command":
|
||||
- "text-completion-azure"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${AZURE_TOKEN}"
|
||||
- "-e"
|
||||
- "${AZURE_ENDPOINT}"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion-rag":
|
||||
"command":
|
||||
- "text-completion-azure"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${AZURE_TOKEN}"
|
||||
- "-e"
|
||||
- "${AZURE_ENDPOINT}"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"cassandra": {}
|
||||
"grafana-storage": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,476 +0,0 @@
|
|||
"services":
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"neo4j":
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1.0"
|
||||
"memory": "768M"
|
||||
"reservations":
|
||||
"cpus": "0.5"
|
||||
"memory": "768M"
|
||||
"environment":
|
||||
"NEO4J_AUTH": "neo4j/password"
|
||||
"image": "docker.io/neo4j:5.22.0-community-bullseye"
|
||||
"ports":
|
||||
- "7474:7474"
|
||||
- "7687:7687"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
- "neo4j:/data"
|
||||
"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.9.3"
|
||||
"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-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"prompt-rag":
|
||||
"command":
|
||||
- "prompt-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"query-triples":
|
||||
"command":
|
||||
- "triples-query-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"store-triples":
|
||||
"command":
|
||||
- "triples-write-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion":
|
||||
"command":
|
||||
- "text-completion-azure"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${AZURE_TOKEN}"
|
||||
- "-e"
|
||||
- "${AZURE_ENDPOINT}"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion-rag":
|
||||
"command":
|
||||
- "text-completion-azure"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${AZURE_TOKEN}"
|
||||
- "-e"
|
||||
- "${AZURE_ENDPOINT}"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"grafana-storage": {}
|
||||
"neo4j": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,483 +0,0 @@
|
|||
"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-recursive"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "--chunk-size"
|
||||
- "2000"
|
||||
- "--chunk-overlap"
|
||||
- "100"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"prompt-rag":
|
||||
"command":
|
||||
- "prompt-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion":
|
||||
"command":
|
||||
- "text-completion-bedrock"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-z"
|
||||
- "${AWS_ID_KEY}"
|
||||
- "-k"
|
||||
- "${AWS_SECRET_KEY}"
|
||||
- "-r"
|
||||
- "us-west-2"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-m"
|
||||
- "mistral.mixtral-8x7b-instruct-v0:1"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion-rag":
|
||||
"command":
|
||||
- "text-completion-bedrock"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-z"
|
||||
- "${AWS_ID_KEY}"
|
||||
- "-k"
|
||||
- "${AWS_SECRET_KEY}"
|
||||
- "-r"
|
||||
- "us-west-2"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-m"
|
||||
- "mistral.mixtral-8x7b-instruct-v0:1"
|
||||
- "-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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"cassandra": {}
|
||||
"grafana-storage": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,484 +0,0 @@
|
|||
"services":
|
||||
"chunker":
|
||||
"command":
|
||||
- "chunker-recursive"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "--chunk-size"
|
||||
- "2000"
|
||||
- "--chunk-overlap"
|
||||
- "100"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"neo4j":
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1.0"
|
||||
"memory": "768M"
|
||||
"reservations":
|
||||
"cpus": "0.5"
|
||||
"memory": "768M"
|
||||
"environment":
|
||||
"NEO4J_AUTH": "neo4j/password"
|
||||
"image": "docker.io/neo4j:5.22.0-community-bullseye"
|
||||
"ports":
|
||||
- "7474:7474"
|
||||
- "7687:7687"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
- "neo4j:/data"
|
||||
"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.9.3"
|
||||
"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-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"prompt-rag":
|
||||
"command":
|
||||
- "prompt-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"query-triples":
|
||||
"command":
|
||||
- "triples-query-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"store-triples":
|
||||
"command":
|
||||
- "triples-write-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion":
|
||||
"command":
|
||||
- "text-completion-bedrock"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-z"
|
||||
- "${AWS_ID_KEY}"
|
||||
- "-k"
|
||||
- "${AWS_SECRET_KEY}"
|
||||
- "-r"
|
||||
- "us-west-2"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-m"
|
||||
- "mistral.mixtral-8x7b-instruct-v0:1"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion-rag":
|
||||
"command":
|
||||
- "text-completion-bedrock"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-z"
|
||||
- "${AWS_ID_KEY}"
|
||||
- "-k"
|
||||
- "${AWS_SECRET_KEY}"
|
||||
- "-r"
|
||||
- "us-west-2"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-m"
|
||||
- "mistral.mixtral-8x7b-instruct-v0:1"
|
||||
- "-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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"grafana-storage": {}
|
||||
"neo4j": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,471 +0,0 @@
|
|||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"prompt-rag":
|
||||
"command":
|
||||
- "prompt-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion":
|
||||
"command":
|
||||
- "text-completion-claude"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${CLAUDE_KEY}"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion-rag":
|
||||
"command":
|
||||
- "text-completion-claude"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${CLAUDE_KEY}"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"cassandra": {}
|
||||
"grafana-storage": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,472 +0,0 @@
|
|||
"services":
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"neo4j":
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1.0"
|
||||
"memory": "768M"
|
||||
"reservations":
|
||||
"cpus": "0.5"
|
||||
"memory": "768M"
|
||||
"environment":
|
||||
"NEO4J_AUTH": "neo4j/password"
|
||||
"image": "docker.io/neo4j:5.22.0-community-bullseye"
|
||||
"ports":
|
||||
- "7474:7474"
|
||||
- "7687:7687"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
- "neo4j:/data"
|
||||
"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.9.3"
|
||||
"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-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"prompt-rag":
|
||||
"command":
|
||||
- "prompt-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"query-triples":
|
||||
"command":
|
||||
- "triples-query-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"store-triples":
|
||||
"command":
|
||||
- "triples-write-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion":
|
||||
"command":
|
||||
- "text-completion-claude"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${CLAUDE_KEY}"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion-rag":
|
||||
"command":
|
||||
- "text-completion-claude"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${CLAUDE_KEY}"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"grafana-storage": {}
|
||||
"neo4j": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,467 +0,0 @@
|
|||
"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"
|
||||
- "150"
|
||||
- "--chunk-overlap"
|
||||
- "10"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"prompt-rag":
|
||||
"command":
|
||||
- "prompt-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion":
|
||||
"command":
|
||||
- "text-completion-cohere"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${COHERE_KEY}"
|
||||
- "-t"
|
||||
- 0
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion-rag":
|
||||
"command":
|
||||
- "text-completion-cohere"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${COHERE_KEY}"
|
||||
- "-t"
|
||||
- 0
|
||||
- "-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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"cassandra": {}
|
||||
"grafana-storage": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,468 +0,0 @@
|
|||
"services":
|
||||
"chunker":
|
||||
"command":
|
||||
- "chunker-token"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "--chunk-size"
|
||||
- "150"
|
||||
- "--chunk-overlap"
|
||||
- "10"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"neo4j":
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1.0"
|
||||
"memory": "768M"
|
||||
"reservations":
|
||||
"cpus": "0.5"
|
||||
"memory": "768M"
|
||||
"environment":
|
||||
"NEO4J_AUTH": "neo4j/password"
|
||||
"image": "docker.io/neo4j:5.22.0-community-bullseye"
|
||||
"ports":
|
||||
- "7474:7474"
|
||||
- "7687:7687"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
- "neo4j:/data"
|
||||
"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.9.3"
|
||||
"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-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"prompt-rag":
|
||||
"command":
|
||||
- "prompt-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"query-triples":
|
||||
"command":
|
||||
- "triples-query-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"store-triples":
|
||||
"command":
|
||||
- "triples-write-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion":
|
||||
"command":
|
||||
- "text-completion-cohere"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${COHERE_KEY}"
|
||||
- "-t"
|
||||
- 0
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion-rag":
|
||||
"command":
|
||||
- "text-completion-cohere"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${COHERE_KEY}"
|
||||
- "-t"
|
||||
- 0
|
||||
- "-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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"grafana-storage": {}
|
||||
"neo4j": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,419 +0,0 @@
|
|||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"cassandra": {}
|
||||
"grafana-storage": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,420 +0,0 @@
|
|||
"services":
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"neo4j":
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1.0"
|
||||
"memory": "768M"
|
||||
"reservations":
|
||||
"cpus": "0.5"
|
||||
"memory": "768M"
|
||||
"environment":
|
||||
"NEO4J_AUTH": "neo4j/password"
|
||||
"image": "docker.io/neo4j:5.22.0-community-bullseye"
|
||||
"ports":
|
||||
- "7474:7474"
|
||||
- "7687:7687"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
- "neo4j:/data"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"query-triples":
|
||||
"command":
|
||||
- "triples-query-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"store-triples":
|
||||
"command":
|
||||
- "triples-write-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"grafana-storage": {}
|
||||
"neo4j": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,475 +0,0 @@
|
|||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"prompt-rag":
|
||||
"command":
|
||||
- "prompt-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion":
|
||||
"command":
|
||||
- "text-completion-openai"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${OPENAI_KEY}"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-m"
|
||||
- "GPT-3.5-Turbo"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion-rag":
|
||||
"command":
|
||||
- "text-completion-openai"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${OPENAI_KEY}"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-m"
|
||||
- "GPT-3.5-Turbo"
|
||||
- "-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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"cassandra": {}
|
||||
"grafana-storage": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,476 +0,0 @@
|
|||
"services":
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"neo4j":
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1.0"
|
||||
"memory": "768M"
|
||||
"reservations":
|
||||
"cpus": "0.5"
|
||||
"memory": "768M"
|
||||
"environment":
|
||||
"NEO4J_AUTH": "neo4j/password"
|
||||
"image": "docker.io/neo4j:5.22.0-community-bullseye"
|
||||
"ports":
|
||||
- "7474:7474"
|
||||
- "7687:7687"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
- "neo4j:/data"
|
||||
"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.9.3"
|
||||
"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-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"prompt-rag":
|
||||
"command":
|
||||
- "prompt-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"query-triples":
|
||||
"command":
|
||||
- "triples-query-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"store-triples":
|
||||
"command":
|
||||
- "triples-write-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion":
|
||||
"command":
|
||||
- "text-completion-openai"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${OPENAI_KEY}"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-m"
|
||||
- "GPT-3.5-Turbo"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion-rag":
|
||||
"command":
|
||||
- "text-completion-openai"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "${OPENAI_KEY}"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-m"
|
||||
- "GPT-3.5-Turbo"
|
||||
- "-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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"grafana-storage": {}
|
||||
"neo4j": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,483 +0,0 @@
|
|||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"prompt-rag":
|
||||
"command":
|
||||
- "prompt-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion":
|
||||
"command":
|
||||
- "text-completion-vertexai"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "/vertexai/private.json"
|
||||
- "-r"
|
||||
- "us-central1"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-m"
|
||||
- "gemini-1.0-pro-001"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "256M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "256M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
- "./vertexai:/vertexai"
|
||||
"text-completion-rag":
|
||||
"command":
|
||||
- "text-completion-vertexai"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "/vertexai/private.json"
|
||||
- "-r"
|
||||
- "us-central1"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-m"
|
||||
- "gemini-1.0-pro-001"
|
||||
- "-i"
|
||||
- "non-persistent://tg/request/text-completion-rag"
|
||||
- "-o"
|
||||
- "non-persistent://tg/response/text-completion-rag-response"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "256M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "256M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
- "./vertexai:/vertexai"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"cassandra": {}
|
||||
"grafana-storage": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,484 +0,0 @@
|
|||
"services":
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"neo4j":
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1.0"
|
||||
"memory": "768M"
|
||||
"reservations":
|
||||
"cpus": "0.5"
|
||||
"memory": "768M"
|
||||
"environment":
|
||||
"NEO4J_AUTH": "neo4j/password"
|
||||
"image": "docker.io/neo4j:5.22.0-community-bullseye"
|
||||
"ports":
|
||||
- "7474:7474"
|
||||
- "7687:7687"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
- "neo4j:/data"
|
||||
"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.9.3"
|
||||
"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-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"prompt-rag":
|
||||
"command":
|
||||
- "prompt-template"
|
||||
- "-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"
|
||||
- "--definition-template"
|
||||
- "<instructions>\nStudy the following text and derive definitions for any discovered entities.\nDo not provide definitions for entities whose definitions are incomplete\nor unknown.\nOutput relationships in JSON format as an arary of objects with fields:\n- entity: the name of the entity\n- definition: English text which defines the entity\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract will be written as plain text. Do not add markdown formatting\nor headers or prefixes. Do not include null or unknown definitions.\n</requirements>"
|
||||
- "--relationship-template"
|
||||
- "<instructions>\nStudy the following text and derive entity relationships. For each\nrelationship, derive the subject, predicate and object of the relationship.\nOutput relationships in JSON format as an arary of objects with fields:\n- subject: the subject of the relationship\n- predicate: the predicate\n- object: the object of the relationship\n- object-entity: false if the object is a simple data type: name, value or date. true if it is an entity.\n</instructions>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not use special characters in the abstract text. The\nabstract must be written as plain text. Do not add markdown formatting\nor headers or prefixes.\n</requirements>"
|
||||
- "--knowledge-query-template"
|
||||
- |
|
||||
Study the following set of knowledge statements. The statements are written in Cypher format that has been extracted from a knowledge graph. Use only the provided set of knowledge statements in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here's the knowledge statements:
|
||||
{graph}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--document-query-template"
|
||||
- |
|
||||
Study the following context. Use only the information provided in the context in your response. Do not speculate if the answer is not found in the provided set of knowledge statements.
|
||||
|
||||
Here is the context:
|
||||
{documents}
|
||||
|
||||
Use only the provided knowledge statements to respond to the following:
|
||||
{query}
|
||||
- "--rows-template"
|
||||
- "<instructions>\nStudy the following text and derive objects which match the schema provided.\n\nYou must output an array of JSON objects for each object you discover\nwhich matches the schema. For each object, output a JSON object whose fields\ncarry the name field specified in the schema.\n</instructions>\n\n<schema>\n{schema}\n</schema>\n\n<text>\n{text}\n</text>\n\n<requirements>\nYou will respond only with raw JSON format data. Do not provide\nexplanations. Do not add markdown formatting or headers or prefixes.\n</requirements>"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"query-triples":
|
||||
"command":
|
||||
- "triples-query-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"store-triples":
|
||||
"command":
|
||||
- "triples-write-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"text-completion":
|
||||
"command":
|
||||
- "text-completion-vertexai"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "/vertexai/private.json"
|
||||
- "-r"
|
||||
- "us-central1"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-m"
|
||||
- "gemini-1.0-pro-001"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "256M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "256M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
- "./vertexai:/vertexai"
|
||||
"text-completion-rag":
|
||||
"command":
|
||||
- "text-completion-vertexai"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-k"
|
||||
- "/vertexai/private.json"
|
||||
- "-r"
|
||||
- "us-central1"
|
||||
- "-x"
|
||||
- "4096"
|
||||
- "-t"
|
||||
- "0"
|
||||
- "-m"
|
||||
- "gemini-1.0-pro-001"
|
||||
- "-i"
|
||||
- "non-persistent://tg/request/text-completion-rag"
|
||||
- "-o"
|
||||
- "non-persistent://tg/response/text-completion-rag-response"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "256M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "256M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
- "./vertexai:/vertexai"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"grafana-storage": {}
|
||||
"neo4j": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,214 +0,0 @@
|
|||
"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"
|
||||
"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/"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"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"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"cassandra": {}
|
||||
"grafana-storage": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
|
|
@ -1,215 +0,0 @@
|
|||
"services":
|
||||
"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/"
|
||||
"init-pulsar":
|
||||
"command":
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while true; do pulsar-admin --admin-url http://pulsar:8080 tenants create tg ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request ; pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response ; pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response; sleep 20; done"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1"
|
||||
"memory": "400M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "400M"
|
||||
"image": "docker.io/apachepulsar/pulsar:3.3.1"
|
||||
"restart": "on-failure:100"
|
||||
"neo4j":
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "1.0"
|
||||
"memory": "768M"
|
||||
"reservations":
|
||||
"cpus": "0.5"
|
||||
"memory": "768M"
|
||||
"environment":
|
||||
"NEO4J_AUTH": "neo4j/password"
|
||||
"image": "docker.io/neo4j:5.22.0-community-bullseye"
|
||||
"ports":
|
||||
- "7474:7474"
|
||||
- "7687:7687"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
- "neo4j:/data"
|
||||
"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"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"query-triples":
|
||||
"command":
|
||||
- "triples-query-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"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.9.3"
|
||||
"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.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"store-triples":
|
||||
"command":
|
||||
- "triples-write-neo4j"
|
||||
- "-p"
|
||||
- "pulsar://pulsar:6650"
|
||||
- "-g"
|
||||
- "bolt://neo4j:7687"
|
||||
"deploy":
|
||||
"resources":
|
||||
"limits":
|
||||
"cpus": "0.5"
|
||||
"memory": "128M"
|
||||
"reservations":
|
||||
"cpus": "0.1"
|
||||
"memory": "128M"
|
||||
"image": "docker.io/trustgraph/trustgraph-flow:0.9.3"
|
||||
"restart": "on-failure:100"
|
||||
"volumes":
|
||||
"grafana-storage": {}
|
||||
"neo4j": {}
|
||||
"prometheus-data": {}
|
||||
"pulsar-data": {}
|
||||
"qdrant": {}
|
||||
Loading…
Add table
Add a link
Reference in a new issue