Packages
openai_ex
0.5.6
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/message_file.ex
defmodule OpenaiEx.Beta.Thread.Message.File do
@moduledoc """
This module provides an implementation of the OpenAI messages files API. The API reference can be found at https://platform.openai.com/docs/api-reference/messages.
"""
defp ep_url(thread_id, message_id, file_id \\ nil) do
"/threads/#{thread_id}/messages/#{message_id}/files" <>
if is_nil(file_id), do: "", else: "/#{file_id}"
end
@doc """
Calls the message file retrieve endpoint.
## Arguments
- `openai`: The OpenAI configuration.
- `params`: A map containing the fields of the message file retrieve request.
## Returns
A map containing the fields of the specificied message file object.
https://platform.openai.com/docs/api-reference/messages/getMessageFile
"""
def retrieve(
openai = %OpenaiEx{},
%{thread_id: thread_id, message_id: message_id, file_id: file_id}
) do
openai
|> OpenaiEx.with_assistants_beta()
|> OpenaiEx.Http.get(ep_url(thread_id, message_id, file_id))
end
@doc """
Lists the files that belong to the specified thread message.
https://platform.openai.com/docs/api-reference/messages/listMessageFiles
"""
def list(openai = %OpenaiEx{}, params = %{thread_id: thread_id, message_id: message_id}) do
openai
|> OpenaiEx.with_assistants_beta()
|> OpenaiEx.Http.get(
ep_url(thread_id, message_id),
params |> Map.take(OpenaiEx.list_query_fields())
)
end
end