Skip to content

Commit 2d5dd69

Browse files
committed
feat: add search method to vector stores and corresponding specs
1 parent d1ba292 commit 2d5dd69

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

lib/openai/vector_stores.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,9 @@ def modify(id:, parameters: {})
2323
def delete(id:)
2424
@client.delete(path: "/vector_stores/#{id}")
2525
end
26+
27+
def search(id:, parameters: {})
28+
@client.json_post(path: "/vector_stores/#{id}/search", parameters: parameters)
29+
end
2630
end
2731
end

spec/openai/client/vector_stores_spec.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,5 +72,27 @@
7272
end
7373
end
7474
end
75+
76+
describe "#search" do
77+
let(:cassette) { "vector_stores search" }
78+
let(:response) do
79+
OpenAI::Client.new.vector_stores.search(
80+
id: vector_store_id,
81+
parameters: {
82+
query: "Test search query",
83+
max_num_results: 5,
84+
rewrite_query: false
85+
}
86+
)
87+
end
88+
89+
it "succeeds" do
90+
VCR.use_cassette(cassette) do
91+
expect(response["object"]).to eq("vector_store.search_results.page")
92+
expect(response).to have_key("search_query")
93+
expect(response).to have_key("data")
94+
end
95+
end
96+
end
7597
end
7698
end

0 commit comments

Comments
 (0)