mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-07-03 15:01:00 +02:00
git-subtree-dir: ai-context/trustgraph-templates git-subtree-split: 42a5fd1b678f32be378062e30451e2052ccb95dd
66 lines
2.1 KiB
Jsonnet
66 lines
2.1 KiB
Jsonnet
// Shared LLM services module
|
|
// Provides text completion, prompt processing, and metering services
|
|
// Import this module in any flow that requires LLM functionality
|
|
|
|
local helpers = import "helpers.jsonnet";
|
|
local request = helpers.request;
|
|
local response = helpers.response;
|
|
local request_response = helpers.request_response;
|
|
local llm_parameters = import "llm-parameters.jsonnet";
|
|
|
|
{
|
|
// Interfaces exposed by LLM services
|
|
"interfaces" +: {
|
|
"prompt": request_response("prompt:{id}"),
|
|
"text-completion": request_response("text-completion:{id}"),
|
|
},
|
|
|
|
// LLM configuration parameters
|
|
"parameters" +: llm_parameters,
|
|
|
|
// Flow-level processors for LLM services
|
|
"flow" +: {
|
|
// Primary text completion service
|
|
"text-completion:{id}": {
|
|
request: request("text-completion:{id}"),
|
|
response: response("text-completion:{id}"),
|
|
model: "{llm-model}",
|
|
},
|
|
|
|
// RAG-specific text completion (may use different model)
|
|
"text-completion-rag:{id}": {
|
|
request: request("text-completion-rag:{id}"),
|
|
response: response("text-completion-rag:{id}"),
|
|
model: "{llm-rag-model}",
|
|
},
|
|
|
|
// Prompt processing service
|
|
"prompt:{id}": {
|
|
request: request("prompt:{id}"),
|
|
response: response("prompt:{id}"),
|
|
"text-completion-request": request("text-completion:{id}"),
|
|
"text-completion-response": response("text-completion:{id}"),
|
|
},
|
|
|
|
// RAG-specific prompt processing
|
|
"prompt-rag:{id}": {
|
|
request: request("prompt-rag:{id}"),
|
|
response: response("prompt-rag:{id}"),
|
|
"text-completion-request": request("text-completion-rag:{id}"),
|
|
"text-completion-response": response("text-completion-rag:{id}"),
|
|
},
|
|
|
|
// Usage metering for primary completion
|
|
"metering:{id}": {
|
|
input: response("text-completion:{id}"),
|
|
},
|
|
|
|
// Usage metering for RAG completion
|
|
"metering-rag:{id}": {
|
|
input: response("text-completion-rag:{id}"),
|
|
},
|
|
},
|
|
|
|
"blueprint" +: {
|
|
},
|
|
}
|