Packages
openai_ex
0.1.8
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/chat_message.ex
defmodule OpenaiEx.ChatMessage do
@moduledoc """
This module provides an implementation of the OpenAI chat message API. Information about these messages can be found at https://platform.openai.com/docs/guides/chat/introduction.
## API Fields
The following fields can be used as parameters when creating a new chat message:
- `:content`
- `:role`
"""
defp new(role, content) do
%{
role: role,
content: content
}
end
@doc """
Create a `ChatMessage` map with role `system`.
Example usage:
iex> _message = OpenaiEx.ChatMessage.system("Hello, world!")
%{content: "Hello, world!", role: "system"}
"""
def system(content), do: new("system", content)
@doc """
Create a `ChatMessage` map with role `user`.
Example usage:
iex> _message = OpenaiEx.ChatMessage.user("Hello, world!")
%{content: "Hello, world!", role: "user"}
"""
def user(content), do: new("user", content)
@doc """
Create a `ChatMessage` map with role `assistant`.
Example usage:
iex> _message = OpenaiEx.ChatMessage.assistant("Hello, world!")
%{content: "Hello, world!", role: "assistant"}
"""
def assistant(content), do: new("assistant", content)
end