LangchainPrompt.Adapter behaviour (LangchainPrompt v0.1.0)

Copy Markdown View Source

Behaviour for connecting LangchainPrompt to a Large Language Model.

Implement this behaviour to add support for any LLM provider not covered by the built-in adapters.

Built-in adapters

Custom adapter example

defmodule MyApp.Adapters.OpenAIDirect do
  @behaviour LangchainPrompt.Adapter

  @impl true
  def chat(messages, opts) do
    # build request, call API, return {:ok, %Message{}} or {:error, reason}
  end
end

Summary

Types

response()

@type response() :: {:ok, LangchainPrompt.Message.t()} | {:error, any()}

Callbacks

chat(messages, opts)

@callback chat(messages :: [LangchainPrompt.Message.t()], opts :: map() | keyword()) ::
  response()