Introduction

Crisalid AI aims to enable agents using artificial intelligence to utilise the knowledge graph.

A knowledge graph offers the same benefits as a vector store โ€” embedding-based retrieval, semantic search โ€” but goes further. A traditional RAG can answer questions such as:

Which researcher or team is working on computer vision applied to medical imaging?

A knowledge-graph-backed agent can also answer structural and relational queries that are beyond the reach of vector search:

What are the three main research topics of UMR XXXXX?

What kinds of collaborations between our institution and University XXXXX are the most transdisciplinary?

More broadly, this approach opens the way to conversational analytics โ€” providing actionable insights through natural language, without the heavy business intelligence tooling and specialist skills traditionally required.

The CRISalid knowledge graph covers the research sector of a teaching and research institution, and is intended to extend to its entire core business. Currently it mainly contains information on:

The graph is actively expanding โ€” planned and in-progress extensions include:


Data sensitivity

The use of Crisalid AI may provide access to internal institutional data (ongoing research projects) or personal data. Ensure that access controls are configured appropriately before exposing the system to users.

Recommended LLMs

Whilst the use of any LLM is technically feasible, we recommend the use of sovereign LLMs โ€” such as those offered by ILaaS โ€” in order to keep institutional data under national jurisdiction.


Architecture

Crisalid AI consists of four layers, from the user interface down to the knowledge graph:

flowchart LR
    UI["๐Ÿ–ฅ๏ธ User Interface<br/>OpenWebUI ยท email ยท โ€ฆ"]
    AGENTS["๐Ÿค– Crisalid Agents<br/>OpenWebUI Pipelines<br/>LangChain ยท LangGraph"]
    SKILLS["๐Ÿ› ๏ธ Crisalid AI Skills<br/>MCP Tools"]
    GRAPH["๐Ÿ•ธ๏ธ Neo4j Graph<br/>(IKG)"]
    TAXI["๐Ÿš– Crisalid Taxi<br/>OpenAlex topics"]

    UI --> AGENTS --> SKILLS --> GRAPH
    TAXI -.-> GRAPH

Why a layered architecture?

Separating concerns across layers maximises reuse and flexibility:

  • A Crisalid AI Skills tool can be used both in a long-running production agent and in a one-off agent created for a limited trial with a business service.
  • A Crisalid Agents agent can be developed exploratively using LangChain whilst benefiting from the full Crisalid AI ecosystem.
  • Other user interfaces may be added in the future: alternative chat solutions (LibreChat), or email and workflow tools such as N8N.

Layers

๐Ÿ•ธ๏ธ The graph layer

The Neo4j graph is powered by the IKG middleware. IKG is not part of the Crisalid AI stack โ€” it is a prerequisite to build the graph (see Crisalid Core).

๐Ÿ› ๏ธ The tools layer

The crisalid-ai-skills repository brings together the tool technologies that enable access to the graph, whether via MCP, skills, or non-standard approaches.

The current implementation uses the Neo4j MCP Toolbox (documentation).

Two toolsets are available:

Toolset Description
crisalid-restricted A small set of tools with pre-prepared Cypher queries
crisalid-unrestricted All of the above, plus the ability to execute any read-only Cypher query
Important

With Neo4j Community Edition, role-based access control (RBAC) is not available. The crisalid-unrestricted toolset is therefore a sensitive option that should be reserved for agents requiring elevated authorisation.

๐Ÿค– The agent layer

The agent layer enables the development of agents within the LangChainโ€“LangGraph ecosystem, leveraging the full Crisalid AI stack.

Currently, two general-purpose agents have been developed:

  • Active โ€” a LangGraph-based agent using Crisalid AI Skills tools.
  • Disabled โ€” an agent based on direct LangChain Neo4j integration, currently inactive due to disappointing performance.

More specialised agents may be developed in the future.

Crisalid Agents also includes OpenWebUI Pipelines, enabling LangGraph agents to be deployed directly from OpenWebUI.

๐Ÿ–ฅ๏ธ The interface layer

For the time being, this consists solely of OpenWebUI โ€” a self-hosted chat interface accessible via a web browser.

The LangChain/LangGraph agents in Crisalid Agents are presented to the user as pipelines โ€” in the place where the user would normally select LLMs in a basic use of OpenWebUI.

Note

Although the user no longer interacts directly with the LLMs, OpenWebUI still needs direct access to the models for convenience features such as generating titles, follow-up questions, etc.

๐Ÿš– Supporting services

Outside the four chat layers, CRISalid Taxi enriches the graph itself: IKG sends document titles and abstracts to Taxi, which returns the closest OpenAlex topics by semantic similarity, using the same embedding endpoint as the rest of the AI stack. These topics are then available to the tools and agents above. Taxi is optional โ€” see Topics classification.

Also optional, the Horizon Europe topic index adds a second data source next to the graph: an OpenSearch index of the topics of the current work programme, used by the Horizon topic finder agent (which topics fit a project idea?) and by the Topic-to-Researcher Match batch (which researchers fit each topic?). See Horizon Europe topics.