Class: MoondreamClient::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/moondream-client/query.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes, client: MoondreamClient.client) ⇒ Query

Initialize a new Query result object.

Parameters:

  • attributes (Hash)

    Raw attributes from the /query endpoint response.

  • client (MoondreamClient::Client) (defaults to: MoondreamClient.client)


15
16
17
18
# File 'lib/moondream-client/query.rb', line 15

def initialize(attributes, client: MoondreamClient.client)
  @client = client
  reset_attributes(attributes)
end

Instance Attribute Details

#answerString (readonly)

Returns The model's answer text.

Returns:

  • (String)

    The model's answer text.



9
10
11
# File 'lib/moondream-client/query.rb', line 9

def answer
  @answer
end

#request_idString (readonly)

Returns The server-generated request identifier.

Returns:

  • (String)

    The server-generated request identifier.



6
7
8
# File 'lib/moondream-client/query.rb', line 6

def request_id
  @request_id
end

Class Method Details

.create!(image_url:, question:, client: MoondreamClient.client) ⇒ MoondreamClient::Query

Ask a question about an image. Corresponds to POST /query

Parameters:

Returns:



29
30
31
32
33
34
35
36
37
38
# File 'lib/moondream-client/query.rb', line 29

def create!(image_url:, question:, client: MoondreamClient.client)
  image_data_url = MoondreamClient::Image.to_data_url(image_url)
  payload = {
    image_url: image_data_url,
    question: question
  }

  attributes = client.post("/query", payload)
  new(attributes, client: client)
end