28 lines
801 B
Python
28 lines
801 B
Python
import unittest
|
|
|
|
from localpilot.modelfile import model_config_from_modelfile, parse_modelfile
|
|
|
|
|
|
class ModelfileTests(unittest.TestCase):
|
|
def test_parse_and_convert(self) -> None:
|
|
text = '''
|
|
FROM E:/models/demo.gguf
|
|
PARAMETER temperature 0.2
|
|
PARAMETER top_p 0.9
|
|
PARAMETER num_ctx 8192
|
|
SYSTEM """You are concise."""
|
|
MESSAGE user hello
|
|
'''
|
|
parsed = parse_modelfile(text)
|
|
self.assertEqual(parsed.source, "E:/models/demo.gguf")
|
|
self.assertEqual(parsed.system, "You are concise.")
|
|
model = model_config_from_modelfile("demo", text)
|
|
self.assertEqual(model.parameters["temperature"], 0.2)
|
|
self.assertEqual(model.options["ctx_size"], 8192)
|
|
self.assertEqual(model.messages[0]["role"], "user")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|
|
|