ollama/ollama/prompt.py
Bruce MacDonald 61e39bf5d9 clean up pull
2023-06-29 15:06:34 -04:00

20 lines
618 B
Python

import os
from difflib import SequenceMatcher
from jinja2 import Environment, PackageLoader
def template(model, prompt):
best_ratio = 0
best_template = ''
environment = Environment(loader=PackageLoader(__name__, 'templates'))
for template in environment.list_templates():
base, _ = os.path.splitext(template)
ratio = SequenceMatcher(None, os.path.basename(model.lower()), base).ratio()
if ratio > best_ratio:
best_ratio = ratio
best_template = template
template = environment.get_template(best_template)
return template.render(prompt=prompt)