Skip to content

Commit 0d7dbf2

Browse files
committed
add embedding method
1 parent 3b54f05 commit 0d7dbf2

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed

examples/example4.lua

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
local openai = require("openai")
2+
local client = openai.new(os.getenv("OPENAI_API_KEY"))
3+
4+
local status, response = client:embedding("Lua is the best programming language ever")
5+
6+
if status == 200 then
7+
print(table.concat(response.data[1].embedding, ", "))
8+
end

openai/init.lua

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,19 @@ do
220220
end
221221
return self:_request("POST", "/completions", payload)
222222
end,
223+
embedding = function(self, input, opts)
224+
assert(input, "input must be provided")
225+
local payload = {
226+
model = "text-embedding-ada-002",
227+
input = input
228+
}
229+
if opts then
230+
for k, v in pairs(opts) do
231+
payload[k] = v
232+
end
233+
end
234+
return self:_request("POST", "/embeddings", payload)
235+
end,
223236
_request = function(self, method, path, payload, more_headers, stream_fn)
224237
assert(path, "missing path")
225238
assert(method, "missing method")

openai/init.moon

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,24 @@ class OpenAI
234234

235235
@_request "POST", "/completions", payload
236236

237+
238+
-- Call /embeddings to generate an embedding for the given text
239+
-- input: A string or array table of strings to generate embeddings for
240+
-- opts: additional parameters as described in https://platform.openai.com/docs/api-reference/embeddings
241+
embedding: (input, opts) =>
242+
assert input, "input must be provided"
243+
244+
payload = {
245+
model: "text-embedding-ada-002"
246+
:input
247+
}
248+
249+
if opts
250+
for k,v in pairs opts
251+
payload[k] = v
252+
253+
@_request "POST", "/embeddings", payload
254+
237255
_request: (method, path, payload, more_headers, stream_fn) =>
238256
assert path, "missing path"
239257
assert method, "missing method"

0 commit comments

Comments
 (0)