mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-04 21:32:39 +02:00
feat: implement agent caches and fix invalid prompt cache configs
Some checks are pending
Build and Push Docker Images / tag_release (push) Waiting to run
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Blocked by required conditions
Some checks are pending
Build and Push Docker Images / tag_release (push) Waiting to run
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Blocked by required conditions
- Added a new function `_warm_agent_jit_caches` to pre-warm agent caches at startup, reducing cold invocation costs. - Updated the `SurfSenseContextSchema` to include per-invocation fields for better state management during agent execution. - Introduced caching mechanisms in various tools to ensure fresh database sessions are used, improving performance and reliability. - Enhanced middleware to support new context features and improve error handling during connector and document type discovery.
This commit is contained in:
parent
90a653c8c7
commit
a34f1fb25c
60 changed files with 8477 additions and 5381 deletions
|
|
@ -324,3 +324,30 @@ LANGSMITH_PROJECT=surfsense
|
|||
# SURFSENSE_ENABLE_PLUGIN_LOADER=false
|
||||
# Comma-separated allowlist of plugin entry-point names
|
||||
# SURFSENSE_ALLOWED_PLUGINS=year_substituter
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Compiled-agent cache (Phase 1 + 2 perf optimization, default ON)
|
||||
# -----------------------------------------------------------------------------
|
||||
# When ON, the per-turn LangGraph + middleware compile result (~3-5s of CPU
|
||||
# on a cold turn) is reused across subsequent turns on the same thread,
|
||||
# collapsing it to a microsecond hash lookup. All connector tools acquire
|
||||
# their own short-lived DB session per call (Phase 2 refactor) so a cached
|
||||
# closure is safe to share across requests. Flip OFF only as a last-resort
|
||||
# rollback if you suspect cache-related staleness.
|
||||
# SURFSENSE_ENABLE_AGENT_CACHE=true
|
||||
|
||||
# Cache capacity (max number of compiled-agent entries kept in memory)
|
||||
# and TTL per entry (seconds). Working set is typically one entry per
|
||||
# active thread on this replica; tune up for very large deployments.
|
||||
# SURFSENSE_AGENT_CACHE_MAXSIZE=256
|
||||
# SURFSENSE_AGENT_CACHE_TTL_SECONDS=1800
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Connector discovery TTL cache (Phase 1.4 perf optimization)
|
||||
# -----------------------------------------------------------------------------
|
||||
# Caches the per-search-space "available connectors" + "available document
|
||||
# types" lookups that ``create_surfsense_deep_agent`` hits on every turn.
|
||||
# ORM event listeners auto-invalidate on connector / document inserts,
|
||||
# updates and deletes — the TTL only bounds staleness for bulk-import
|
||||
# paths that bypass the ORM. Set to 0 to disable the cache.
|
||||
# SURFSENSE_CONNECTOR_DISCOVERY_TTL_SECONDS=30
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue