Vllm.ToolParsers.ToolParserManager (VLLM v0.3.0)

Copy Markdown View Source

Central registry for ToolParser implementations.

Supports two modes:

  • Eager (immediate) registration via register_module
  • Lazy registration via register_lazy_module

Summary

Functions

Import and register a lazily loaded parser.

Register a ToolParser class immediately.

Retrieve a registered or lazily registered ToolParser class.

Import a user-defined parser file from arbitrary path.

Return names of all eagerly and lazily registered tool parsers.

Initialize self. See help(type(self)) for accurate signature.

Register module immediately or lazily (as a decorator).

Types

t()

@opaque t()

Functions

_load_lazy_parser(ref, name, opts \\ [])

@spec _load_lazy_parser(SnakeBridge.Ref.t(), String.t(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}

Import and register a lazily loaded parser.

Parameters

  • name (String.t())

Returns

  • term()

_register_module(ref, module, args, opts \\ [])

@spec _register_module(SnakeBridge.Ref.t(), term(), [term()], keyword()) ::
  {:ok, nil} | {:error, Snakepit.Error.t()}

Register a ToolParser class immediately.

Parameters

  • module (term())
  • module_name (term() default: None)
  • force (boolean() default: True)

Returns

  • nil

get_tool_parser(ref, name, opts \\ [])

@spec get_tool_parser(SnakeBridge.Ref.t(), String.t(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}

Retrieve a registered or lazily registered ToolParser class.

If the parser is lazily registered, it will be imported and cached on first access. Raises KeyError if not found.

Parameters

  • name (String.t())

Returns

  • term()

import_tool_parser(ref, plugin_path, opts \\ [])

@spec import_tool_parser(SnakeBridge.Ref.t(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Snakepit.Error.t()}

Import a user-defined parser file from arbitrary path.

Parameters

  • plugin_path (String.t())

Returns

  • nil

lazy_parsers(ref)

@spec lazy_parsers(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}

list_registered(ref, opts \\ [])

@spec list_registered(
  SnakeBridge.Ref.t(),
  keyword()
) :: {:ok, [String.t()]} | {:error, Snakepit.Error.t()}

Return names of all eagerly and lazily registered tool parsers.

Returns

  • list(String.t())

new(args, opts \\ [])

@spec new(
  [term()],
  keyword()
) :: {:ok, SnakeBridge.Ref.t()} | {:error, Snakepit.Error.t()}

Initialize self. See help(type(self)) for accurate signature.

Parameters

  • args (term())
  • kwargs (term())

register_lazy_module(ref, name, module_path, class_name, opts \\ [])

@spec register_lazy_module(
  SnakeBridge.Ref.t(),
  String.t(),
  String.t(),
  String.t(),
  keyword()
) ::
  {:ok, nil} | {:error, Snakepit.Error.t()}

Register a lazy module mapping.

Examples

ToolParserManager.register_lazy_module(
name="kimi_k2",
module_path="vllm.tool_parsers.kimi_k2_parser",
class_name="KimiK2ToolParser",
)

Parameters

  • name (String.t())
  • module_path (String.t())
  • class_name (String.t())

Returns

  • nil

register_module(ref, args, opts \\ [])

@spec register_module(SnakeBridge.Ref.t(), [term()], keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}

Register module immediately or lazily (as a decorator).

Usage:

@ToolParserManager.register_module("kimi_k2")
class KimiK2ToolParser(ToolParser):
    ...

Or:

ToolParserManager.register_module(module=SomeToolParser)

Parameters

  • name (term() default: None)
  • force (boolean() default: True)
  • module (term() default: None)

Returns

  • term()

tool_parsers(ref)

@spec tool_parsers(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}