HelioAI's picture
LFM3-1.7B inference modules: experimental release
67ebcef verified
Raw History Blame Contribute Delete
1.02 kB
import json, time, urllib.request
from concurrent.futures import ThreadPoolExecutor
base = {"n_predict":384,"ignore_eos":True,"temperature":0.6,"top_k":50,"top_p":0.95,"min_p":0,"samplers":["top_k","top_p","temperature"]}
extra = {"repeat_penalty": 1.0, "presence_penalty": 0.0, "frequency_penalty": 0.0, "dry_multiplier": 0.0, "xtc_probability": 0.0, "typical_p": 1.0, "cache_prompt": False}
variants = {"base": {}, "all_extra": extra, **{k: {k: v} for k, v in extra.items()}}
def one(cfg, i):
b = {"prompt": "Write a long story about a dragon number %d." % i, "seed": i, **base, **cfg}
r = json.loads(urllib.request.urlopen(urllib.request.Request("http://localhost:8080/completion", data=json.dumps(b).encode(), headers={"Content-Type": "application/json"})).read())
return r["tokens_predicted"]
for name, cfg in variants.items():
t = time.time()
with ThreadPoolExecutor(48) as ex: n = sum(ex.map(lambda i: one(cfg, i), range(48)))
print(name, round(n / (time.time() - t)), "tok/s", flush=True)