Support official semantic llama.cpp releases and document prefill comparison
This commit is contained in:
+4
-1
@@ -107,6 +107,8 @@ class Runtime:
|
||||
with self.lock:return json.loads(json.dumps(self.state))
|
||||
def releases(self):
|
||||
rows=github('releases?per_page=10')
|
||||
latest=github('releases/latest')
|
||||
rows=[latest]+[r for r in rows if r['tag_name']!=latest['tag_name']]
|
||||
return {'releases':[dict(tag=r['tag_name'],name=r['name'],published=r['published_at'],notes=r.get('body',''),url=r['html_url'],prerelease=r['prerelease']) for r in rows if not r['draft']]}
|
||||
def run(self,args,cwd,phase,timeout=7200):
|
||||
with self.lock:
|
||||
@@ -128,7 +130,7 @@ class Runtime:
|
||||
stream.close()
|
||||
with self.lock:self.process=None
|
||||
def start(self,revision,backend='CUDA',jobs=1):
|
||||
if not isinstance(revision,str) or not re.fullmatch(r'(?:b[0-9]{3,8}|[a-f0-9]{40})',revision):raise ValueError('Offizielles b-Release oder vollständigen Commit-SHA wählen.')
|
||||
if not isinstance(revision,str) or not re.fullmatch(r'(?:b[0-9]{3,8}|v[0-9]{1,4}\.[0-9]{1,4}\.[0-9]{1,4}|[a-f0-9]{40})',revision):raise ValueError('Offizielles v-Release, b-Nightly oder vollständigen Commit-SHA wählen.')
|
||||
if backend not in ('CUDA','CPU') or type(jobs)!=int or not 1<=jobs<=2:raise ValueError('CPU/CUDA und 1–2 Build-Jobs unterstützt.')
|
||||
with self.lock:
|
||||
if self.busy:raise ValueError('Ein Build läuft bereits.')
|
||||
@@ -153,6 +155,7 @@ class Runtime:
|
||||
prepare_mtp_source(directory)
|
||||
arch=sorted(set(g['architecture'] for g in prereq['gpus']))
|
||||
args=['cmake','-S','.', '-B','build','-DCMAKE_BUILD_TYPE=Release','-DGGML_NATIVE=OFF','-DLLAMA_BUILD_TESTS=OFF','-DLLAMA_BUILD_EXAMPLES=OFF','-DLLAMA_BUILD_SERVER=ON','-DGGML_CUDA='+('ON' if backend=='CUDA' else 'OFF')]
|
||||
args+=['-DLLAMA_BUILD_IS_DEV='+('OFF' if revision.startswith('v') else 'ON')]
|
||||
if backend=='CUDA':args+=['-DCMAKE_CUDA_ARCHITECTURES='+';'.join(arch)]
|
||||
self.run(args,directory,'Build konfigurieren',300)
|
||||
self.run(['cmake','--build','build','--target','llama-server','llama-fit-params','-j',str(jobs)],directory,'llama.cpp-Werkzeuge kompilieren')
|
||||
|
||||
Reference in New Issue
Block a user