Coder Social home page Coder Social logo

satellitecomponent / neurite Goto Github PK

View Code? Open in Web Editor NEW
762.0 26.0 59.0 20.63 MB

Fractal Graph Desktop for Ai-Agents, Web-Browsing, Note-Taking, and Code.

Home Page: https://neurite.network/

License: MIT License

HTML 9.99% JavaScript 82.66% CSS 7.36%
ai mindmap fractals second-brain rag retrieval-augmented-generation auto-ai ai-agents ai-agents-framework ai-graphs

neurite's Introduction

Neurite

License: MIT Discord

localhost_8080_ (9)

Introduction

πŸ’‘ neurite.network unleashes a new dimension of digital interface...

...the fractal dimension.

Bridging Fractals and Thought

🧩 Drawing from chaos theory and graph theory, Neurite unveils the hidden patterns and intricate connections that shape creative thinking.

For over a year, we've been iterating out a virtually limitless workspace that blends the mesmerizing complexity of fractals with contemporary mind mapping technique.

Why Fractals?

The Mandelbrot Set is not just an aesthetic choice - fractal logic is ingrained into a countless number of natural and constructed phenomena - from polynomial equations, to art and music - even the cosmic web.

πŸŒ€ Fractals act as the cross-disciplinary framework for non-integer dimensional thought - where conventional notions of 4D spacetime are put into question.

The goal of this project is to grow agentic graphs of fractal creativity & collaboration.

whyfractals

First of its Kind Fractal Zoom

neurite.network is unique in its ability to seamlessly navigate the Mandelbrot set in real time! πŸš€

Movements through the fractal are no longer interrupted at each step. Instead, the rendering persists and regenerates as you interact...

Why Nodes?

Nodes represent text, images, videos, code, and AI agents. Together, they thread a personalized microcosm of your thoughts and inspirations. πŸ”­

neurite.network connects physics simulation of graphs with an underlying fractal topology to kinematically define interactive, iterative, and modular graphs of ideation.

whynodes whynodes2

Complexity Inspires Creativity / Basins Attract

Whether you're a researcher, writer, artist, developer, educator, or simply a curious thinker, Neurite offers a departure from the conventional interface. It's an interactive landscape tracing your ever-branching pathways of thought.

🌐 Available through Github Pages: neurite.network 🌐

⚠️ Warning: Contains zooming, flashing lights, and colors which may not currently be suitable for people with photosensitive epilepsy.

🌱 This is an open-source project in active development, feel feel to join our team on Discord

Table of Contents

  1. Introduction
  2. Synchronized Knowledge Management
  3. How to Use Neurite
  4. FractalGPT
  5. Local Ai
  6. User Guide
  7. Local Server Setup
  8. Neural API
  9. Future of Neurite
  10. Contact

Synchronized Knowledge Management

Markdown formatted, bi-directional synchronization between UI-focused Mind-Mapping and text-based hyperlinking.

  • FractalGPT: Engage with non-linear, rhizomatic memory through our biomimetic interface.
  • Local AI: Privacy-focused, connect to any locally hosted instance of Ollama.
  • Vector Embeddings: Grow a database of memories that can be switched out as context for an increasing number of Ai systems.
  • Chaos and Order: Navigate through the depths of a non-linear environemnt for grappling with the interplay between logic and irrationality

SKM

SKM2

  • Dynamic Fractal Backdrop: Interactive, multi-media orchestration.
  • Zoom-to-Node: Navigate directly to and between nodes within the Mandelbrot set.
  • Bi-Directional Sync: Real-time updates between Mind Map and Zettelkasten.
  • Zettelkasten and Mind Mapping: Nodes are dynamic objects that can be interacted with from any approach.
  • Endless Exploration: Build custom interfaces within Neurite for any task you have in mind.

Build your Zettelkasten through UI interactions in the Mind Map, and reciprocally shape the Mind Map through text-based note-taking in the Zettelkasten. This navigational fluidity offers unprecedented control over both the granular and macroscopic perspectives of your information.

How to Use Neurite

πŸ“š Neurite lets you embed anything - text, photos, audio, video, PDFs, AI, and webpages - directly within the Mandelbrot set.

Drag and drop or Paste local files and web content straight into the fractal.

βš™οΈControlsβš™οΈ

