mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-07-16 16:51:02 +02:00
Plumb prompt into extraction
This commit is contained in:
parent
428a869a93
commit
1818e3c72b
17 changed files with 331 additions and 107 deletions
|
|
@ -56,10 +56,10 @@
|
||||||
- "graph-rag"
|
- "graph-rag"
|
||||||
- "-p"
|
- "-p"
|
||||||
- "pulsar://pulsar:6650"
|
- "pulsar://pulsar:6650"
|
||||||
- "--text-completion-request-queue"
|
- "--prompt-request-queue"
|
||||||
- "non-persistent://tg/request/text-completion-rag"
|
- "non-persistent://tg/request/prompt-rag"
|
||||||
- "--text-completion-response-queue"
|
- "--prompt-response-queue"
|
||||||
- "non-persistent://tg/response/text-completion-rag-response"
|
- "non-persistent://tg/response/prompt-rag-response"
|
||||||
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
"restart": "on-failure:100"
|
"restart": "on-failure:100"
|
||||||
"init-pulsar":
|
"init-pulsar":
|
||||||
|
|
@ -132,6 +132,32 @@
|
||||||
"volumes":
|
"volumes":
|
||||||
- "./prometheus:/etc/prometheus"
|
- "./prometheus:/etc/prometheus"
|
||||||
- "prometheus-data:/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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
|
"restart": "on-failure:100"
|
||||||
"pulsar":
|
"pulsar":
|
||||||
"command": "bin/pulsar standalone"
|
"command": "bin/pulsar standalone"
|
||||||
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
||||||
|
|
|
||||||
|
|
@ -60,10 +60,10 @@
|
||||||
- "graph-rag"
|
- "graph-rag"
|
||||||
- "-p"
|
- "-p"
|
||||||
- "pulsar://pulsar:6650"
|
- "pulsar://pulsar:6650"
|
||||||
- "--text-completion-request-queue"
|
- "--prompt-request-queue"
|
||||||
- "non-persistent://tg/request/text-completion-rag"
|
- "non-persistent://tg/request/prompt-rag"
|
||||||
- "--text-completion-response-queue"
|
- "--prompt-response-queue"
|
||||||
- "non-persistent://tg/response/text-completion-rag-response"
|
- "non-persistent://tg/response/prompt-rag-response"
|
||||||
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
"restart": "on-failure:100"
|
"restart": "on-failure:100"
|
||||||
"init-pulsar":
|
"init-pulsar":
|
||||||
|
|
@ -136,6 +136,32 @@
|
||||||
"volumes":
|
"volumes":
|
||||||
- "./prometheus:/etc/prometheus"
|
- "./prometheus:/etc/prometheus"
|
||||||
- "prometheus-data:/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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
|
"restart": "on-failure:100"
|
||||||
"pulsar":
|
"pulsar":
|
||||||
"command": "bin/pulsar standalone"
|
"command": "bin/pulsar standalone"
|
||||||
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
||||||
|
|
|
||||||
|
|
@ -56,10 +56,10 @@
|
||||||
- "graph-rag"
|
- "graph-rag"
|
||||||
- "-p"
|
- "-p"
|
||||||
- "pulsar://pulsar:6650"
|
- "pulsar://pulsar:6650"
|
||||||
- "--text-completion-request-queue"
|
- "--prompt-request-queue"
|
||||||
- "non-persistent://tg/request/text-completion-rag"
|
- "non-persistent://tg/request/prompt-rag"
|
||||||
- "--text-completion-response-queue"
|
- "--prompt-response-queue"
|
||||||
- "non-persistent://tg/response/text-completion-rag-response"
|
- "non-persistent://tg/response/prompt-rag-response"
|
||||||
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
"restart": "on-failure:100"
|
"restart": "on-failure:100"
|
||||||
"init-pulsar":
|
"init-pulsar":
|
||||||
|
|
@ -132,6 +132,32 @@
|
||||||
"volumes":
|
"volumes":
|
||||||
- "./prometheus:/etc/prometheus"
|
- "./prometheus:/etc/prometheus"
|
||||||
- "prometheus-data:/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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
|
"restart": "on-failure:100"
|
||||||
"pulsar":
|
"pulsar":
|
||||||
"command": "bin/pulsar standalone"
|
"command": "bin/pulsar standalone"
|
||||||
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
||||||
|
|
|
||||||
|
|
@ -60,10 +60,10 @@
|
||||||
- "graph-rag"
|
- "graph-rag"
|
||||||
- "-p"
|
- "-p"
|
||||||
- "pulsar://pulsar:6650"
|
- "pulsar://pulsar:6650"
|
||||||
- "--text-completion-request-queue"
|
- "--prompt-request-queue"
|
||||||
- "non-persistent://tg/request/text-completion-rag"
|
- "non-persistent://tg/request/prompt-rag"
|
||||||
- "--text-completion-response-queue"
|
- "--prompt-response-queue"
|
||||||
- "non-persistent://tg/response/text-completion-rag-response"
|
- "non-persistent://tg/response/prompt-rag-response"
|
||||||
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
"restart": "on-failure:100"
|
"restart": "on-failure:100"
|
||||||
"init-pulsar":
|
"init-pulsar":
|
||||||
|
|
@ -136,6 +136,32 @@
|
||||||
"volumes":
|
"volumes":
|
||||||
- "./prometheus:/etc/prometheus"
|
- "./prometheus:/etc/prometheus"
|
||||||
- "prometheus-data:/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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
|
"restart": "on-failure:100"
|
||||||
"pulsar":
|
"pulsar":
|
||||||
"command": "bin/pulsar standalone"
|
"command": "bin/pulsar standalone"
|
||||||
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
||||||
|
|
|
||||||
|
|
@ -60,10 +60,10 @@
|
||||||
- "graph-rag"
|
- "graph-rag"
|
||||||
- "-p"
|
- "-p"
|
||||||
- "pulsar://pulsar:6650"
|
- "pulsar://pulsar:6650"
|
||||||
- "--text-completion-request-queue"
|
- "--prompt-request-queue"
|
||||||
- "non-persistent://tg/request/text-completion-rag"
|
- "non-persistent://tg/request/prompt-rag"
|
||||||
- "--text-completion-response-queue"
|
- "--prompt-response-queue"
|
||||||
- "non-persistent://tg/response/text-completion-rag-response"
|
- "non-persistent://tg/response/prompt-rag-response"
|
||||||
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
"restart": "on-failure:100"
|
"restart": "on-failure:100"
|
||||||
"init-pulsar":
|
"init-pulsar":
|
||||||
|
|
@ -136,6 +136,32 @@
|
||||||
"volumes":
|
"volumes":
|
||||||
- "./prometheus:/etc/prometheus"
|
- "./prometheus:/etc/prometheus"
|
||||||
- "prometheus-data:/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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
|
"restart": "on-failure:100"
|
||||||
"pulsar":
|
"pulsar":
|
||||||
"command": "bin/pulsar standalone"
|
"command": "bin/pulsar standalone"
|
||||||
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
||||||
|
|
|
||||||
|
|
@ -56,10 +56,10 @@
|
||||||
- "graph-rag"
|
- "graph-rag"
|
||||||
- "-p"
|
- "-p"
|
||||||
- "pulsar://pulsar:6650"
|
- "pulsar://pulsar:6650"
|
||||||
- "--text-completion-request-queue"
|
- "--prompt-request-queue"
|
||||||
- "non-persistent://tg/request/text-completion-rag"
|
- "non-persistent://tg/request/prompt-rag"
|
||||||
- "--text-completion-response-queue"
|
- "--prompt-response-queue"
|
||||||
- "non-persistent://tg/response/text-completion-rag-response"
|
- "non-persistent://tg/response/prompt-rag-response"
|
||||||
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
"restart": "on-failure:100"
|
"restart": "on-failure:100"
|
||||||
"init-pulsar":
|
"init-pulsar":
|
||||||
|
|
@ -132,6 +132,32 @@
|
||||||
"volumes":
|
"volumes":
|
||||||
- "./prometheus:/etc/prometheus"
|
- "./prometheus:/etc/prometheus"
|
||||||
- "prometheus-data:/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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
|
"restart": "on-failure:100"
|
||||||
"pulsar":
|
"pulsar":
|
||||||
"command": "bin/pulsar standalone"
|
"command": "bin/pulsar standalone"
|
||||||
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
||||||
|
|
|
||||||
|
|
@ -56,10 +56,10 @@
|
||||||
- "graph-rag"
|
- "graph-rag"
|
||||||
- "-p"
|
- "-p"
|
||||||
- "pulsar://pulsar:6650"
|
- "pulsar://pulsar:6650"
|
||||||
- "--text-completion-request-queue"
|
- "--prompt-request-queue"
|
||||||
- "non-persistent://tg/request/text-completion-rag"
|
- "non-persistent://tg/request/prompt-rag"
|
||||||
- "--text-completion-response-queue"
|
- "--prompt-response-queue"
|
||||||
- "non-persistent://tg/response/text-completion-rag-response"
|
- "non-persistent://tg/response/prompt-rag-response"
|
||||||
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
"restart": "on-failure:100"
|
"restart": "on-failure:100"
|
||||||
"init-pulsar":
|
"init-pulsar":
|
||||||
|
|
@ -132,6 +132,32 @@
|
||||||
"volumes":
|
"volumes":
|
||||||
- "./prometheus:/etc/prometheus"
|
- "./prometheus:/etc/prometheus"
|
||||||
- "prometheus-data:/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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
|
"restart": "on-failure:100"
|
||||||
"pulsar":
|
"pulsar":
|
||||||
"command": "bin/pulsar standalone"
|
"command": "bin/pulsar standalone"
|
||||||
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
||||||
|
|
|
||||||
|
|
@ -56,10 +56,10 @@
|
||||||
- "graph-rag"
|
- "graph-rag"
|
||||||
- "-p"
|
- "-p"
|
||||||
- "pulsar://pulsar:6650"
|
- "pulsar://pulsar:6650"
|
||||||
- "--text-completion-request-queue"
|
- "--prompt-request-queue"
|
||||||
- "non-persistent://tg/request/text-completion-rag"
|
- "non-persistent://tg/request/prompt-rag"
|
||||||
- "--text-completion-response-queue"
|
- "--prompt-response-queue"
|
||||||
- "non-persistent://tg/response/text-completion-rag-response"
|
- "non-persistent://tg/response/prompt-rag-response"
|
||||||
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
"restart": "on-failure:100"
|
"restart": "on-failure:100"
|
||||||
"init-pulsar":
|
"init-pulsar":
|
||||||
|
|
@ -132,6 +132,32 @@
|
||||||
"volumes":
|
"volumes":
|
||||||
- "./prometheus:/etc/prometheus"
|
- "./prometheus:/etc/prometheus"
|
||||||
- "prometheus-data:/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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.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"
|
||||||
|
"image": "docker.io/trustgraph/trustgraph-flow:0.6.0"
|
||||||
|
"restart": "on-failure:100"
|
||||||
"pulsar":
|
"pulsar":
|
||||||
"command": "bin/pulsar standalone"
|
"command": "bin/pulsar standalone"
|
||||||
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
"image": "docker.io/apachepulsar/pulsar:3.3.0"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
from trustgraph.model.language.prompt.generic import run
|
from trustgraph.model.prompt.generic import run
|
||||||
|
|
||||||
run()
|
run()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -116,6 +116,36 @@ local cassandra_hosts = "cassandra";
|
||||||
"graph-rag",
|
"graph-rag",
|
||||||
"-p",
|
"-p",
|
||||||
url.pulsar,
|
url.pulsar,
|
||||||
|
"--prompt-request-queue",
|
||||||
|
"non-persistent://tg/request/prompt-rag",
|
||||||
|
"--prompt-response-queue",
|
||||||
|
"non-persistent://tg/response/prompt-rag-response",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
"prompt": base + {
|
||||||
|
image: images.trustgraph,
|
||||||
|
command: [
|
||||||
|
"prompt-generic",
|
||||||
|
"-p",
|
||||||
|
url.pulsar,
|
||||||
|
"--text-completion-request-queue",
|
||||||
|
"non-persistent://tg/request/text-completion",
|
||||||
|
"--text-completion-response-queue",
|
||||||
|
"non-persistent://tg/response/text-completion-response",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
"prompt-rag": base + {
|
||||||
|
image: images.trustgraph,
|
||||||
|
command: [
|
||||||
|
"prompt-generic",
|
||||||
|
"-p",
|
||||||
|
url.pulsar,
|
||||||
|
"-i",
|
||||||
|
"non-persistent://tg/request/prompt-rag",
|
||||||
|
"-o",
|
||||||
|
"non-persistent://tg/response/prompt-rag-response",
|
||||||
"--text-completion-request-queue",
|
"--text-completion-request-queue",
|
||||||
"non-persistent://tg/request/text-completion-rag",
|
"non-persistent://tg/request/text-completion-rag",
|
||||||
"--text-completion-response-queue",
|
"--text-completion-response-queue",
|
||||||
|
|
@ -126,3 +156,4 @@ local cassandra_hosts = "cassandra";
|
||||||
},
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,10 @@ import json
|
||||||
|
|
||||||
from ... schema import ChunkEmbeddings, Triple, Source, Value
|
from ... schema import ChunkEmbeddings, Triple, Source, Value
|
||||||
from ... schema import chunk_embeddings_ingest_queue, triples_store_queue
|
from ... schema import chunk_embeddings_ingest_queue, triples_store_queue
|
||||||
from ... schema import text_completion_request_queue
|
from ... schema import prompt_request_queue
|
||||||
from ... schema import text_completion_response_queue
|
from ... schema import prompt_response_queue
|
||||||
from ... log_level import LogLevel
|
from ... log_level import LogLevel
|
||||||
from ... llm_client import LlmClient
|
from ... prompt_client import PromptClient
|
||||||
from ... prompts import to_definitions
|
|
||||||
from ... rdf import TRUSTGRAPH_ENTITIES, DEFINITION
|
from ... rdf import TRUSTGRAPH_ENTITIES, DEFINITION
|
||||||
from ... base import ConsumerProducer
|
from ... base import ConsumerProducer
|
||||||
|
|
||||||
|
|
@ -32,11 +31,11 @@ class Processor(ConsumerProducer):
|
||||||
input_queue = params.get("input_queue", default_input_queue)
|
input_queue = params.get("input_queue", default_input_queue)
|
||||||
output_queue = params.get("output_queue", default_output_queue)
|
output_queue = params.get("output_queue", default_output_queue)
|
||||||
subscriber = params.get("subscriber", default_subscriber)
|
subscriber = params.get("subscriber", default_subscriber)
|
||||||
tc_request_queue = params.get(
|
pr_request_queue = params.get(
|
||||||
"text_completion_request_queue", text_completion_request_queue
|
"prompt_request_queue", prompt_request_queue
|
||||||
)
|
)
|
||||||
tc_response_queue = params.get(
|
pr_response_queue = params.get(
|
||||||
"text_completion_response_queue", text_completion_response_queue
|
"prompt_response_queue", prompt_response_queue
|
||||||
)
|
)
|
||||||
|
|
||||||
super(Processor, self).__init__(
|
super(Processor, self).__init__(
|
||||||
|
|
@ -46,16 +45,16 @@ class Processor(ConsumerProducer):
|
||||||
"subscriber": subscriber,
|
"subscriber": subscriber,
|
||||||
"input_schema": ChunkEmbeddings,
|
"input_schema": ChunkEmbeddings,
|
||||||
"output_schema": Triple,
|
"output_schema": Triple,
|
||||||
"text_completion_request_queue": tc_request_queue,
|
"prompt_request_queue": pr_request_queue,
|
||||||
"text_completion_response_queue": tc_response_queue,
|
"prompt_response_queue": pr_response_queue,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
self.llm = LlmClient(
|
self.prompt = PromptClient(
|
||||||
pulsar_host=self.pulsar_host,
|
pulsar_host=self.pulsar_host,
|
||||||
input_queue=tc_request_queue,
|
input_queue=pr_request_queue,
|
||||||
output_queue=tc_response_queue,
|
output_queue=pr_response_queue,
|
||||||
subscriber = module + "-llm",
|
subscriber = module + "-prompt",
|
||||||
)
|
)
|
||||||
|
|
||||||
def to_uri(self, text):
|
def to_uri(self, text):
|
||||||
|
|
@ -68,12 +67,7 @@ class Processor(ConsumerProducer):
|
||||||
|
|
||||||
def get_definitions(self, chunk):
|
def get_definitions(self, chunk):
|
||||||
|
|
||||||
prompt = to_definitions(chunk)
|
return self.prompt.request_definitions(chunk)
|
||||||
resp = self.llm.request(prompt)
|
|
||||||
|
|
||||||
defs = json.loads(resp)
|
|
||||||
|
|
||||||
return defs
|
|
||||||
|
|
||||||
def emit_edge(self, s, p, o):
|
def emit_edge(self, s, p, o):
|
||||||
|
|
||||||
|
|
@ -90,14 +84,13 @@ class Processor(ConsumerProducer):
|
||||||
try:
|
try:
|
||||||
|
|
||||||
defs = self.get_definitions(chunk)
|
defs = self.get_definitions(chunk)
|
||||||
print(json.dumps(defs, indent=4), flush=True)
|
|
||||||
|
|
||||||
for defn in defs:
|
for defn in defs:
|
||||||
|
|
||||||
s = defn["entity"]
|
s = defn.name
|
||||||
s_uri = self.to_uri(s)
|
s_uri = self.to_uri(s)
|
||||||
|
|
||||||
o = defn["definition"]
|
o = defn.definition
|
||||||
|
|
||||||
if s == "": continue
|
if s == "": continue
|
||||||
if o == "": continue
|
if o == "": continue
|
||||||
|
|
@ -121,15 +114,15 @@ class Processor(ConsumerProducer):
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--text-completion-request-queue',
|
'--prompt-request-queue',
|
||||||
default=text_completion_request_queue,
|
default=prompt_request_queue,
|
||||||
help=f'Text completion request queue (default: {text_completion_request_queue})',
|
help=f'Prompt request queue (default: {prompt_request_queue})',
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--text-completion-response-queue',
|
'--prompt-completion-response-queue',
|
||||||
default=text_completion_response_queue,
|
default=prompt_response_queue,
|
||||||
help=f'Text completion response queue (default: {text_completion_response_queue})',
|
help=f'Prompt response queue (default: {prompt_response_queue})',
|
||||||
)
|
)
|
||||||
|
|
||||||
def run():
|
def run():
|
||||||
|
|
|
||||||
|
|
@ -6,18 +6,16 @@ graph edges.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
import json
|
|
||||||
import os
|
import os
|
||||||
from pulsar.schema import JsonSchema
|
from pulsar.schema import JsonSchema
|
||||||
|
|
||||||
from ... schema import ChunkEmbeddings, Triple, GraphEmbeddings, Source, Value
|
from ... schema import ChunkEmbeddings, Triple, GraphEmbeddings, Source, Value
|
||||||
from ... schema import chunk_embeddings_ingest_queue, triples_store_queue
|
from ... schema import chunk_embeddings_ingest_queue, triples_store_queue
|
||||||
from ... schema import graph_embeddings_store_queue
|
from ... schema import graph_embeddings_store_queue
|
||||||
from ... schema import text_completion_request_queue
|
from ... schema import prompt_request_queue
|
||||||
from ... schema import text_completion_response_queue
|
from ... schema import prompt_response_queue
|
||||||
from ... log_level import LogLevel
|
from ... log_level import LogLevel
|
||||||
from ... llm_client import LlmClient
|
from ... prompt_client import PromptClient
|
||||||
from ... prompts import to_relationships
|
|
||||||
from ... rdf import RDF_LABEL, TRUSTGRAPH_ENTITIES
|
from ... rdf import RDF_LABEL, TRUSTGRAPH_ENTITIES
|
||||||
from ... base import ConsumerProducer
|
from ... base import ConsumerProducer
|
||||||
|
|
||||||
|
|
@ -38,11 +36,11 @@ class Processor(ConsumerProducer):
|
||||||
output_queue = params.get("output_queue", default_output_queue)
|
output_queue = params.get("output_queue", default_output_queue)
|
||||||
vector_queue = params.get("vector_queue", default_vector_queue)
|
vector_queue = params.get("vector_queue", default_vector_queue)
|
||||||
subscriber = params.get("subscriber", default_subscriber)
|
subscriber = params.get("subscriber", default_subscriber)
|
||||||
tc_request_queue = params.get(
|
pr_request_queue = params.get(
|
||||||
"text_completion_request_queue", text_completion_request_queue
|
"prompt_request_queue", prompt_request_queue
|
||||||
)
|
)
|
||||||
tc_response_queue = params.get(
|
pr_response_queue = params.get(
|
||||||
"text_completion_response_queue", text_completion_response_queue
|
"prompt_response_queue", prompt_response_queue
|
||||||
)
|
)
|
||||||
|
|
||||||
super(Processor, self).__init__(
|
super(Processor, self).__init__(
|
||||||
|
|
@ -52,8 +50,8 @@ class Processor(ConsumerProducer):
|
||||||
"subscriber": subscriber,
|
"subscriber": subscriber,
|
||||||
"input_schema": ChunkEmbeddings,
|
"input_schema": ChunkEmbeddings,
|
||||||
"output_schema": Triple,
|
"output_schema": Triple,
|
||||||
"text_completion_request_queue": tc_request_queue,
|
"prompt_request_queue": pr_request_queue,
|
||||||
"text_completion_response_queue": tc_response_queue,
|
"prompt_response_queue": pr_response_queue,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -66,19 +64,19 @@ class Processor(ConsumerProducer):
|
||||||
"input_queue": input_queue,
|
"input_queue": input_queue,
|
||||||
"output_queue": output_queue,
|
"output_queue": output_queue,
|
||||||
"vector_queue": vector_queue,
|
"vector_queue": vector_queue,
|
||||||
"text_completion_request_queue": tc_request_queue,
|
"prompt_request_queue": pr_request_queue,
|
||||||
"text_completion_response_queue": tc_response_queue,
|
"prompt_response_queue": pr_response_queue,
|
||||||
"subscriber": subscriber,
|
"subscriber": subscriber,
|
||||||
"input_schema": ChunkEmbeddings.__name__,
|
"input_schema": ChunkEmbeddings.__name__,
|
||||||
"output_schema": Triple.__name__,
|
"output_schema": Triple.__name__,
|
||||||
"vector_schema": GraphEmbeddings.__name__,
|
"vector_schema": GraphEmbeddings.__name__,
|
||||||
})
|
})
|
||||||
|
|
||||||
self.llm = LlmClient(
|
self.prompt = PromptClient(
|
||||||
pulsar_host = self.pulsar_host,
|
pulsar_host=self.pulsar_host,
|
||||||
input_queue=tc_request_queue,
|
input_queue=pr_request_queue,
|
||||||
output_queue=tc_response_queue,
|
output_queue=pr_response_queue,
|
||||||
subscriber = module + "-llm",
|
subscriber = module + "-prompt",
|
||||||
)
|
)
|
||||||
|
|
||||||
def to_uri(self, text):
|
def to_uri(self, text):
|
||||||
|
|
@ -91,12 +89,7 @@ class Processor(ConsumerProducer):
|
||||||
|
|
||||||
def get_relationships(self, chunk):
|
def get_relationships(self, chunk):
|
||||||
|
|
||||||
prompt = to_relationships(chunk)
|
return self.prompt.request_relationships(chunk)
|
||||||
resp = self.llm.request(prompt)
|
|
||||||
|
|
||||||
rels = json.loads(resp)
|
|
||||||
|
|
||||||
return rels
|
|
||||||
|
|
||||||
def emit_edge(self, s, p, o):
|
def emit_edge(self, s, p, o):
|
||||||
|
|
||||||
|
|
@ -118,13 +111,12 @@ class Processor(ConsumerProducer):
|
||||||
try:
|
try:
|
||||||
|
|
||||||
rels = self.get_relationships(chunk)
|
rels = self.get_relationships(chunk)
|
||||||
print(json.dumps(rels, indent=4), flush=True)
|
|
||||||
|
|
||||||
for rel in rels:
|
for rel in rels:
|
||||||
|
|
||||||
s = rel["subject"]
|
s = rel.s
|
||||||
p = rel["predicate"]
|
p = rel.p
|
||||||
o = rel["object"]
|
o = rel.o
|
||||||
|
|
||||||
if s == "": continue
|
if s == "": continue
|
||||||
if p == "": continue
|
if p == "": continue
|
||||||
|
|
@ -136,7 +128,7 @@ class Processor(ConsumerProducer):
|
||||||
p_uri = self.to_uri(p)
|
p_uri = self.to_uri(p)
|
||||||
p_value = Value(value=str(p_uri), is_uri=True)
|
p_value = Value(value=str(p_uri), is_uri=True)
|
||||||
|
|
||||||
if rel["object-entity"]:
|
if rel.o_entity:
|
||||||
o_uri = self.to_uri(o)
|
o_uri = self.to_uri(o)
|
||||||
o_value = Value(value=str(o_uri), is_uri=True)
|
o_value = Value(value=str(o_uri), is_uri=True)
|
||||||
else:
|
else:
|
||||||
|
|
@ -162,7 +154,7 @@ class Processor(ConsumerProducer):
|
||||||
Value(value=str(p), is_uri=False)
|
Value(value=str(p), is_uri=False)
|
||||||
)
|
)
|
||||||
|
|
||||||
if rel["object-entity"]:
|
if rel.o_entity:
|
||||||
# Label for o
|
# Label for o
|
||||||
self.emit_edge(
|
self.emit_edge(
|
||||||
o_value,
|
o_value,
|
||||||
|
|
@ -172,7 +164,7 @@ class Processor(ConsumerProducer):
|
||||||
|
|
||||||
self.emit_vec(s_value, v.vectors)
|
self.emit_vec(s_value, v.vectors)
|
||||||
self.emit_vec(p_value, v.vectors)
|
self.emit_vec(p_value, v.vectors)
|
||||||
if rel["object-entity"]:
|
if rel.o_entity:
|
||||||
self.emit_vec(o_value, v.vectors)
|
self.emit_vec(o_value, v.vectors)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
@ -195,15 +187,15 @@ class Processor(ConsumerProducer):
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--text-completion-request-queue',
|
'--prompt-request-queue',
|
||||||
default=text_completion_request_queue,
|
default=prompt_request_queue,
|
||||||
help=f'Text completion request queue (default: {text_completion_request_queue})',
|
help=f'Prompt request queue (default: {prompt_request_queue})',
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--text-completion-response-queue',
|
'--prompt-response-queue',
|
||||||
default=text_completion_response_queue,
|
default=prompt_response_queue,
|
||||||
help=f'Text completion response queue (default: {text_completion_response_queue})',
|
help=f'Prompt response queue (default: {prompt_response_queue})',
|
||||||
)
|
)
|
||||||
|
|
||||||
def run():
|
def run():
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,14 @@ Language service abstracts prompt engineering from LLM.
|
||||||
|
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from ..... schema import Definition, Relationship, Triple
|
from .... schema import Definition, Relationship, Triple
|
||||||
from ..... schema import PromptRequest, PromptResponse
|
from .... schema import PromptRequest, PromptResponse
|
||||||
from ..... schema import TextCompletionRequest, TextCompletionResponse
|
from .... schema import TextCompletionRequest, TextCompletionResponse
|
||||||
from ..... schema import text_completion_request_queue
|
from .... schema import text_completion_request_queue
|
||||||
from ..... schema import text_completion_response_queue
|
from .... schema import text_completion_response_queue
|
||||||
from ..... schema import prompt_request_queue, prompt_response_queue
|
from .... schema import prompt_request_queue, prompt_response_queue
|
||||||
from ..... base import ConsumerProducer
|
from .... base import ConsumerProducer
|
||||||
from ..... llm_client import LlmClient
|
from .... llm_client import LlmClient
|
||||||
|
|
||||||
from . prompts import to_definitions, to_relationships, to_kg_query
|
from . prompts import to_definitions, to_relationships, to_kg_query
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue