├── .gitignore ├── LICENSE ├── README.md ├── pyproject.toml └── src ├── examples ├── attention.py ├── json_schema_cli.py ├── llm_schema.py ├── reluctance.py ├── requirements.txt ├── reusable_kv_cache.py ├── server.py └── static │ ├── attention.html │ └── ui.html ├── llm_structured_output ├── __init__.py ├── acceptor.py ├── json_acceptor.py ├── json_schema_acceptor.py └── util │ ├── __init__.py │ ├── bitmap.py │ ├── output.py │ ├── tokenization.py │ └── tokentrie.py └── tests ├── __init__.py ├── data └── fireworks-ai_function-calling-eval-dataset-v0 │ ├── completions-multi_turn-Meta-Llama-3-8B-Instruct-4bit.jsonl │ ├── completions-multi_turn-OpenAI-gpt-4o-2024-05-13.jsonl │ ├── completions-single_turn-Meta-Llama-3-8B-Instruct-4bit.jsonl │ ├── completions-single_turn-OpenAI-gpt-4o-2024-05-13.jsonl │ ├── multi_turn-00000-of-00001.jsonl │ ├── multi_turn-00000-of-00001.parquet │ ├── parquet_to_jsonl.py │ ├── report-multi_turn.md │ ├── report-single_turn.md │ ├── requirements.txt │ ├── single_turn-00000-of-00001.jsonl │ └── single_turn-00000-of-00001.parquet ├── eval_api.py ├── eval_local.py ├── eval_report.py └── requirements.txt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/README.md -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/pyproject.toml -------------------------------------------------------------------------------- /src/examples/attention.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/examples/attention.py -------------------------------------------------------------------------------- /src/examples/json_schema_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/examples/json_schema_cli.py -------------------------------------------------------------------------------- /src/examples/llm_schema.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/examples/llm_schema.py -------------------------------------------------------------------------------- /src/examples/reluctance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/examples/reluctance.py -------------------------------------------------------------------------------- /src/examples/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/examples/requirements.txt -------------------------------------------------------------------------------- /src/examples/reusable_kv_cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/examples/reusable_kv_cache.py -------------------------------------------------------------------------------- /src/examples/server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/examples/server.py -------------------------------------------------------------------------------- /src/examples/static/attention.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/examples/static/attention.html -------------------------------------------------------------------------------- /src/examples/static/ui.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/examples/static/ui.html -------------------------------------------------------------------------------- /src/llm_structured_output/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/llm_structured_output/__init__.py -------------------------------------------------------------------------------- /src/llm_structured_output/acceptor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/llm_structured_output/acceptor.py -------------------------------------------------------------------------------- /src/llm_structured_output/json_acceptor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/llm_structured_output/json_acceptor.py -------------------------------------------------------------------------------- /src/llm_structured_output/json_schema_acceptor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/llm_structured_output/json_schema_acceptor.py -------------------------------------------------------------------------------- /src/llm_structured_output/util/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/llm_structured_output/util/__init__.py -------------------------------------------------------------------------------- /src/llm_structured_output/util/bitmap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/llm_structured_output/util/bitmap.py -------------------------------------------------------------------------------- /src/llm_structured_output/util/output.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/llm_structured_output/util/output.py -------------------------------------------------------------------------------- /src/llm_structured_output/util/tokenization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/llm_structured_output/util/tokenization.py -------------------------------------------------------------------------------- /src/llm_structured_output/util/tokentrie.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/llm_structured_output/util/tokentrie.py -------------------------------------------------------------------------------- /src/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/completions-multi_turn-Meta-Llama-3-8B-Instruct-4bit.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/completions-multi_turn-Meta-Llama-3-8B-Instruct-4bit.jsonl -------------------------------------------------------------------------------- /src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/completions-multi_turn-OpenAI-gpt-4o-2024-05-13.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/completions-multi_turn-OpenAI-gpt-4o-2024-05-13.jsonl -------------------------------------------------------------------------------- /src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/completions-single_turn-Meta-Llama-3-8B-Instruct-4bit.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/completions-single_turn-Meta-Llama-3-8B-Instruct-4bit.jsonl -------------------------------------------------------------------------------- /src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/completions-single_turn-OpenAI-gpt-4o-2024-05-13.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/completions-single_turn-OpenAI-gpt-4o-2024-05-13.jsonl -------------------------------------------------------------------------------- /src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/multi_turn-00000-of-00001.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/multi_turn-00000-of-00001.jsonl -------------------------------------------------------------------------------- /src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/multi_turn-00000-of-00001.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/multi_turn-00000-of-00001.parquet -------------------------------------------------------------------------------- /src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/parquet_to_jsonl.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/parquet_to_jsonl.py -------------------------------------------------------------------------------- /src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/report-multi_turn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/report-multi_turn.md -------------------------------------------------------------------------------- /src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/report-single_turn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/report-single_turn.md -------------------------------------------------------------------------------- /src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/requirements.txt: -------------------------------------------------------------------------------- 1 | pyarrow 2 | -------------------------------------------------------------------------------- /src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/single_turn-00000-of-00001.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/single_turn-00000-of-00001.jsonl -------------------------------------------------------------------------------- /src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/single_turn-00000-of-00001.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/data/fireworks-ai_function-calling-eval-dataset-v0/single_turn-00000-of-00001.parquet -------------------------------------------------------------------------------- /src/tests/eval_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/eval_api.py -------------------------------------------------------------------------------- /src/tests/eval_local.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/eval_local.py -------------------------------------------------------------------------------- /src/tests/eval_report.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/eval_report.py -------------------------------------------------------------------------------- /src/tests/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otriscon/llm-structured-output/HEAD/src/tests/requirements.txt --------------------------------------------------------------------------------