View Source LangChain.Utils (LangChain v0.1.8)
Collection of helpful utilities mostly for internal use.
Summary
Functions
Return changeset errors as text with comma separated description.
Only add the key to the map if the value is present. When the value is a list,
the key will not be added when the list is empty. If the value is nil
, it
will not be added.
Fire a streaming callback if present.
Create a function to handle the streaming request.
Translates an error message using gettext.
Translates the errors for a field from a keyword list of errors.
Validation helper. Validates a struct changeset that the LLM is a struct.
Types
@type callback_data() :: {:ok, Message.t() | MessageDelta.t() | [Message.t() | MessageDelta.t()]} | {:error, String.t()}
Functions
Return changeset errors as text with comma separated description.
@spec conditionally_add_to_map( %{required(any()) => any()}, key :: any(), value :: nil | list() ) :: %{ required(any()) => any() }
Only add the key to the map if the value is present. When the value is a list,
the key will not be added when the list is empty. If the value is nil
, it
will not be added.
@spec fire_callback( %{optional(:stream) => boolean()}, data :: callback_data() | [callback_data()], (callback_data() -> any()) ) :: :ok
Fire a streaming callback if present.
@spec handle_stream_fn( %{optional(:stream) => boolean()}, process_response_fn :: function(), callback_fn :: function() ) :: function()
Create a function to handle the streaming request.
Translates an error message using gettext.
Translates the errors for a field from a keyword list of errors.
@spec validate_llm_is_struct(Ecto.Changeset.t()) :: Ecto.Changeset.t()
Validation helper. Validates a struct changeset that the LLM is a struct.