• Matt's avatar
    Chat Template support for function calling and RAG (#30621) · edc1dffd
    Matt authored
    
    
    * First draft, still missing automatic function conversion
    
    * First draft of the automatic schema generator
    
    * Lots of small fixes
    
    * the walrus has betrayed me
    
    * please stop committing your debug breakpoints
    
    * Lots of cleanup and edge cases, looking better now
    
    * Comments and bugfixes for the type hint parser
    
    * More cleanup
    
    * Add tests, update schema generator
    
    * Update tests, proper handling of return values
    
    * Small docstring change
    
    * More doc updates
    
    * More doc updates
    
    * Add json_schema decorator
    
    * Clean up the TODOs and finish the docs
    
    * self.maxDiff = None to see the whole diff for the nested list test
    
    * add import for add_json_schema
    
    * Quick test fix
    
    * Fix something that was bugging me in the chat template docstring
    
    * Less "anyOf" when unnecessary
    
    * Support return types for the templates that need them
    
    * Proper return type tests
    
    * Switch to Google format docstrings
    
    * Update chat templating docs to match new format
    
    * Stop putting the return type in with the other parameters
    
    * Add Tuple support
    
    * No more decorator - we just do it implicitly!
    
    * Add enum support to get_json_schema
    
    * Update docstring
    
    * Add copyright header
    
    * Update src/transformers/tokenization_utils_base.py
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Update docs/source/en/chat_templating.md
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Update src/transformers/utils/chat_template_utils.py
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Update src/transformers/utils/chat_template_utils.py
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Add copyright header
    
    * make fixup
    
    * Fix indentation
    
    * Reformat chat_template_utils
    
    * Correct return value
    
    * Make regexes module-level
    
    * Support more complex, multi-line arg docstrings
    
    * Update error message for ...
    
    * Update ruff
    
    * Add document type validation
    
    * Refactor docs
    
    * Refactor docs
    
    * Refactor docs
    
    * Clean up Tuple error
    
    * Add an extra test for very complex defs and docstrings and clean everything up for it
    
    * Document enum block
    
    * Quick test fixes
    
    * Stop supporting type hints in docstring to fix bugs and simplify the regex
    
    * Update docs for the regex change
    
    * Clean up enum regex
    
    * Wrap functions in {"type": "function", "function": ...}
    
    * Update src/transformers/utils/chat_template_utils.py
    Co-authored-by: default avatarPablo Montalvo <39954772+molbap@users.noreply.github.com>
    
    * Temporary tool calling commit
    
    * Add type hints to chat template utils, partially update docs (incomplete!)
    
    * Code cleanup based on @molbap's suggestion
    
    * Add comments to explain regexes
    
    * Fix up type parsing for unions and lists
    
    * Add custom exception types and adjust tests to look for them
    
    * Update docs with a demo!
    
    * Docs cleanup
    
    * Pass content as string
    
    * Update tool call formatting
    
    * Update docs with new function format
    
    * Update docs
    
    * Update docs with a second tool to show the model choosing correctly
    
    ---------
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    Co-authored-by: default avatarPablo Montalvo <39954772+molbap@users.noreply.github.com>
    edc1dffd
__init__.py 7.77 KB