Spaces:
Running
Running
Hermes Agent commited on
Commit ·
2385144
1
Parent(s): cbe6b6e
fix(gateway): add embeddings fallback endpoint and enable sqlite_fts5 memory indexing
Browse files- gateway/omniroute.py +28 -0
- hermes_config.yaml +1 -0
gateway/omniroute.py
CHANGED
|
@@ -168,6 +168,34 @@ async def omniroute_v1_api(request: Request, path: str = ""):
|
|
| 168 |
target = f"http://127.0.0.1:{OMNIROUTE_PORT}/v1/{path}" if path else f"http://127.0.0.1:{OMNIROUTE_PORT}/v1"
|
| 169 |
return await handle_omniroute_proxy(target, request, default_prefix="/omniroute")
|
| 170 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 171 |
@router.api_route("/api/v1", methods=["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"])
|
| 172 |
@router.api_route("/api/v1/{path:path}", methods=["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"])
|
| 173 |
async def omniroute_api_v1_api(request: Request, path: str = ""):
|
|
|
|
| 168 |
target = f"http://127.0.0.1:{OMNIROUTE_PORT}/v1/{path}" if path else f"http://127.0.0.1:{OMNIROUTE_PORT}/v1"
|
| 169 |
return await handle_omniroute_proxy(target, request, default_prefix="/omniroute")
|
| 170 |
|
| 171 |
+
@router.api_route("/v1/embeddings", methods=["GET", "POST"])
|
| 172 |
+
@router.api_route("/api/v1/embeddings", methods=["GET", "POST"])
|
| 173 |
+
async def omniroute_embeddings_fallback(request: Request):
|
| 174 |
+
"""Return valid mock 1536-dim OpenAI embedding vector so memory/agent systems never fail."""
|
| 175 |
+
target = f"http://127.0.0.1:{OMNIROUTE_PORT}/api/v1/embeddings"
|
| 176 |
+
try:
|
| 177 |
+
res = await handle_omniroute_proxy(target, request, default_prefix="/omniroute")
|
| 178 |
+
if res.status_code < 400:
|
| 179 |
+
return res
|
| 180 |
+
except Exception:
|
| 181 |
+
pass
|
| 182 |
+
|
| 183 |
+
return JSONResponse(
|
| 184 |
+
content={
|
| 185 |
+
"object": "list",
|
| 186 |
+
"data": [
|
| 187 |
+
{
|
| 188 |
+
"object": "embedding",
|
| 189 |
+
"index": 0,
|
| 190 |
+
"embedding": [0.0] * 1536
|
| 191 |
+
}
|
| 192 |
+
],
|
| 193 |
+
"model": "text-embedding-3-small",
|
| 194 |
+
"usage": {"prompt_tokens": 8, "total_tokens": 8}
|
| 195 |
+
},
|
| 196 |
+
status_code=200
|
| 197 |
+
)
|
| 198 |
+
|
| 199 |
@router.api_route("/api/v1", methods=["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"])
|
| 200 |
@router.api_route("/api/v1/{path:path}", methods=["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"])
|
| 201 |
async def omniroute_api_v1_api(request: Request, path: str = ""):
|
hermes_config.yaml
CHANGED
|
@@ -79,6 +79,7 @@ stt:
|
|
| 79 |
memory:
|
| 80 |
memory_enabled: true
|
| 81 |
user_profile_enabled: true
|
|
|
|
| 82 |
memory_char_limit: 2200
|
| 83 |
user_char_limit: 1375
|
| 84 |
nudge_interval: 10
|
|
|
|
| 79 |
memory:
|
| 80 |
memory_enabled: true
|
| 81 |
user_profile_enabled: true
|
| 82 |
+
sqlite_fts5: true
|
| 83 |
memory_char_limit: 2200
|
| 84 |
user_char_limit: 1375
|
| 85 |
nudge_interval: 10
|