
Release the Kraken¶
Project Kraken is a Central Knowledge Base designed to bring together multiple sources of information:
- GitHub
- Confluence
- Jira
into a single, unified platform.
With Project Kraken, you can:
- ποΈ Access all your resources in one place
- π€ Perform Agentic Retrieval-Augmented Generation (Agentic RAG)
- π Boost productivity and collaboration across teams
Unleash the power of seamless knowledge integration with Project Kraken! π¦
Agentic RAG at a Glance¶
The runtime agent can dynamically combine these tools to generate an intelligent response to your query:
- RAG Search Tool: semantic retrieval over chunk embeddings
- Graph Query Tool: targeted Neo4j lookup using filters extracted from user prompts
- Fetch Neighbors Tool: graph neighborhood expansion via
REFERENCESrelationships - Filter Docs Tool: post-retrieval pruning of weakly relevant documents
All retrieval tools support and respect source filters passed by the API request (for example: Jira-only, GitHub-only).
Architecture Overview¶
graph LR
subgraph "External Sources"
J[π Jira]
C[π Confluence]
G[π§ GitHub]
end
subgraph "Project Kraken"
KB[π¦ Central Knowledge Base]
Agent[π§ Agentic RAG Agent]
subgraph "π οΈ Tools"
T1[π RAG Search]
T2[ποΈ Graph Query]
T3[πΈοΈ Fetch Neighbors]
T4[π Filter Docs]
end
Graph[πΈοΈ Knowledge Graph]
end
subgraph "Features"
Search[π Unified Search]
QA[π¬ Question Answering]
Viz[π Graph Visualization]
end
J --> KB
C --> KB
G --> KB
KB --> Agent
Agent --> T1
Agent --> T2
Agent --> T3
Agent --> T4
T2 --> Graph
T3 --> Graph
KB --> Graph
Agent --> Search
Agent --> QA
Graph --> Viz
How It Works¶
sequenceDiagram
participant User
participant UI as Frontend
participant API as Backend API
participant Agent as Agentic RAG Agent
participant Tools as Retrieval Tools
participant Neo4j as Neo4j
participant LLM as LLM (Ollama/OpenAI)
User->>UI: Ask question + selected sources
UI->>API: POST /ask { question, sources }
API->>Agent: run(messages, documents, allowed_sources)
Agent->>Tools: Call rag_search_tool / graph_query_tool
Tools->>Neo4j: Retrieve candidate docs (source-filtered)
Neo4j-->>Tools: Documents
Agent->>Tools: Optionally fetch neighbors + filter docs
Tools-->>Agent: Expanded + filtered context
Agent->>LLM: Generate grounded answer
LLM-->>Agent: Answer
Agent-->>API: Final answer + source docs
API-->>UI: Response + sources
UI-->>User: Display answer & links
Configuration¶
Project Kraken currently supports both ollama and OpenAI as your GenAI provider.
Configuration is centralized through:
load_env_config()for environment parsingAppContainerfor dependency wiring and runtime component creation- provider utility factories for chat generator and embedders
See: .env.example and ARCHITECTURE.md.
Chat History & Session Management¶
Project Kraken implements intelligent chat history management to provide a seamless conversational experience across page reloads and sessions.
Key Features¶
Session Tracking:
- Automatic session ID generation and cookie-based persistence
- 30-day session lifetime
- HTTP-only cookies for security
Conversational Context:
- Follow-up questions automatically rewritten using chat history
- Last 4 messages used as context for query understanding
- Seamless multi-turn conversations
History Restoration:
- Complete chat history restored on page reload
- All messages, responses, and source references preserved
- Instant access to previous conversations