Current section
Files
Jump to
Current section
Files
lib/operations/models.ex
defmodule OpenAi.Models do
@moduledoc """
Provides API endpoints related to models
"""
@default_client OpenAi.Client
@doc """
Delete a fine-tuned model. You must have the Owner role in your organization to delete a model.
"""
@spec delete_model(String.t(), keyword) ::
{:ok, OpenAi.Model.DeleteResponse.t()} | {:error, OpenAi.Error.error()}
def delete_model(model, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [model: model],
call: {OpenAi.Models, :delete_model},
url: "/models/#{model}",
method: :delete,
response: [{200, {OpenAi.Model.DeleteResponse, :t}}],
opts: opts
})
end
@doc """
Lists the currently available models, and provides basic information about each one such as the owner and availability.
"""
@spec list_models(keyword) ::
{:ok, OpenAi.Model.ListResponse.t()} | {:error, OpenAi.Error.error()}
def list_models(opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [],
call: {OpenAi.Models, :list_models},
url: "/models",
method: :get,
response: [{200, {OpenAi.Model.ListResponse, :t}}],
opts: opts
})
end
@doc """
Retrieves a model instance, providing basic information about the model such as the owner and permissioning.
"""
@spec retrieve_model(String.t(), keyword) ::
{:ok, OpenAi.Model.t()} | {:error, OpenAi.Error.error()}
def retrieve_model(model, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [model: model],
call: {OpenAi.Models, :retrieve_model},
url: "/models/#{model}",
method: :get,
response: [{200, {OpenAi.Model, :t}}],
opts: opts
})
end
end