defmodule GenAI.Provider.OpenAI.Encoder do @base_url "https://api.openai.com" use GenAI.Model.EncoderBehaviour def headers(model, settings, session, context, options) do with {:ok, {headers, session}} <- super(model, settings, session, context, options) do search_scope = [ options, settings[:model_settings], settings[:provider_settings], settings[:settings], settings[:config_settings] ] headers = search_scope |> Enum.find_value(& &1[:api_org]) |> then(&((&1 && [{"OpenAI-Organization", &1} | headers]) || headers)) headers = search_scope |> Enum.find_value(& &1[:api_project]) |> then(&((&1 && [{"OpenAI-Project", &1} | headers]) || headers)) {:ok, {headers, session}} end end end