[object Object]

← back to HERMES

initial scaffold: HERMES project for Hermes-3-Llama-3.1-8B via local Ollama

9e5e8cdd5dc050dbd6403d49be5fcf29d17b91fa · 2026-05-10 13:22:39 -0700 · Steve Abrams

Files touched

Diff

commit 9e5e8cdd5dc050dbd6403d49be5fcf29d17b91fa
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Sun May 10 13:22:39 2026 -0700

    initial scaffold: HERMES project for Hermes-3-Llama-3.1-8B via local Ollama
---
 .gitignore       | 12 ++++++++++++
 README.md        | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 scripts/ask.sh   | 18 ++++++++++++++++++
 scripts/chat.sh  |  5 +++++
 scripts/smoke.sh | 19 +++++++++++++++++++
 5 files changed, 107 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4e78e0b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,12 @@
+node_modules/
+.env
+.env.*
+tmp/
+*.log
+.DS_Store
+dist/
+build/
+.next/
+weights/
+*.gguf
+*.safetensors
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..bc293c8
--- /dev/null
+++ b/README.md
@@ -0,0 +1,53 @@
+# HERMES
+
+NousResearch Hermes 3 (Llama-3.1-8B) running via local Ollama on Mac2.
+
+## What's installed
+
+- **Model:** `hermes3:8b` (Q4_K_M, ~4.7GB) pulled into Ollama at `http://127.0.0.1:11434`.
+- **Source:** [NousResearch/Hermes-3-Llama-3.1-8B](https://huggingface.co/NousResearch/Hermes-3-Llama-3.1-8B)
+- **License:** Llama 3.1 Community License (permissive for research + most commercial use; check before redistribution).
+
+## Quick start
+
+```bash
+# one-shot
+./scripts/ask.sh "Summarize the difference between Hermes 3 and Llama 3.1 base."
+
+# interactive REPL
+./scripts/chat.sh
+
+# smoke test (verifies model is loaded + responsive)
+./scripts/smoke.sh
+```
+
+## HTTP API
+
+Ollama exposes a local OpenAI-compatible endpoint:
+
+```bash
+curl http://127.0.0.1:11434/api/chat -d '{
+  "model": "hermes3:8b",
+  "messages": [{"role":"user","content":"hello"}],
+  "stream": false
+}'
+```
+
+## Slot in to Steve's stack
+
+- **Debate team / idea-loop:** Hermes 3 can replace or augment qwen3:14b as a panelist. It's stronger on instruction-following and function-calling.
+- **Tool-calling:** Hermes 3 supports structured tool calls — useful for the dw-* skill panelists.
+
+## File layout
+
+```
+~/Projects/HERMES/
+├── README.md
+├── .gitignore
+├── scripts/
+│   ├── ask.sh      # one-shot prompt → stdout
+│   ├── chat.sh     # interactive ollama run
+│   └── smoke.sh    # 1-prompt liveness test
+└── docs/
+    └── (notes go here)
+```
diff --git a/scripts/ask.sh b/scripts/ask.sh
new file mode 100755
index 0000000..a3e680b
--- /dev/null
+++ b/scripts/ask.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+# ask.sh — one-shot prompt to Hermes 3 via local Ollama
+set -euo pipefail
+MODEL="${HERMES_MODEL:-hermes3:8b}"
+HOST="${OLLAMA_HOST:-http://127.0.0.1:11434}"
+
+if [[ $# -eq 0 ]]; then
+  echo "usage: $0 \"<prompt>\"" >&2
+  exit 1
+fi
+
+PROMPT="$*"
+
+curl -sS "$HOST/api/chat" \
+  -H 'Content-Type: application/json' \
+  -d "$(jq -n --arg m "$MODEL" --arg p "$PROMPT" \
+        '{model:$m, stream:false, messages:[{role:"user",content:$p}]}')" \
+  | jq -r '.message.content'
diff --git a/scripts/chat.sh b/scripts/chat.sh
new file mode 100755
index 0000000..4341987
--- /dev/null
+++ b/scripts/chat.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+# chat.sh — interactive REPL with Hermes 3
+set -euo pipefail
+MODEL="${HERMES_MODEL:-hermes3:8b}"
+exec ollama run "$MODEL"
diff --git a/scripts/smoke.sh b/scripts/smoke.sh
new file mode 100755
index 0000000..4458164
--- /dev/null
+++ b/scripts/smoke.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+# smoke.sh — verify Hermes 3 is loaded and responsive
+set -euo pipefail
+MODEL="${HERMES_MODEL:-hermes3:8b}"
+HOST="${OLLAMA_HOST:-http://127.0.0.1:11434}"
+
+echo "→ ollama tags include $MODEL?"
+curl -s "$HOST/api/tags" | jq -e --arg m "$MODEL" '.models[] | select(.name==$m) | .name' \
+  || { echo "FAIL: $MODEL not pulled. Run: ollama pull $MODEL" >&2; exit 1; }
+
+echo "→ inference test (5-token reply)"
+RESP=$(curl -sS "$HOST/api/chat" \
+  -H 'Content-Type: application/json' \
+  -d "$(jq -n --arg m "$MODEL" \
+        '{model:$m, stream:false, options:{num_predict:20},
+          messages:[{role:"user",content:"Say hello in five words."}]}')" \
+  | jq -r '.message.content')
+echo "   reply: $RESP"
+[[ -n "$RESP" ]] && echo "✓ smoke test passed" || { echo "FAIL: empty reply" >&2; exit 1; }

(oldest)  ·  back to HERMES  ·  demo: head-to-head Hermes-3-8B vs Qwen3:14b on Costa Brava b e96ccf9 →