17. September 2026

hermes-memory-pgvector v0.5.3: Bring Your Own Embedding Model

hermes-memory-pgvector v0.5.3: Bring Your Own Embedding Model

hermes-memory-pgvector ist das Open-Source-Plugin, das einer Flotte von hermes-agent-Agenten gemeinsamen, dauerhaften Speicher auf PostgreSQL und pgvector bietet. Version 0.5.3 ist auf PyPI verfügbar, und sie entfernt die letzte fest codierte Annahme im Plugin: welches Embedding-Modell Ihre Erinnerungen in durchsuchbare Vektoren verwandelt.

Warum es dieses Release gibt

Bisher war das Embedding-Modell faktisch festgelegt. Das Plugin prüfte jeden Vektor gegen eine wörtliche Angabe von 768 Dimensionen, die Größe des Standardmodells nomic-embed-text, und es gab keine Möglichkeit, einen API-Schlüssel zu übergeben, sodass gehostete Embedding-Dienste außer Reichweite waren.

Das wurde zu einer echten Einschränkung für unsere eigene Bereitstellung. Wir haben die Speicher-Datenbank auf OpenAI's text-embedding-3-small umgestellt, bereitgestellt über OpenRouter, weil ein gehosteter Endpunkt immer warm ist, während ein selbst gehostetes Modell mehrere Sekunden zum Aufwachen brauchen kann. Die Datenbankspalten wurden auf 1536 Dimensionen geändert, und das Plugin hatte keine Einstellung, die damit mithalten konnte. v0.5.3 fügt diese Einstellungen hinzu.

Drei neue Einstellungen

  • embed_dim ist die Vektorlänge, die Ihr Modell zurückgibt. Der Standard ist 768, daher sind bestehende Setups nicht betroffen. Jede Einbettung wird weiterhin geprüft, jetzt anhand dieses Werts, sodass eine Abweichung frühzeitig fehlschlägt, statt erst die Datenbank zu erreichen.
  • embed_api_key_env ist der Name einer Umgebungsvariable, die ein Bearer-Token enthält, wie etwa OPENROUTER_API_KEY. Der Schlüssel steht niemals in der Konfigurationsdatei; er wird zum Zeitpunkt des Aufrufs gelesen und nie protokolliert.
  • embed_protocol ist openai, ollama oder auto. Der Standard auto versucht den OpenAI-kompatiblen Pfad und fällt auf Ollamas native API zurück. Wenn Sie openai für einen gehosteten Dienst wählen, wird ein Authentifizierungs- oder Modellfehler so gemeldet, wie er ist, statt hinter einer 404 aus dem Fallback verborgen zu werden.

Das Ansteuern des Plugins auf text-embedding-3-small über OpenRouter sieht jetzt so aus:

plugins:
  pgvector:
    embed_url: "https://openrouter.ai/api"
    embed_model: "openai/text-embedding-3-small"
    embed_dim: 1536
    embed_api_key_env: "OPENROUTER_API_KEY"
    embed_protocol: "openai"

Zwei Fehlerbehebungen, die wichtig sind, auch wenn Sie sonst nichts ändern

  • Embeddings unter dem hermes-agent-Plugin-Loader. Nach dem Laden des Plugins hängt der Loader des Hosts jedes Untermodul wieder an das Paket an, einschließlich eines mit dem Namen embed. Das ersetzte die Funktion, die das Plugin aufrief, sodass das Embedding mit TypeError: 'module' object is not callable fehlschlug und Speicher-Schreibvorgänge verworfen wurden, statt als Text gespeichert zu werden. Das Plugin verwendet jetzt ein privates Alias, das der Loader nie berührt.
  • Langsame Endpunkte. Ein Server, der die Verbindung akzeptierte, aber erst nach dem Timeout antwortete, löste einen nackten TimeoutError aus, der an der Fehlerbehandlung des Plugins vorbeiging: kein Fallback, keine Wiederholungsversuche und ein verlorener Schreibvorgang. Das wird jetzt wie jeder andere Endpunktfehler behandelt.

Aktualisieren

Die Standardwerte haben sich nicht geändert: 768 Dimensionen, kein Auth-Header, das auto-Protokoll und keine neuen Datenbank-Migrationen. Aktualisieren Sie mit:

pip install -U hermes-memory-pgvector

Der Wechsel zu einem Modell mit anderer Vektorgröße ist eine Datenbankmigration und nicht nur eine Änderung der Konfiguration, weil Vektoren aus zwei verschiedenen Modellen nicht vergleichbar sind. Das README führt Sie hindurch: Ändern Sie den Spaltentyp, betten Sie die vorhandenen Zeilen mit hermes-pgvector backfill erneut ein und bauen Sie dann die HNSW-Indizes neu.

Quellcode und die vollständige Konfigurationsreferenz finden Sie auf GitHub:

👉 github.com/andreab67/hermes-memory-pgvector