Packages
llm_composer
0.3.4
0.20.2
0.20.1
0.20.0
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.2
0.18.1
0.18.0
0.17.1
0.17.0
0.16.2
0.16.1
0.16.0
0.15.0
0.14.2
0.14.1
0.14.0
0.13.1
0.13.0
0.12.3
0.12.2
0.12.0
0.11.2
0.11.1
0.11.0
0.10.0
0.8.0
0.7.0
0.6.0
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.0
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
0.1.0
LlmComposer is an Elixir library that facilitates chat interactions with language models, providing tools to handle user messages, generate responses, and execute functions automatically based on model outputs.
Current section
Files
Jump to
Current section
Files
lib/llm_composer/settings.ex
defmodule LlmComposer.Settings do
@moduledoc """
Defines the settings for configuring chat interactions with a language model.
This module provides a struct that includes model configuration, prompt settings, and options for function execution, enabling fine control over the chat flow and behavior.
"""
@enforce_keys [:model, :model_opts]
defstruct [
:model,
:model_opts,
auto_exec_functions: false,
functions: [],
system_prompt: nil,
user_prompt_prefix: "",
api_key: ""
]
@type t :: %__MODULE__{
auto_exec_functions: boolean(),
functions: [LlmComposer.Function.t()],
model: module(),
model_opts: keyword(),
system_prompt: String.t() | nil,
user_prompt_prefix: String.t(),
api_key: String.t() | nil
}
end