Module: Legion::Extensions::Apollo::Runners::Request

Extended by:
Request, Logging::Helper
Includes:
Logging::Helper
Included in:
Request
Defined in:
lib/legion/extensions/apollo/runners/request.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.data_required?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/legion/extensions/apollo/runners/request.rb', line 14

def self.data_required?
  false
end

Instance Method Details

#ingest(content:, content_type:, tags: [], source_agent: 'unknown') ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
# File 'lib/legion/extensions/apollo/runners/request.rb', line 43

def ingest(content:, content_type:, tags: [], source_agent: 'unknown', **)
  if local_service_available?
    knowledge_host.handle_ingest(content: content, content_type: content_type,
                                 tags: tags, source_agent: source_agent, **)
  elsif transport_available?
    publish_ingest(content: content, content_type: content_type,
                   tags: tags, source_agent: source_agent, **)
  else
    { success: false, error: :no_path_available }
  end
end

#query(text:, limit: Helpers::GraphQuery.default_query_limit, min_confidence: Helpers::GraphQuery.default_query_min_confidence, tags: nil, domain: nil, agent_id: 'unknown') ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/legion/extensions/apollo/runners/request.rb', line 18

def query(text:, limit: Helpers::GraphQuery.default_query_limit, min_confidence: Helpers::GraphQuery.default_query_min_confidence, tags: nil,
          domain: nil, agent_id: 'unknown', **)
  if local_service_available?
    knowledge_host.handle_query(query: text, limit: limit, min_confidence: min_confidence,
                                tags: tags, domain: domain, agent_id: agent_id)
  elsif transport_available?
    publish_query(action: :query, query: text, limit: limit, min_confidence: min_confidence,
                  tags: tags, domain: domain)
  else
    { success: false, error: :no_path_available }
  end
end

#retrieve(text:, limit: 5, min_confidence: Helpers::GraphQuery.default_query_min_confidence, tags: nil, domain: nil) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/legion/extensions/apollo/runners/request.rb', line 31

def retrieve(text:, limit: 5, min_confidence: Helpers::GraphQuery.default_query_min_confidence, tags: nil, domain: nil, **)
  if local_service_available?
    knowledge_host.retrieve_relevant(query: text, limit: limit, min_confidence: min_confidence,
                                     tags: tags, domain: domain)
  elsif transport_available?
    publish_query(action: :query, query: text, limit: limit, min_confidence: min_confidence,
                  tags: tags, domain: domain)
  else
    { success: false, error: :no_path_available }
  end
end

#traverse(entry_id:, depth: Helpers::GraphQuery.default_depth, relation_types: nil, agent_id: 'unknown') ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
# File 'lib/legion/extensions/apollo/runners/request.rb', line 55

def traverse(entry_id:, depth: Helpers::GraphQuery.default_depth, relation_types: nil, agent_id: 'unknown', **)
  if local_service_available?
    knowledge_host.handle_traverse(entry_id: entry_id, depth: depth,
                                   relation_types: relation_types, agent_id: agent_id)
  elsif transport_available?
    publish_query(action: :traverse, entry_id: entry_id, depth: depth,
                  relation_types: relation_types)
  else
    { success: false, error: :no_path_available }
  end
end