Packages
openai_ex
0.8.4
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/models.ex
defmodule OpenaiEx.Models do
@moduledoc """
This module provides an implementation of the OpenAI Models API. Information about these models can be found at https://platform.openai.com/docs/models.
"""
alias OpenaiEx.Http
defp ep_url(model \\ nil) do
"/models" <> if(is_nil(model), do: "", else: "/#{model}")
end
@doc """
Lists the available models.
https://platform.openai.com/docs/api-reference/models/list
"""
def list!(openai = %OpenaiEx{}) do
openai |> list() |> Http.bang_it!()
end
def list(openai = %OpenaiEx{}) do
openai |> Http.get(ep_url())
end
@doc """
Retrieves a specific model.
https://platform.openai.com/docs/api-reference/models/retrieve
"""
def retrieve!(openai = %OpenaiEx{}, model) do
openai |> retrieve(model) |> Http.bang_it!()
end
def retrieve(openai = %OpenaiEx{}, model) do
openai |> Http.get(ep_url(model))
end
@doc """
Deletes a specific model.
https://platform.openai.com/docs/api-reference/fine-tunes/delete-model
"""
def delete!(openai = %OpenaiEx{}, model) do
openai |> delete(model) |> Http.bang_it!()
end
def delete(openai = %OpenaiEx{}, model) do
openai |> Http.delete(ep_url(model))
end
end