Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
52 lines (35 loc) · 2.03 KB

File metadata and controls

52 lines (35 loc) · 2.03 KB
Copy raw file
Download raw file
Outline
Edit and raw actions

Templates

This document provides a comprehensive guide to the integration of Jinja2 templating into the llama-cpp-python project, with a focus on enhancing the chat functionality of the llama-2 model.

Introduction

  • Brief explanation of the llama-cpp-python project's need for a templating system.
  • Overview of the llama-2 model's interaction with templating.

Jinja2 Dependency Integration

  • Rationale for choosing Jinja2 as the templating engine.
    • Compatibility with Hugging Face's transformers.
    • Desire for advanced templating features and simplicity.
  • Detailed steps for adding jinja2 to pyproject.toml for dependency management.

Template Management Refactor

  • Summary of the refactor and the motivation behind it.
  • Description of the new chat handler selection logic:
    1. Preference for a user-specified chat_handler.
    2. Fallback to a user-specified chat_format.
    3. Defaulting to a chat format from a .gguf file if available.
    4. Utilizing the llama2 default chat format as the final fallback.
  • Ensuring backward compatibility throughout the refactor.

Implementation Details

  • In-depth look at the new AutoChatFormatter class.
  • Example code snippets showing how to utilize the Jinja2 environment and templates.
  • Guidance on how to provide custom templates or use defaults.

Testing and Validation

  • Outline of the testing strategy to ensure seamless integration.
  • Steps for validating backward compatibility with existing implementations.

Benefits and Impact

  • Analysis of the expected benefits, including consistency, performance gains, and improved developer experience.
  • Discussion of the potential impact on current users and contributors.

Future Work

  • Exploration of how templating can evolve within the project.
  • Consideration of additional features or optimizations for the templating engine.
  • Mechanisms for community feedback on the templating system.

Conclusion

  • Final thoughts on the integration of Jinja2 templating.
  • Call to action for community involvement and feedback.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.