summaryrefslogtreecommitdiff
path: root/Biz/Bild/Deps
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2024-05-14 09:35:45 -0400
committerBen Sima <ben@bsima.me>2024-05-20 22:15:49 -0400
commit2d33aa547ff6a516c90ca2b47b13e2add200583a (patch)
tree8d4941699982c59c6430f4b9a629b8ea91245bb1 /Biz/Bild/Deps
parentcceefa62d147594d43478e398bbaa9c630670935 (diff)
Add simonw/llm as cli/library client for running LLMs
This is basically exactly the client library that I would write myself. Some parts of it are still beta quality, but it's the sort of thing that I would contribute to anyway. Unfortunately I couldn't get the llm-llama-cpp plugin to work because it depends on llama-cpp-python which is not packaged for nix and is hard to package because the upstream project vendors a patched version of llama.cpp. So I'm stuck with ollama for now, but that's fine because it actually works.
Diffstat (limited to 'Biz/Bild/Deps')
-rw-r--r--Biz/Bild/Deps/llm-ollama.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/Biz/Bild/Deps/llm-ollama.nix b/Biz/Bild/Deps/llm-ollama.nix
new file mode 100644
index 0000000..e2b6a66
--- /dev/null
+++ b/Biz/Bild/Deps/llm-ollama.nix
@@ -0,0 +1,40 @@
+{ buildPythonPackage, fetchFromGitHub, lib, llm, ollama, pytestCheckHook
+, setuptools, pythonOlder, }:
+buildPythonPackage rec {
+ pname = "llm-ollama";
+ version = "0.3.0";
+ pyproject = true;
+
+ disabled = pythonOlder "3.8";
+
+ src = fetchFromGitHub {
+ owner = "taketwo";
+ repo = pname;
+ rev = "refs/tags/${version}";
+ hash = "sha256-Ar0Ux8BNGY0i764CEk7+48J6jnndlRIIMPZ9tFpXiy4=";
+ };
+
+ nativeBuildInputs = [ setuptools ];
+
+ buildInputs = [ llm ollama ];
+
+ propagatedBuildInputs = [ ollama ];
+
+ disabledTests = [
+ # wants to mkdir in the /homeless-shelter
+ "test_registered_models"
+ ];
+
+ nativeCheckInputs = [ pytestCheckHook ];
+
+ pythonImportsCheck = [ "llm_ollama" ];
+
+ meta = with lib; {
+ homepage = "https://github.com/taketwo/llm-ollama";
+ description =
+ "LLM plugin providing access to local Ollama models usting HTTP API";
+ changelog = "https://github.com/taketwo/llm-ollama/releases/tag/${version}";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ bsima ];
+ };
+}