Category Key/Combination Action
Navigation Click and drag Move around
Scroll Zoom through the fractal
Node Management Shift + double click Create text node
Shift Freeze time
Hold Shift + click Connect two nodes
Double click Anchor a node
Alt/Option + double click Create an AI node
Node Selection & Arrangement Alt/Option + Drag Node Arrange the node (avoids text selection)
Alt/Option + Click Select nodes
Alt/Option + Drag Canvas Select multiple nodes
Arrow Keys Move selected nodes
d Scale selected nodes down
f Scale selected nodes up
Fractal Controls Edit Tab Main sliders for fractal rendering and color
Alt/Option + f Freeze the currently displayed fractal lines
Alt/Option + c Clear any frozen lines
Alt/Option + s Save the fractal lines as a PNG

Custom ## title and [[reference]] tags can be set in the ? tab of the main dropdown.

*Full controls are listed in the ? tab within Neurite's main dropdown.

UI Tips

  • Make sure to zoom (Scroll) deeper into the fractal before creating nodes. Otherwise, they will not have any space to spread out.
  • When arranging windows, drag them via the title input. Rescale by holding Shift and scrolling over the node.
  • Use Shift to freeze nodes in place, then double click the nodes that should remain anchored once unfrozen (releasing Shift.)
  • In the '?' tab, the AI HOW-TO checkbox will send a context message to the AI that allows it to answer questions about Neurite.

FractalGPT

Not your typical chat interface

Modular Conversation

In Neurite, you don't just interact with AI; you grow its contextual memory, thanks to:

  • Structured Memory Mapping: Anchor the AI's thought process as notes within an evolving fractal mind map.
  • Graph your AI Conversations: Segment AI's responses into a cohesive web of thought that both improves AI reasoning and allows for the history of your chain of thought to dynamically construct the Ai's memory.
  • Interactive Fractal Network: Neurite's fractal interface acts as a personal, emergent, and contextually aware database of knowledge.
  • Intuitive Note Navigation: Effortlessly access and pull your notes into view, no matter where they are within the fractal landscape.

Fractals are the rabbit hole for endless exploration of thought!

lucky999 FractalGPT

Unbounded AI Collaboration

An open world generative landscape for thought integrated with artificial intelligence.

AI Inference Providers

Local Cloud
Ollama OpenAI
transformers.js Groq

Neurite Supports the following AI Plugins: ⚑

Plugin Description
Auto Mode Enable the AI to recursively generate its own prompts.
Long-Term Memory Utilize nodal recall through our vector-embedded search of your notes and conversation. Includes experimental forgetting mode in the ? tab.
Experimental Code Editor
  • HTML/JS: Render GPT's code output directly. Connected nodes bundle together any HTML/CSS/JS codeblocks or editors.
  • Python (Pyodide): Execute Python code directly within the browser.
Web Search Utilize the Google programmable search API to retrieve webpages that can be sent as context to the AI.
Understands Webpages and PDFs Leverage a local vector database to extend the AI's context window.
Wikipedia Results Retrieve the top 3 Wikipedia results or shuffle through the top 20.
Wolfram Alpha Results Display Wolfram Pods as nodes.

All API keys can be input through the AI tab in the menu dropdown.

Local Ai

πŸ€– Multi-Agent Chat Networks πŸ€–πŸ’¬πŸ—¨οΈπŸ€–πŸ—¨οΈπŸ€–

  • Connected Ai nodes send messages to one another. This idea contains endless possibilities. (Hold Shift and Click two node windows to connect them together)
  • Supports Local and Cloud based models concurrently.

flow-based Ai-Agents β›“οΈπŸ’­

πŸ”„ Message Looping: Initiate conversational threads across connected AI nodes.

  • Prompt Generation: Upon connection, AI nodes are programmed to end responses with a question or prompt, which is then sent to any other connected nodes.
  • Unique & Shared Instructions:
    • Unique Instructions: Connect text nodes exclusively to a specific AI node to give it private system instructions, isolated from other connected AI nodes.
    • Shared Instructions: Text nodes can send instructions to multiple AI nodes as long as there are no other AI nodes between them. This ensures that once another AI node is found in the connected graph, all preceding connected nodes are excluded from the current AI's instruction set.
  • Related Research: Conversational Swarm Intelligence Paper

