Class: OpenAI::Resources::VectorStores::Files

Inherits:
Object
  • Object
show all
Defined in:
lib/openai/resources/vector_stores/files.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Files

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Files.

Parameters:



197
198
199
# File 'lib/openai/resources/vector_stores/files.rb', line 197

def initialize(client:)
  @client = client
end

Instance Method Details

#content(file_id, vector_store_id: , request_options: {}) ⇒ OpenAI::Internal::Page<OpenAI::Models::VectorStores::FileContentResponse>

Retrieve the parsed contents of a vector store file.

Parameters:

  • file_id (String)

    The ID of the file within the vector store.

  • vector_store_id (String)

    The ID of the vector store.

  • request_options (OpenAI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



179
180
181
182
183
184
185
186
187
188
189
190
191
192
# File 'lib/openai/resources/vector_stores/files.rb', line 179

def content(file_id, params)
  parsed, options = OpenAI::VectorStores::FileContentParams.dump_request(params)
  vector_store_id =
    parsed.delete(:vector_store_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :get,
    path: ["vector_stores/%1$s/files/%2$s/content", vector_store_id, file_id],
    page: OpenAI::Internal::Page,
    model: OpenAI::Models::VectorStores::FileContentResponse,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end

#create(vector_store_id, file_id: , attributes: nil, chunking_strategy: nil, request_options: {}) ⇒ OpenAI::Models::VectorStores::VectorStoreFile

Some parameter documentations has been truncated, see Models::VectorStores::FileCreateParams for more details.

Create a vector store file by attaching a [File](platform.openai.com/docs/api-reference/files) to a [vector store](platform.openai.com/docs/api-reference/vector-stores/object).

Parameters:

Returns:

See Also:



29
30
31
32
33
34
35
36
37
38
# File 'lib/openai/resources/vector_stores/files.rb', line 29

def create(vector_store_id, params)
  parsed, options = OpenAI::VectorStores::FileCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["vector_stores/%1$s/files", vector_store_id],
    body: parsed,
    model: OpenAI::VectorStores::VectorStoreFile,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end

#delete(file_id, vector_store_id: , request_options: {}) ⇒ OpenAI::Models::VectorStores::VectorStoreFileDeleted

Delete a vector store file. This will remove the file from the vector store but the file itself will not be deleted. To delete the file, use the [delete file](platform.openai.com/docs/api-reference/files/delete) endpoint.

Parameters:

  • file_id (String)

    The ID of the file to delete.

  • vector_store_id (String)

    The ID of the vector store that the file belongs to.

  • request_options (OpenAI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'lib/openai/resources/vector_stores/files.rb', line 152

def delete(file_id, params)
  parsed, options = OpenAI::VectorStores::FileDeleteParams.dump_request(params)
  vector_store_id =
    parsed.delete(:vector_store_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :delete,
    path: ["vector_stores/%1$s/files/%2$s", vector_store_id, file_id],
    model: OpenAI::VectorStores::VectorStoreFileDeleted,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end

#list(vector_store_id, after: nil, before: nil, filter: nil, limit: nil, order: nil, request_options: {}) ⇒ OpenAI::Internal::CursorPage<OpenAI::Models::VectorStores::VectorStoreFile>

Some parameter documentations has been truncated, see Models::VectorStores::FileListParams for more details.

Returns a list of vector store files.

Parameters:

  • vector_store_id (String)

    The ID of the vector store that the files belong to.

  • after (String)

    A cursor for use in pagination. ‘after` is an object ID that defines your place

  • before (String)

    A cursor for use in pagination. ‘before` is an object ID that defines your place

  • filter (Symbol, OpenAI::Models::VectorStores::FileListParams::Filter)

    Filter by file status. One of ‘in_progress`, `completed`, `failed`, `cancelled`.

  • limit (Integer)

    A limit on the number of objects to be returned. Limit can range between 1 and 1

  • order (Symbol, OpenAI::Models::VectorStores::FileListParams::Order)

    Sort order by the ‘created_at` timestamp of the objects. `asc` for ascending ord

  • request_options (OpenAI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



124
125
126
127
128
129
130
131
132
133
134
# File 'lib/openai/resources/vector_stores/files.rb', line 124

def list(vector_store_id, params = {})
  parsed, options = OpenAI::VectorStores::FileListParams.dump_request(params)
  @client.request(
    method: :get,
    path: ["vector_stores/%1$s/files", vector_store_id],
    query: parsed,
    page: OpenAI::Internal::CursorPage,
    model: OpenAI::VectorStores::VectorStoreFile,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end

#retrieve(file_id, vector_store_id: , request_options: {}) ⇒ OpenAI::Models::VectorStores::VectorStoreFile

Retrieves a vector store file.

Parameters:

  • file_id (String)

    The ID of the file being retrieved.

  • vector_store_id (String)

    The ID of the vector store that the file belongs to.

  • request_options (OpenAI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/openai/resources/vector_stores/files.rb', line 53

def retrieve(file_id, params)
  parsed, options = OpenAI::VectorStores::FileRetrieveParams.dump_request(params)
  vector_store_id =
    parsed.delete(:vector_store_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :get,
    path: ["vector_stores/%1$s/files/%2$s", vector_store_id, file_id],
    model: OpenAI::VectorStores::VectorStoreFile,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end

#update(file_id, vector_store_id: , attributes: , request_options: {}) ⇒ OpenAI::Models::VectorStores::VectorStoreFile

Some parameter documentations has been truncated, see Models::VectorStores::FileUpdateParams for more details.

Update attributes on a vector store file.

Parameters:

  • file_id (String)

    Path param: The ID of the file to update attributes.

  • vector_store_id (String)

    Path param: The ID of the vector store the file belongs to.

  • attributes (Hash{Symbol=>String, Float, Boolean}, nil)

    Body param: Set of 16 key-value pairs that can be attached to an object. This ca

  • request_options (OpenAI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/openai/resources/vector_stores/files.rb', line 85

def update(file_id, params)
  parsed, options = OpenAI::VectorStores::FileUpdateParams.dump_request(params)
  vector_store_id =
    parsed.delete(:vector_store_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :post,
    path: ["vector_stores/%1$s/files/%2$s", vector_store_id, file_id],
    body: parsed,
    model: OpenAI::VectorStores::VectorStoreFile,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end