Packages
openai_ex
0.9.13
0.9.21
0.9.20
0.9.19
0.9.18
0.9.17
0.9.16
0.9.15
0.9.14
0.9.13
0.9.12
0.9.11
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.2
0.4.1
0.4.0
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Community maintained Elixir library for OpenAI API
Current section
Files
Jump to
Current section
Files
lib/openai_ex/beta/threads_runs_step.ex
defmodule OpenaiEx.Beta.Threads.Runs.Steps do
@moduledoc """
This module provides an implementation of the OpenAI run steps API. The API reference can be found at https://platform.openai.com/docs/api-reference/run-steps.
"""
alias OpenaiEx.Http
defp ep_url(thread_id, run_id, step_id \\ nil) do
"/threads/#{thread_id}/runs/#{run_id}/steps" <>
if is_nil(step_id), do: "", else: "/#{step_id}"
end
def retrieve!(openai = %OpenaiEx{}, params = %{thread_id: _, run_id: _, step_id: _}) do
openai |> retrieve(params) |> Http.bang_it!()
end
def retrieve(openai = %OpenaiEx{}, %{thread_id: thread_id, run_id: run_id, step_id: step_id}) do
openai |> OpenaiEx.with_assistants_beta() |> Http.get(ep_url(thread_id, run_id, step_id))
end
def list!(openai = %OpenaiEx{}, params = %{thread_id: _, run_id: _}) do
openai |> list(params) |> Http.bang_it!()
end
def list(openai = %OpenaiEx{}, params = %{thread_id: thread_id, run_id: run_id}) do
openai
|> OpenaiEx.with_assistants_beta()
|> Http.get(ep_url(thread_id, run_id), params |> Map.take(OpenaiEx.list_query_fields()))
end
end