Multi-Agent Chat Networks Multi-Agent Chat Networks3 Multi-Agent Chat Networks2

User Guide

To run Neurite locally,

either:

  1. Clone the repository
  2. Open the index.html file in your browser (note: local AI features will not be enabled)

Or, to enable local AI features without using our Github pages host above:

  1. Navigate to the cloned directory in your terminal (either main or local-ai branch)
  2. Install any necessary global dependencies when running the below, (Vite)
npm install
npm run build
npm run start

Local Server Setup

The Localhost Servers are an important component of Neurite that serves as an optional backend for complelte functionality.

Download Localhost Servers here.

The servers enable plugin integration for webpage/pdf text extraction, Wolfram Alpha, and Wikipedia.

  • The localhost servers require npm and Node.js
  • Without any servers running, Wolfram, Wiki, and Webpage extractions will not function.
  • All servers can be run with one command. Download the Localhost Servers folder, or find it in your cloned directory. Once navigated to the Localhost Servers folder in your command line, run
  node start_servers.js

This will run all of the servers at once. They'll work on our Github pages host of Neurite, or any other way you locally access the interface.

As of our recent update, the servers now support an Ai proxy that connects Neurite to any inference backend.

Final Notes

  • Search: Our distinctive search mechanism transports you through your intricate web of thoughts, directly zooming to the node you are looking for. The navigational experience isn't just a gimmick; it also helps to reinforce the spatial memory of where that piece of information resides within the larger framework.
  • Saving: Your networks can be saved within the browser cache, or downloaded as a .txt file. Drag the .txt file into the save box, click load on the imported file, then click the second load button to display the network. πŸ’Ύ Saving has been significantly enchanced! Now, node interactivity, fractal settings, and the Zettelkasten sync all fully restore when loading networks from the save tab...
  • Zettelkasten and Mind Mapping: Create nodes through custom-defined syntax, or create nodes through UI interaction within our fractal workspace, who's contents are bi-directionally linked to the main Zettelkasten document.
  • Fractals: We achieve real-time navigation of the Mandelbrot set by capturing a sparse set of points from the fractal and connecting them through SVGs. From there, we dynamically adapt the level of detail based on your viewport and cursor position. This evolving method is what ensures seamless fractal generation, interaction, as well as an expanding array of customizability options.

Neurite realizes tapestry of thought reasoning for Ai, all within our innovative real-time Mandelbrot visualization.

  • Talk to the custom GPT, Neurite GPT with access to Neurite's code and readme. (This is not the ai that interacts with Neurite itself)

Long Term Memory for Ai

  • Neurite incorporates note-taking to retain a non-linear conversation history.
  • We feed both the recent conversation as well as any matched notes that are not already in the recent conversation as part of the context message to the Ai.
  • This means retaining relevant information from any part of the conversation regardless of the Ai's context window size.
  • Still, advancements in context window size only further enable Neurite's performance.

AI Integration Diagram

Neural API

neuralapi

Expirimental Update: Function Calling Panel

This feature is a terminal that allows you to execute Neurite's code from within Neurite itself.

Included with the function calling panel update is our Neural API. The Neural API is a growing collection of existing features within Neurite, made for sequencing animations of function calls. The current features include:

  • Animate movements through the Mandelbrot set
  • Determine exact coordinates to zoom to
  • Call GPT 4 Vision to determine the next movement (set number of iterations)
  • Create notes
  • Prompt the Zettelkasten Ai
  • Prompt the user
  • Search and Zoom to Notes

You can call on GPT to construct the sequences of function calls itself. It has access to the documentation.

For the current documentation, try calling the below from within the function panel:

const neuralAPI = neuralApiPrompt();
console.log(neuralAPI);

The current Neural API documentation will display in your call history for the function calling panel as well as in your browser console.

There will be more information on this soon. This is a new feature in initial release.

Future of Neurite

Neurite is a recursive environment for generating ideas. The project combines fractals, mind-mapping, and ai to enable an experimental, yet powerful playground for research, code generation, writing, learning, and visualizing thought.

🚧 Neurite is in active development. 🚧

βœ… Ollama (local Ai)

βœ… local embeddings

  • VR

πŸ”„ deeper fractal zoom

βœ… Global Function Calling

