Class: OpenAI::Resources::VectorStores

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

Defined Under Namespace

Classes: FileBatches, Files

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ VectorStores

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 VectorStores.

Parameters:



188
189
190
191
192
# File 'lib/openai/resources/vector_stores.rb', line 188

def initialize(client:)
  @client = client
  @files = OpenAI::Resources::VectorStores::Files.new(client: client)
  @file_batches = OpenAI::Resources::VectorStores::FileBatches.new(client: client)
end

Instance Attribute Details

#file_batchesOpenAI::Resources::VectorStores::FileBatches (readonly)



10
11
12
# File 'lib/openai/resources/vector_stores.rb', line 10

def file_batches
  @file_batches
end

#filesOpenAI::Resources::VectorStores::Files (readonly)



7
8
9
# File 'lib/openai/resources/vector_stores.rb', line 7

def files
  @files
end

Instance Method Details

#create(chunking_strategy: nil, expires_after: nil, file_ids: nil, metadata: nil, name: nil, request_options: {}) ⇒ OpenAI::Models::VectorStore

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

Create a vector store.

Parameters:

Returns:

See Also:



34
35
36
37
38
39
40
41
42
43
# File 'lib/openai/resources/vector_stores.rb', line 34

def create(params = {})
  parsed, options = OpenAI::VectorStoreCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "vector_stores",
    body: parsed,
    model: OpenAI::VectorStore,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end

#delete(vector_store_id, request_options: {}) ⇒ OpenAI::Models::VectorStoreDeleted

Delete a vector store.

Parameters:

  • vector_store_id (String)

    The ID of the vector store to delete.

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

Returns:

See Also:



139
140
141
142
143
144
145
146
# File 'lib/openai/resources/vector_stores.rb', line 139

def delete(vector_store_id, params = {})
  @client.request(
    method: :delete,
    path: ["vector_stores/%1$s", vector_store_id],
    model: OpenAI::VectorStoreDeleted,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **params[:request_options].to_h}
  )
end

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

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

Returns a list of vector stores.

Parameters:

  • 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

  • limit (Integer)

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

  • order (Symbol, OpenAI::Models::VectorStoreListParams::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:



116
117
118
119
120
121
122
123
124
125
126
# File 'lib/openai/resources/vector_stores.rb', line 116

def list(params = {})
  parsed, options = OpenAI::VectorStoreListParams.dump_request(params)
  @client.request(
    method: :get,
    path: "vector_stores",
    query: parsed,
    page: OpenAI::Internal::CursorPage,
    model: OpenAI::VectorStore,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end

#retrieve(vector_store_id, request_options: {}) ⇒ OpenAI::Models::VectorStore

Retrieves a vector store.

Parameters:

  • vector_store_id (String)

    The ID of the vector store to retrieve.

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

Returns:

See Also:



56
57
58
59
60
61
62
63
# File 'lib/openai/resources/vector_stores.rb', line 56

def retrieve(vector_store_id, params = {})
  @client.request(
    method: :get,
    path: ["vector_stores/%1$s", vector_store_id],
    model: OpenAI::VectorStore,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **params[:request_options].to_h}
  )
end

#search(vector_store_id, query: , filters: nil, max_num_results: nil, ranking_options: nil, rewrite_query: nil, request_options: {}) ⇒ OpenAI::Internal::Page<OpenAI::Models::VectorStoreSearchResponse>

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

Search a vector store for relevant chunks based on a query and file attributes filter.

Parameters:

Returns:

See Also:



173
174
175
176
177
178
179
180
181
182
183
# File 'lib/openai/resources/vector_stores.rb', line 173

def search(vector_store_id, params)
  parsed, options = OpenAI::VectorStoreSearchParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["vector_stores/%1$s/search", vector_store_id],
    body: parsed,
    page: OpenAI::Internal::Page,
    model: OpenAI::Models::VectorStoreSearchResponse,
    options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
  )
end

#update(vector_store_id, expires_after: nil, metadata: nil, name: nil, request_options: {}) ⇒ OpenAI::Models::VectorStore

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

Modifies a vector store.

Parameters:

  • vector_store_id (String)

    The ID of the vector store to modify.

  • expires_after (OpenAI::Models::VectorStoreUpdateParams::ExpiresAfter, nil)

    The expiration policy for a vector store.

  • metadata (Hash{Symbol=>String}, nil)

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

  • name (String, nil)

    The name of the vector store.

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

Returns:

See Also:



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

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