How ayfadli/call-me-maybe works
Call Me Maybe is a CLI tool that turns prompts and function schemas into constrained JSON function calls. Its main workflow loads both input files, prepares a local language model and token masks, generates each call through constrained decoding, validates and normalizes the result, then writes a JSON results file. The README also describes schema-guided prompting and token-level filtering. The graph follows the sampled CLI, decoder and SDK code; output behavior is documented, while no output file is present in the tree.
Main entry points: __main__.py CLI orchestration · __init__.py LLM SDK · vocab_parser.py Constrained generation · functions_definition.json Function definitions
Components 11
CLI workflow
- CLI orchestration
src/__main__.py - Function definitions
data/input/functions_definition.json - Test prompts
data/input/function_calling_tests.json - Mask preparation
src/__main__.py - Result validation
src/__main__.py - Results JSON
Constrained decoding
- Constrained generation
src/vocab_parser.py
Model inference
- LLM SDK
llm_sdk/llm_sdk/__init__.py - Language model
Other components
- CLI user
- Hugging Face Hub
Connections 12
- CLI user → CLI orchestration: runs
README.md - CLI orchestration → Function definitions: loads
src/__main__.py - CLI orchestration → Test prompts: loads
src/__main__.py - CLI orchestration → LLM SDK: initializes
src/__main__.py - CLI orchestration → Mask preparation: prepares masks
src/__main__.py - CLI orchestration → Constrained generation: invokes
src/__main__.py - Mask preparation → Function definitions: derives constraints
src/__main__.py - Constrained generation → LLM SDK: requests logits
src/vocab_parser.py - LLM SDK → Language model: runs inference
llm_sdk/llm_sdk/__init__.py - LLM SDK → Hugging Face Hub: downloads vocabulary
llm_sdk/llm_sdk/__init__.py - CLI orchestration → Result validation: validates results
src/__main__.py - Result validation → Results JSON: writes
src/__main__.py