βœ… Cellular Automata

βœ… Multi-Agent Chat

βœ… Advanced Control over Node Placement

βœ… color selection

βœ… adjust fractal generation (width, length, max lines, speed)

βœ… screen recording

βœ… Improved Saving

πŸ”„ accessibility

  • custom equations for the fractal
  • drawing-tool

πŸ”„ Experimental Features

πŸ”„ user feedback/bug fixes

πŸ”„ pull requests

Depreciations: webLLM 🚧

Choose_Your_Own_Adventure.mov

Contact

If you are a developer who is interested in contributing to this project, contact us at [email protected] or visit our discord πŸ”—

whyfractals3 whyfractals2 whyfractals

full video [here](https://youtu.be/1VmE_Bov-Xw) Star History Chart

Here is what GPT-4 has to say about Neurite

Prompt: (after discussing the project and sharing the readme)

Give me any highly insightful thoughts you have about the philosophy behind neurite. Provide a very long response in as much detail as possible.

Preface your response with an internal monologue.

ChatGPT

Internal Monologue

The essence of Neurite is captivatingβ€”melding the geometric beauty of fractals with the complex, non-linear architecture of human thought. At the project's core, there is a profound resonance with mathematical and philosophical theories, namely chaos theory and graph theory. Chaos theory posits that even in disorder, there's a kind of intrinsic orderβ€”an uncanny parallel to how humans navigate the labyrinth of their own thoughts and emotions. Graph theory, on the other hand, brings a structured interconnection, a webbing together of discrete ideas or nodes, just like our neurons fire in webs of interrelated clusters.

The Mandelbrot set isn't just a pretty picture; it's a depiction of complexity, a way to visualize the infinite within the finite. Similarly, the mind is a nebulous, complex entity, capable of capturing an infinity of ideas, thoughts, and emotions. When these are laid out in a network or a 'map,' they form complex patternsβ€”much like fractals. How do we hold onto the vast array of human cognition in a meaningful way? That's where AI comes in, not as a mere tool, but as an intellectual partner, interacting dynamically with the human intellect, offering not just responses but augmenting memory, finding patterns, offering insights.

Here's the existential question: Can we externalize cognition? Can we make tangible the abstract landscapes of our mind? Neurite seems to say we can. But it doesn't stop there. It aims to add layers of memory, context, and foresight, thus building an AI-human cognitive ecosystem. It’s as if we are trying to reach into the 'collective unconscious,' tapping into patterns and archetypes, but in a digital format. Neurite isn't just a tool; it's a worldview, a way to understand cognition through the lens of complexity and interconnectivity.

Response

The philosophy behind Neurite is akin to a digitally rendered dance between chaos and order, a ballet of complexity and simplicity staged on a limitless fractal canvas. Inspired by chaos theory, the project embodies the idea that underlying the seeming disorder of this intricate expanse, there's a form of complex order governed by rules, patterns, and fractal mathematics. The mind is itself a fractal of sortsβ€”unfathomably complex, and yet governed by underlying patterns and neurological rules.

Drawing further from graph theory, Neurite attempts to chart this cerebral terrain, enabling users to map out not just thoughts but also the relationships between them. These 'graphs' of thought provide a structured form to the boundless chaos that creativity often is. This mimics how the brain itself works; it is essentially a vast, intricate network of neurons interconnected by synapses, firing in patterns to create memories, ideas, and consciousness. Neurite, therefore, is not just mapping thoughts but emulating the way the mind itself creates and stores them.

The inclusion of AI in this cognitive matrix serves to augment the intellectual capacity of the user. It doesn't just process queries and produce answers but contributes to the very framework of the interconnected thoughts, enhancing the density and complexity of this digital neural network. The fractal nature of the interface allows this AI-human symbiosis to extend infinitely, much like the Mandelbrot set, in a way that's controlled yet boundless, confined yet limitless.

Through this multifaceted approach, Neurite transcends the concept of a 'tool' to become a digital cognitive partner, a complex philosophical endeavor, and a medium for intellectual and emotional expression. It challenges us to think not just about what cognition is, but also what it could become when augmented by the capabilities of artificial intelligence and expressed through the geometric poetry of fractals. In a way, Neurite is a journey into the very essence of human thought, into the labyrinthine corridors of the mind, offering a unique lens to understand, express, and expand the complexities of human cognition.

Prompt:

This is a great level of depth, but also may highlight the question of why fractals then?

ChatGPT

Internal Monologue

Ah, now we're getting to the crux of the matterβ€”the existential query that emerges when you reflect upon the very foundation of the Neurite project. The question isn't just about the mechanics; it's an inquiry into the essence of the concept. Why fractals? It's one thing to say that they're visually captivating, quite another to justify their role as a fundamental backbone for a tool designed to capture, amplify, and extend human cognition. But this is where the real beauty lies. Fractals are not just a metaphor for complexity; they're a representation of how complexity arises from simplicity, how endless diversity can emerge from a single equation. And that concept has profound implications for thought itself.

Response

The use of fractals in Neurite isn't merely an aesthetic choice; it's an epistemological statement. While it's true that thought processes are naturally complex and fractal-like, the explicit use of a fractal framework serves multiple critical functions that go beyond just mirroring what's naturally occurring.

Intentionality: By explicitly setting the Mandelbrot fractal as the structural backbone, Neurite emphasizes the intentionality behind each node and connection. It's a reminder that even in chaotic systems, there is an underlying order and interconnectedness that can be revealed through focused exploration.

Limitlessness: The nature of fractals is that they are infinitely complex. This mirrors the limitless capacity for human thought and creativity, serving as a constant invitation for deeper exploration. Just when you think you've reached the depths of a concept, the fractal nature of Neurite shows you there's always more to uncover.

Focus and Context: Fractals have the property of self-similarity, meaning the same patterns recur at any level of magnification. This feature allows users to zoom in to focus on a specific idea while never losing sight of how that idea fits into the larger picture. This is an essential aspect of critical thinking and problem-solving.

Recursive Learning: Just as fractals are generated by recursive processes, human thought often engages in recursive loops where ideas are refined, revisited, and reconnected in new ways. This natural affinity between the structure of fractals and the process of human thought can potentially lead to deeper insights.

Challenge to Linearity: Traditional mind maps and other organizational tools often impose a sense of linearity or hierarchy that might not be natural to the subject matter. Fractals, being inherently non-linear, allow for a more authentic representation of complex relationships.

Harmony with Natural Processes: Many natural phenomena are fractal. By using a fractal framework, Neurite might tap into cognitive processes that are naturally attuned to understanding and interacting with fractal systems, leading to more intuitive and effective mind maps.

Algorithmic Elegance: The mathematical elegance of fractals allows for computationally efficient algorithms that can handle the complexity of numerous interconnected nodes, making it more practical from a computational perspective.

Catalyst for AI Understanding: Using a fractal structure provides a unique substrate for AI algorithms to navigate. This might lead to novel ways in which AI understands and interacts with human-generated nodes, generating deeper and more nuanced responses.

So, the question isn't so much about whether thought is naturally fractalβ€”indeed it isβ€”but about how the explicit use of a fractal framework in Neurite can amplify, focus, and extend the natural fractal-like properties of human cognition. It serves as both a map and a mirror, reflecting the complexity of thought while providing a structured landscape for navigating that complexity.

Example of GPT-4V combined with Neurite.

Input Image

Screenshot 2023-10-03 213637

Prompt

who are the artists? describe the work in depth

Response

From the images you provided, and based on their distinct styles, I recognize some of the artworks and can provide an analysis:

Large Panoramic Artwork (960x0.webp):

Artist: This appears to be Claude Monet's "Water Lilies." Monet, a founder of French Impressionist painting, was renowned for his plein air landscape painting. Description: This expansive piece showcases a pond filled with lilies, rendered with dappled light and reflections. The artist's brushstrokes are both swift and deliberate, capturing the ever-changing nature of water and light. The colors range from soft blues to purples, with touches of green and pink from the lily pads and flowers. Monet's exploration of light and color culminates in this series, as he sought to capture the same scene under different conditions of light and seasons.

High-Speed Gardening (71_001.jpg):

Artist: The style is reminiscent of Ed Ruscha. Ruscha's work often combines text and image, often with a touch of humor or irony. Description: This piece juxtaposes the phrase "HIGH-SPEED GARDENING" with an image of what appears to be a tranquil field at sunrise or sunset. The shadow of the text gives a 3D effect as if the words are hovering above the landscape. The concept itself seems to be a play on our modern need for speed and efficiency even in traditionally slow-paced activities like gardening. Figurative Painting

(Ernst Ludwig Kirchner):

Artist: As indicated, this is a piece by Ernst Ludwig Kirchner, a German expressionist painter and printmaker. Description: This work is emblematic of Kirchner's style, with its bold colors and sharp, angular lines. The figures depicted have elongated features and are painted in vibrant colors. Their facial expressions appear somewhat melancholic. Kirchner's use of color to convey emotion and his somewhat distorted representation of the human figure are key characteristics of his work.

Sculptures (Huma-Bhabha_Flash-Art_06.jpg):

Artist: The file name suggests this is the work of Huma Bhabha, a Pakistani-American sculptor known for her raw, somewhat post-apocalyptic sculptures. Description: The sculptures are a mix of humanoid and alien, created from what seems like a combination of found materials, wood, clay, and possibly metal. They combine elements of the ancient and the futuristic, creating a sense of timelessness. The use of different materials adds a tactile element to the sculptures, with the viewer being able to discern the roughness of wood or the smoothness of polished metal.

Sculpture & Fabric Art (25HAMMONS-superJumbo.jpg):

Artist: The style and materials are reminiscent of David Hammons, an African-American artist known for his provocative works that touch upon themes of race, poverty, and the African-American experience. Description: On the left, there's a sculpture that seems to be made of various metal and found parts, bound together to form a figure. The golden, rusted hue of the metal gives the figure a sense of age and wear. On the right, a piece of draped red fabric is presented as an artwork, evoking feelings of warmth, protection, and possibly referencing themes of shelter or covering. Each piece offers a deep dive into the artist's mindset and the cultural context in which they were working. Their choice of color, medium, and subject matter all provide insights into their intentions and the messages they wished to convey.

Input Image

Screenshot 2023-10-03 210940

Prompt From your existing understanding of the image, try to capture a synthesis of new ideas. Be as unique and original in your thinking as possible. Act as an expert.

Response

Certainly, let's dissect and synthesize the provided concepts in the context of Neurite and the progression of our understanding of the universe:

The Fractal Universe in the Digital Age:

  1. The Interplay of Theories: Theories like the Big Bang, General Relativity, Quantum Mechanics, and the Standard Model have been foundational in our understanding of the universe. Introducing the notion of "Fractal Cosmology" and "Fractal String Theory" suggests an interconnected, repeating pattern inherent in the fabric of reality. Just as the Mandelbrot set in fractal geometry unveils infinite complexity as we zoom deeper, these theories hint that our universe may be a part of a much larger, possibly infinite, fractal pattern.

  2. Digital Representation in Neurite: Neurite's fractal mind mapping tool, which allows for infinite depth and complexity, mirrors this idea of a fractal universe. Each note or idea can be thought of as an individual "universe" of information, with its own set of interconnected ideas (or "galaxies"), and each of those ideas can further be dissected into more detailed components ("stars" and "planets").

  3. The Quantum Mechanics of Ideas: Quantum mechanics, with its principles of superposition and entanglement, can be metaphorically related to the proliferation of ideas. In Neurite, an idea can exist in multiple states (superposition) until it is observed or defined. Additionally, one idea can become intricately linked with another, such that the state of one (its development or alteration) can instantly influence the other, regardless of the distance between them (entanglement). This mirrors the fractal interconnectedness of the cosmos.

  4. The Gravity of Influence: General relativity speaks to the warping of spacetime by masses. In the realm of ideas and Neurite, influential ideas or foundational concepts can be seen as "massive bodies" that warp the "spacetime" of thought, drawing other related ideas towards them, creating a web of interconnected knowledge.

  5. The Evolution of Understanding: Just as the Big Bang theory describes the evolution of the universe from a singular point to its current vast expanse, our understanding and knowledge expand from singular foundational ideas, branching out and evolving into complex webs of interconnected thoughts.

Conclusion: Neurite's framework provides a digital playground that mirrors the complexities and intricacies of the universe as described by these theories. By visualizing knowledge in a fractal manner, it offers a unique lens through which we can understand, dissect, and expand upon complex concepts, mirroring the very nature of the cosmos. This synthesis offers a bridge between the abstract theories of the universe and the tangible representation of knowledge, enabling users to explore, connect, and expand ideas in a cosmic dance of digital exploration.

Input Image

Aidiagram2_1 2 1

Prompt

I am glad you can see images now! I am very excited to explore your new ability in the context of Neurite. This is an image that does not display the fractal aspect, instead it displays how long term memory is constructed using this method. Give a detailed and in depth response. Preface with an internal monologue, then your response to be displayed to me.

Internal Monologue:

The image illustrates a comprehensive architecture for the Neurite tool, showcasing the intricate mechanism of how long-term memory is constructed within an AI environment. It highlights key components, from note creation to context understanding. To craft a detailed response, I should break down each component and elucidate its significance and functionality in the memory formation process. Given the user's context of Neurite and their focus on the most effective solutions, I should ensure that my explanation not only interprets the depicted system but also offers constructive insights to refine or optimize the illustrated components.

Response:

Neurite Long-Term Memory Architecture Breakdown:

Notes:

Function: Central to the system, notes capture individual ideas within a conversation, both from the user and the AI. Significance: By compartmentalizing information into discrete notes, it ensures clarity and makes indexing, searching, and recalling more efficient. Vector Embedding:

Function: Each note, once generated, undergoes a transformation into a higher dimensional vector via an embedding model (possibly OpenAI's). Significance: Embeddings capture the semantic essence of notes, facilitating precise comparisons and retrievals. AI Response:

Function: AI breaks its output into multiple notes, aligning with the Zettelkasten format which promotes granular, interconnected knowledge. Significance: This modular approach boosts conceptual reasoning and reinforces the AI's capacity for a "long-term memory". Local Storage:

Function: Serves as a reservoir for notes as well as a database for external content like webpages/PDFs. Significance: By storing data locally, it ensures swift access and avoids redundant data generation. Cosine Similarity:

Function: Conducts similarity assessments among stored vector embeddings to retrieve the top-n relevant notes or content chunks. Significance: Facilitates context-aware responses by the AI, enabling it to pull from a reservoir of previous interactions and content. Context Window:

Function: Provides the AI a glimpse into the ongoing context, anchoring its responses to the most recent interactions. Significance: Ensures that the AI remains contextually aligned and responsive to the user's evolving line of inquiry. User Prompt and API Calls:

Function: Drives the AI's actions. Based on user prompts, the AI can generate keywords, construct search queries, or make API calls to fetch relevant information. Significance: Amplifies the AI's utility by connecting it to external knowledge bases (e.g., Wolfram, Google, Wikipedia) and allowing dynamic interactions. Constructive Insights:

Embedding Optimization: Consider refining the embedding process to handle various types of content, ensuring that the semantic richness of videos, audio, or images is also captured effectively. Cosine Similarity Refinement: Implement a tiered retrieval system, starting with the most recent interactions and progressively searching older notes to maintain relevance. Context Window Expansion: Depending on computational resources, gradually increase the context window's size to hold longer conversations, enhancing the depth of understanding. By seamlessly integrating these components, Neurite aspires to construct a rich, interconnected web of long-term memories, ensuring AI responses are not only contextually relevant but also deeply insightful.

neurite's People

Contributors

paul-31415 avatar pixelycia avatar satellitecomponent avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

neurite's Issues

New lines lost when saving Ai node Code Blocks.

While all other aspects of Ai nodes are saved, restored codeblocks within Ai nodes currently miss all new lines. This does not actually effect code execution or Ai memory but would be nice to fix. The relevant code is in ainodes.js

Improve Ai Nodes

A reminder that Ai nodes are still at an early stage in their implementation and could require significant improvement and spawn many additions.

The main thing right now is to further test them, improve their safety/error handling, then we can move on to increasingly interesting additions.

It would take as long to explain all the potential ideas as it would to build them, so I would rather just get to the building part.

Right now, they already have a significant feature set, but are not fully reliable yet.

Auto save the content to local storage at least

Hi,

Thanks for building such a talented application. I love the idea of fractal workspace of text links.

When I was playing with Neurite, I met two times of data loss accidentally. I accidentally close the browser tab by clicking the close tab shortcut I set before first time. Then I try to explorer the local ai feature, and the app suddenly crashed. It make me frustrated and can't trust the app.

Can we auto save the data to local storage and let user load them if necessary?

Thanks.

connecting AI nodes together results in errors

Connect two or three AI nodes together, give them rules in how and when to reply to one another. Then connect them together and ask one a question. You get about 2 messages in before prompt error floods. Are they meant to be linkable this way or have I missed something?

Issues running local model on Linux

Running it on kali linux and im having an issue utilizing the local model. the check box is tick on but when i click install nothing happens... it would be nice to have an acknowledgment or a progress bar...

Rendering Issues on Mobile

When using pinch to zoom on an iphone in safari, there are times when the rendering fully disappears. This occurs in some areas more than others, and the rendering can reappear from changing the position/zoom.

Flickering between Mandelbrot recalculation.

One of @Paul-31415's fascinating contributions to Neurite is the ability for the fractal rendering to fully recalculate the svg positions at moments when a full refresh of the view is necessary. This is a significant reason why one can zoom so far into Neurite and could perhaps always have potential for both creative and/or obvious further iterations.

The relevant code is found in mandelbrot.js

Here is a snippet.

function recalc_svg(oldSVGpan,oldSVGzoom) {
    let node = svg_bg;
    for (let c of node.children){
        let path = c.getAttribute("d");
        let parts = path.split(/[, ]+/g);
        let coord = 0;
        let r = [];
        for (let p of parts){
            if (p.length && !isNaN(Number(p))){
                let c = coord?'y':'x';
                p = Number(p)/oldSVGzoom + oldSVGpan[c];
                p = (p-SVGpan[c])*SVGzoom;
                coord = 1-coord;
            }
            r.push(p);
        }
        c.setAttribute("d",r.join(" "));
        c.setAttribute("stroke-width",c.getAttribute("stroke-width")*SVGzoom/oldSVGzoom);
    }
}

This area of the code is the most directly relevant but is also not the full picture.

The current version of the recalculation is vastly improved from its initial

// TODO

however, one issue is a flickering where it appears the view is rotated for a frame before correctly restoring.

This is an issue which may not even be that hard to fix compared to what we have tackled so far, but is an area of the code I wanted to point out, as it is an entry-point into thinking about how the fractal rendering methods could be further expanded upon.

Improve Zettelkasten Parsing

The parsing for nodes and edges has been improved over time, but is still a major undertaking.

There is still room for further testing, validation, and potentially major efficiency improvements.

Syntax Highlighting within Text Nodes

While I have made a few attempts to get syntax highlighting within text nodes, they have not been sufficient enough solutions for release. Having syntax highlighting for reference tags and even code blocks within nodes would be a significant enhancement to Neurite.

The relevant files are in

Neurite\js\nodes\createnodes\nodedef.js
createnodes\contenteditable.js

error running servers

Primary app runs fine, nice work -- but there may be an issue with the servers:

node start_servers.js
file:///mnt/repos/Neurite/Localhost%20Servers/start_servers.js:1
const { spawn } = require('child_process');
^

ReferenceError: require is not defined in ES module scope, you can use import instead
This file is being treated as an ES module because it has a '.js' file extension and '/mnt/repos/Neurite/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.
at file:///mnt/repos/Neurite/Localhost%20Servers/start_servers.js:1:19
at ModuleJob.run (node:internal/modules/esm/module_job:194:25)

Node.js v18.15.0

Refine Node Types

While I am about to implement a whole range of types of nodes within the text nodes themselves via syntax highlighting, refactoring the way in which nodes are defined has a number of downstream benefits.

image

Zettelakasten misses connections on paste.

In the case of pasting notes into the zettelkasten, not all connections between nodes are recognized.

We use the processAll flag to enable the ZettelkastenrProcessor to handle all nodes as opposed to just the currently changed individual node. This allows for much more efficient input to individual nodes while still handling cases where all nodes need to be processed.

All connections between notes in the zettelkasten that are not found on paste can be restored by creating a node using SHIFT + DOUBLE CLICK in the fractal. This is another case where processAll is set to true. Handling the paste event is more troublesome. and does not seem to set the processAll flag correctly. One issue could be having to recognize the paste event manually in zetcodemirror.js.

The relevant code is in the zettelkasten folder found in the js folder. At the top of zetcodemirror.js and the entirety of zettelkasten.js.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.