Class: VoiceML::AssistantsV1KnowledgeResource

Inherits:
Object
  • Object
show all
Defined in:
lib/voiceml/resources/assistants_v1.rb

Overview

============================================================================

/v1/Knowledge — 5 CRUD ops on the top-level Knowledge resource. list accepts an optional assistant_id: filter (wire name AssistantId).

Constant Summary collapse

CREATE_FIELDS =
%i[name type assistant_id description embedding_model knowledge_source_details].freeze
UPDATE_FIELDS =
%i[name type description embedding_model knowledge_source_details].freeze

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ AssistantsV1KnowledgeResource

Returns a new instance of AssistantsV1KnowledgeResource.



344
345
346
# File 'lib/voiceml/resources/assistants_v1.rb', line 344

def initialize(transport)
  @transport = transport
end

Instance Method Details

#create(name:, type:, **kwargs) ⇒ Object



355
356
357
358
359
360
361
# File 'lib/voiceml/resources/assistants_v1.rb', line 355

def create(name:, type:, **kwargs)
  kwargs[:name] = name
  kwargs[:type] = type
  AssistantsV1Knowledge.from_hash(
    @transport.request(:post, '/v1/Knowledge', json: build_json(CREATE_FIELDS, kwargs))
  )
end

#delete(id) ⇒ Object



373
374
375
376
# File 'lib/voiceml/resources/assistants_v1.rb', line 373

def delete(id)
  @transport.request(:delete, "/v1/Knowledge/#{id}")
  nil
end

#fetch(id) ⇒ Object



363
364
365
# File 'lib/voiceml/resources/assistants_v1.rb', line 363

def fetch(id)
  AssistantsV1Knowledge.from_hash(@transport.request(:get, "/v1/Knowledge/#{id}"))
end

#list(assistant_id: nil, page_size: nil) ⇒ Object



348
349
350
351
352
353
# File 'lib/voiceml/resources/assistants_v1.rb', line 348

def list(assistant_id: nil, page_size: nil)
  params = {}
  params['AssistantId'] = assistant_id unless assistant_id.nil?
  params['PageSize']    = page_size    unless page_size.nil?
  AssistantsV1KnowledgeList.new(@transport.request(:get, '/v1/Knowledge', params: params))
end

#update(id, **kwargs) ⇒ Object



367
368
369
370
371
# File 'lib/voiceml/resources/assistants_v1.rb', line 367

def update(id, **kwargs)
  AssistantsV1Knowledge.from_hash(
    @transport.request(:put, "/v1/Knowledge/#{id}", json: build_json(UPDATE_FIELDS, kwargs))
  )
end