New ideas I have tested and I think should be considered for the main release #3340
djdefendaqld
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hello, first a disclaimer - This was 'vibe coded'.
For context, I noticed that, when a graph is well constructed (like cytoscape) with properly defined entity types and edge relations, etc, I found that the quality of the 'reasoning' was very good, and this was without any source documents at all! This led me to explore a 'graph first' approach, (I'll skip the long story here, but feel free to ask if you are curious about the many things I tested out) and I wanted to share some features I have added to a forked version.
There is a very long list of benefits to these features, I'll try get around to discussing them later...
1: 'edit graph' tab;
It is a chat interface that allows you to edit the knowledge graph using conversational language, as seen in the screenshot. It also includes the ability to add edge connections, combine or delete nodes, input edge direction, etc. When you reload the graph in the other tab, you can see the changes applied. It works by ending the first prompt to an LLM and it determines your intent before taking action.
I also experimented with other ideas to 'chat' with the graph itself, one of them being 'gap detection' where you can use conversational language to identify nodes that are not connected to anything and so it helps to identify possible gaps......quite a lot of potential here for similar uses cases.
2: Settings Page
I prefer this idea when using important data instead of risking having an LLM make mistakes. It's self-explanatory, it adds a settings tab, with an easy way to over-write all the hard-coded settings, and other useful customizations.
3: Knowledge Graph shapes and biology concepts
These are my favourite ideas, I want them to serve two purposes, 1: Visually enhance the graph and improve the way it looks so that it becomes easier to edit the graph visually, and 2: By grouping them together I want it to enable better 'reasoning' and 'understanding' in connections/nodes that may not already be directly connected - I want the data to see the close relationships.......in my limited tests so far, when the edge types (and directions) are well defined, it is able to extract very useful, and accurate, information - all without (yet) uploading source documents!
In theory, you could use voice control and a giant touchscreen to build an entire knowledge-base as if it were a game!
For each of the settings; The divergence angle controls angular spacing between successive nodes. The golden angle (137.5°) is the value that never repeats a radial line — any other angle eventually produces visible spokes/clumping. Scaling is the radial spread factor. At 4, nodes are tightly packed near the center; at 30, they're widely spaced. Edge Threshold only shows edges whose endpoints are ≤ this distance apart in spiral space. Acts as a clutter filter: lower values show only the strongest/most local connections.
Here's a brief summary of the three layout modes in FLightRAG's knowledge graph visualization using a very basic graph of the moon landing;
Phyllotaxis — The default planar spiral layout using the golden angle (~137.5°). Nodes grow outward with radius scaleC × sqrt(i), the same geometry sunflowers use to pack seeds without clumping. It also powers the backend's "proximity boost" retrieval, where nearby nodes in spiral space can surface hidden connections during search.
Nodes grow outward, so the most important entities (those with the highest centrality/degree, which the backend orders first) appear near the center, while less connected ones fan outward.
Practical use today: The backend uses spiral positions for a phyllotaxis proximity boost during retrieval. When you search, the system finds the top 5 entities that are closest in spiral space to your search results (with a proximity score ≥ 0.25) and injects them — surfacing semantically related entities that vector/chunk retrieval may have missed. Could have uses for Anomaly detection — nodes that violate spiral proximity (far apart in spiral space but share many edges) may indicate misclassifications or outlier connections.
Note how the view changes when changing the 'divergence angle' to 119 degrees';
...and then how it looks at 180 degrees;
Cylindrical — Projects the same golden-angle spiral onto a cylinder surface (viewed side-on). All nodes sit at a fixed radius, with the golden angle wrapping around the cylinder circumference and nodes spaced linearly along the vertical axis. This mirrors the natural geometry of pinecones and pineapples, where parastichy families appear as diagonal lines.
Primarily educational/analytical. The cylindrical projection makes the Fibonacci families visible as diagonal lines, which are harder to discern on the flat spiral. Useful for understanding the underlying number-theoretic structure of the graph ordering.
Potential future uses:
Multi-scale clustering — nodes aligned along the same parastichy (diagonal line) belong to the same Fibonacci family, which correlates with structural similarity in the graph. You could group or label entire families at once.
Graph compression — instead of examining individual nodes, an analyst could reason about entire parastichy families as coarse-grained clusters.
Hyperbolic — Maps the golden-angle spiral into a Poincaré disk (hyperbolic space). Nodes compress toward the disk boundary via a tanh mapping, creating a scale-free layout. Hyperbolic space naturally accommodates hierarchical and tree-like graph structures with near-zero distortion, unlike Euclidean embeddings.
Ideal for hierarchical and tree-like knowledge graphs. Hyperbolic geometry is the natural embedding space for trees — every tree can be embedded with near-zero distortion, whereas Euclidean embeddings inevitably distort hierarchical structures. If your knowledge graph has clear parent-child or category-subcategory relationships, the hyperbolic view will place the root/broad concepts near the center and increasingly specific concepts toward the edge.
Potential future uses:
Navigating large taxonomies — a hierarchical ontology (e.g., scientific fields, product categories, organizational charts) can be browsed with a focus+context effect: zoom into a region and the hyperbolic projection "expands" that area while compressing the rest.
......to be continued
Beta Was this translation helpful? Give feedback.
All reactions