git: 7d0b9dcc61f2 - main - misc/koboldcpp: New port: Simple way to run GGML and GGUF AI models with a KoboldAI WebUI
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 12 Aug 2024 06:21:29 UTC
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=7d0b9dcc61f252eefbf75b7079ae31e54f4f35ed commit 7d0b9dcc61f252eefbf75b7079ae31e54f4f35ed Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2024-08-12 06:03:02 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2024-08-12 06:21:25 +0000 misc/koboldcpp: New port: Simple way to run GGML and GGUF AI models with a KoboldAI WebUI --- misc/Makefile | 1 + misc/koboldcpp/Makefile | 47 +++++++++++++++++++++++++++++++++++++++++++++++ misc/koboldcpp/distinfo | 3 +++ misc/koboldcpp/pkg-descr | 8 ++++++++ misc/koboldcpp/pkg-plist | 15 +++++++++++++++ 5 files changed, 74 insertions(+) diff --git a/misc/Makefile b/misc/Makefile index 7fb74f1ef16b..1ddda70e5b02 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -216,6 +216,7 @@ SUBDIR += kf6-purpose SUBDIR += kgeography SUBDIR += klettres + SUBDIR += koboldcpp SUBDIR += kookbook SUBDIR += ktouch SUBDIR += kwordquiz diff --git a/misc/koboldcpp/Makefile b/misc/koboldcpp/Makefile new file mode 100644 index 000000000000..d3472c36e95b --- /dev/null +++ b/misc/koboldcpp/Makefile @@ -0,0 +1,47 @@ +PORTNAME= koboldcpp +DISTVERSIONPREFIX= v +DISTVERSION= 1.72 +CATEGORIES= misc # machine-learning + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Simple way to run GGML and GGUF AI models with a KoboldAI WebUI +WWW= https://github.com/lostruins/koboldcpp + +LICENSE= AGPLv3 +LICENSE_FILE= ${WRKSRC}/LICENSE.md + +LIB_DEPENDS= libopenblas.so:math/openblas \ + libvulkan.so:graphics/vulkan-loader + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}customtkinter>0:x11-toolkits/py-customtkinter@${PY_FLAVOR} + +USES= gmake localbase:ldflags python shebangfix + +USE_GITHUB= yes +GH_ACCOUNT= LostRuins + +SHEBANG_FILES= koboldcpp.py + +MAKE_ARGS= LLAMA_OPENBLAS=1 LLAMA_VULKAN=1 LLAMA_PORTABLE=1 LDFLAGS="${LDFLAGS}" + +ALL_TARGET= + +do-install: + # dir + ${MKDIR} ${STAGEDIR}${DATADIR} + # prog + ${INSTALL_DATA} ${WRKSRC}/koboldcpp.py ${STAGEDIR}${DATADIR}/koboldcpp.py + ${CHMOD} +x ${STAGEDIR}${DATADIR}/koboldcpp.py + ${RLN} ${STAGEDIR}${DATADIR}/koboldcpp.py ${STAGEDIR}${PREFIX}/bin/koboldcpp + # libraries +.for lib in koboldcpp_default.so koboldcpp_failsafe.so koboldcpp_noavx2.so \ + koboldcpp_openblas.so koboldcpp_vulkan.so koboldcpp_vulkan_noavx2.so + ${INSTALL_LIB} ${WRKSRC}/${lib} ${STAGEDIR}${DATADIR} +.endfor + # embd files +.for embd in klite.embd kcpp_docs.embd rwkv_vocab.embd rwkv_world_vocab.embd \ + kcpp_sdui.embd taesd.embd taesd_xl.embd + ${INSTALL_DATA} ${WRKSRC}/${embd} ${STAGEDIR}${DATADIR} +.endfor + +.include <bsd.port.mk> diff --git a/misc/koboldcpp/distinfo b/misc/koboldcpp/distinfo new file mode 100644 index 000000000000..ddceb1356f08 --- /dev/null +++ b/misc/koboldcpp/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1723347219 +SHA256 (LostRuins-koboldcpp-v1.72_GH0.tar.gz) = 1159980d2cda0a9dfde9024454034b7b163e483395b78f6a8d41b58883476bd5 +SIZE (LostRuins-koboldcpp-v1.72_GH0.tar.gz) = 28440368 diff --git a/misc/koboldcpp/pkg-descr b/misc/koboldcpp/pkg-descr new file mode 100644 index 000000000000..cfcd1f317314 --- /dev/null +++ b/misc/koboldcpp/pkg-descr @@ -0,0 +1,8 @@ +KoboldCpp is an easy-to-use AI text-generation software for GGML and GGUF +models, inspired by the original KoboldAI. It's a single self-contained +distributable from Concedo, that builds off llama.cpp, and adds a versatile +KoboldAI API endpoint, additional format support, Stable Diffusion image +generation, speech-to-text, backward compatibility, as well as a fancy UI with +persistent stories, editing tools, save formats, memory, world info, author's +note, characters, scenarios and everything KoboldAI and KoboldAI Lite have to +offer. diff --git a/misc/koboldcpp/pkg-plist b/misc/koboldcpp/pkg-plist new file mode 100644 index 000000000000..8efacd4bc51e --- /dev/null +++ b/misc/koboldcpp/pkg-plist @@ -0,0 +1,15 @@ +bin/koboldcpp +%%DATADIR%%/kcpp_docs.embd +%%DATADIR%%/kcpp_sdui.embd +%%DATADIR%%/klite.embd +%%DATADIR%%/koboldcpp.py +%%DATADIR%%/koboldcpp_default.so +%%DATADIR%%/koboldcpp_failsafe.so +%%DATADIR%%/koboldcpp_noavx2.so +%%DATADIR%%/koboldcpp_openblas.so +%%DATADIR%%/koboldcpp_vulkan.so +%%DATADIR%%/koboldcpp_vulkan_noavx2.so +%%DATADIR%%/rwkv_vocab.embd +%%DATADIR%%/rwkv_world_vocab.embd +%%DATADIR%%/taesd.embd +%%DATADIR%%/taesd_xl.embd