1. 11 Jun, 2024 1 commit
    • 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