Current section
Files
Jump to
Current section
Files
lib/iree/tokenizers/component_registry.ex
defmodule IREE.Tokenizers.ComponentRegistry do
@moduledoc false
@name __MODULE__
def put(tokenizer_resource, components) do
ensure_server()
Agent.update(@name, &Map.put(&1, tokenizer_resource, components))
end
def get(tokenizer_resource) do
ensure_server()
Agent.get(@name, &Map.get(&1, tokenizer_resource, %{}))
end
defp ensure_server do
case Process.whereis(@name) do
nil ->
case Agent.start_link(fn -> %{} end, name: @name) do
{:ok, _pid} -> :ok
{:error, {:already_started, _pid}} -> :ok
end
_pid ->
:ok
end
end
end