mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-06 22:32:39 +02:00
Add multi_agent_chat package exports and implementation layout doc.
This commit is contained in:
parent
e18675a40a
commit
0c8ea2085e
2 changed files with 95 additions and 0 deletions
|
|
@ -0,0 +1,35 @@
|
||||||
|
# `multi_agent_chat` — vertical slices + shared
|
||||||
|
|
||||||
|
```
|
||||||
|
multi_agent_chat/
|
||||||
|
__init__.py
|
||||||
|
|
||||||
|
shared/ # Cross-domain helpers (one level)
|
||||||
|
deps.py # connector_binding for new_chat factories
|
||||||
|
prompt_loader.py # read_prompt_md(package, stem)
|
||||||
|
domain_agent_factory.py # build_domain_agent(..., prompt_package=...)
|
||||||
|
invoke_output.py # extract_last_assistant_text (invoke result parsing)
|
||||||
|
|
||||||
|
gmail/ # Gmail slice (agent + tooling + prompt)
|
||||||
|
domain_prompt.md
|
||||||
|
connector_tools.py
|
||||||
|
agent.py
|
||||||
|
|
||||||
|
calendar/ # Google Calendar slice
|
||||||
|
domain_prompt.md
|
||||||
|
connector_tools.py
|
||||||
|
agent.py
|
||||||
|
|
||||||
|
routing/
|
||||||
|
from_domain_agents.py
|
||||||
|
supervisor_routing.py
|
||||||
|
|
||||||
|
supervisor/
|
||||||
|
supervisor_prompt.md
|
||||||
|
graph.py
|
||||||
|
|
||||||
|
integration/
|
||||||
|
create_multi_agent_chat.py
|
||||||
|
```
|
||||||
|
|
||||||
|
**References:** [Multi-agent](https://docs.langchain.com/oss/python/langchain/multi-agent), [Subagents](https://docs.langchain.com/oss/python/langchain/multi-agent/subagents).
|
||||||
60
surfsense_backend/app/agents/multi_agent_chat/__init__.py
Normal file
60
surfsense_backend/app/agents/multi_agent_chat/__init__.py
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
"""
|
||||||
|
Multi-agent chat (LangChain Subagents pattern).
|
||||||
|
|
||||||
|
**Vertical slices**
|
||||||
|
|
||||||
|
- :mod:`gmail` — connector tools, domain agent, ``domain_prompt.md``
|
||||||
|
- :mod:`calendar` — connector tools, domain agent, ``domain_prompt.md``
|
||||||
|
|
||||||
|
**Shared**
|
||||||
|
|
||||||
|
- :mod:`shared` — prompt loader, ``build_domain_agent``, connector deps, invoke result parsing
|
||||||
|
|
||||||
|
**Cross-cutting**
|
||||||
|
|
||||||
|
- :mod:`routing` — supervisor routing tools + invoke helpers
|
||||||
|
- :mod:`supervisor` — top graph + ``supervisor_prompt.md``
|
||||||
|
- :mod:`integration` — ``create_multi_agent_chat``
|
||||||
|
|
||||||
|
Documentation:
|
||||||
|
https://docs.langchain.com/oss/python/langchain/multi-agent
|
||||||
|
https://docs.langchain.com/oss/python/langchain/multi-agent/subagents
|
||||||
|
|
||||||
|
Display name: ``multi-agent-chat`` — Python package: ``multi_agent_chat``.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from app.agents.multi_agent_chat.calendar import (
|
||||||
|
build_calendar_domain_agent,
|
||||||
|
build_google_calendar_connector_tools,
|
||||||
|
)
|
||||||
|
from app.agents.multi_agent_chat.gmail import (
|
||||||
|
build_gmail_connector_tools,
|
||||||
|
build_gmail_domain_agent,
|
||||||
|
)
|
||||||
|
from app.agents.multi_agent_chat.integration import create_multi_agent_chat
|
||||||
|
from app.agents.multi_agent_chat.shared import (
|
||||||
|
build_domain_agent,
|
||||||
|
connector_binding,
|
||||||
|
extract_last_assistant_text,
|
||||||
|
read_prompt_md,
|
||||||
|
)
|
||||||
|
from app.agents.multi_agent_chat.routing import (
|
||||||
|
build_supervisor_routing_tools,
|
||||||
|
routing_tools_from_domain_agents,
|
||||||
|
)
|
||||||
|
from app.agents.multi_agent_chat.supervisor import build_supervisor_agent
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"build_calendar_domain_agent",
|
||||||
|
"build_domain_agent",
|
||||||
|
"build_gmail_connector_tools",
|
||||||
|
"build_gmail_domain_agent",
|
||||||
|
"build_google_calendar_connector_tools",
|
||||||
|
"build_supervisor_agent",
|
||||||
|
"build_supervisor_routing_tools",
|
||||||
|
"connector_binding",
|
||||||
|
"create_multi_agent_chat",
|
||||||
|
"extract_last_assistant_text",
|
||||||
|
"read_prompt_md",
|
||||||
|
"routing_tools_from_domain_agents",
|
||||||
|
]
|
||||||
Loading…
Add table
Add a link
Reference in a new issue