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

Extended by:
Request
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)


10
11
12
# File 'lib/legion/extensions/apollo/runners/request.rb', line 10

def self.data_required?
  false
end

Instance Method Details

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



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/legion/extensions/apollo/runners/request.rb', line 39

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



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/legion/extensions/apollo/runners/request.rb', line 14

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



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/legion/extensions/apollo/runners/request.rb', line 27

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



51
52
53
54
55
56
57
58
59
60
61
# File 'lib/legion/extensions/apollo/runners/request.rb', line 51

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