Graphs
Graphs are the agentic workflows you can design with no code experience.
Graph Design
Graphs in Fungi Studio always contain an entry point and an end point. These two nodes control where the sequential order of node execution starts and where it ends.
Nodes
Via the top right of the graph editor, you can create new nodes. These nodes are the building blocks of all agents across the Fungi ecosystem. Each node can be configured to have a very specific response and tailored for varying use cases.
Here are all of the many options to configure in a node:
Basic Information
Just for cosmetic control for how your nodes can be viewed by yourself and others.
Title
Description
Context
This is the most important section in defining your node's intended actions.
System Message: This input is designed to be the full set of directions and prompt that will be given to this node on every execution it encounters. It is extremely important to iterate and find which kinds of prompts lead to best performance.
Use Initial Prompt: If checked, this will give this node the initial message either prompted by a user or an automation in its context. Uncheck this if this node does not need to see what the user said, or if that information would skew the results of this node negatively.
Response Nodes: Select nodes from the graph that you would like their outputs to be included in the context of this node. Make sure that the nodes you select here are executed prior to this node, otherwise, they will have no response to pass until they have already been executed.
Max Tokens: Limit the amount of tokens this node can use with whichever model is configured.
Temperature: Adjust the temperature between 0 and 1, with 1 leading to more varied and random responses and 0 leading to a more certain and predictable output.
Model: Choose the initial model that this node may use. Each node in a single agentic graph is model independent, meaning you can have as many different models in a graph as you'd like. Check out our supported model list.
Smart Model: If the initial model fails, the node will try again with this smart model. We recommend using a lighter/less-expensive model first and then trying again with a heavier model the second time around.
Tools
If you'd like this node to execute custom code scripts in either Python or JavaScript, you must configure the tools. Also remember to optimize your system message to direct the node in which cases to optionally use tools or ensure a tool is triggered on each execution.
Configure Tool Parameters: For any custom tool parameters, you may configure the parameters to any one of these values:
Static: A value to be used every time can be inputted
Inference: The LLM will use natural language to understand what value to fill based on given context
Environment Variable: From your project settings you may use any of your project env vars
Composite Parameter: If your graph is composite, then you may utilize any of the graph's reusable composite parameters that have been passed to this graph through the composite node configuration.
Initial Prompt: Use the initial user message of the graph either sent by a user or an automation.
Tool Output: Use the output of a tool from a previously executed node
Node Output: Use the output field of a previously executed node
Router
When a node is connected to more than one node on it's output, we currently do not support two routes being executed at the same time, so, you must configure routing options to ensure that this node knows which path to take based on context. We have two currently operating methods to do so:
Inference: Use context to match up nodes with a description as to why the node would choose this route.
Chance Weights: Give each route a chance out of 100 to be chosen. This is for configuring random route execution each cycle.
Persona
Select a Persona: Choose a persona in your project to use
Allow Upload: Check this box if you would like your node to upload a memory every time this node gets executed
Upload System Message: a specific system message for describing the format of the memory uploaded.
Allow Get: Check this box if you would like your node to retrieve memories from the persona's RAG database.
Get Scope: Optional filters for what memories will be retrieved, you can select multiple at once.
Persona: retrieve all memories of this persona
User: retrieve only memories uploaded by the user making this current execution
Graph: retrieve only memories uploaded by this graph
Node: retrieve only memories uploaded by this node
Query Type: Choose what kind of query will be made to the RAG database.
Static: this will be the same query value on every execution
Inference: each execution will determine the query based on context
Node Input: use a node's raw input context as the query
Composite
Database
Query Type: Choose one query
Create: allows this node to make creation queries
Update: allows this node to make update queries
Delete: allows this node to make delete queries
Filter by fields
Static: have this field set to a static value on every query
Inference: have this field filled in based on context for every query
UI
Memory
If memory is enabled for the graph you're editing, then nodes have access to specific configurations on how to utilize that graphs memory. When memory is enabled, each graph execution is saved in our cloud, so that node outputs or entire graph outputs can be utilized by nodes in future graph cycles.
There are different configurations on how to utilize memory per node:
Use Memory: whether this node will use memory at any capacity
Use Outputs: using the outputs of the node/graph memory
Use Inputs: using the initial prompt of graph memory or the input of node memory
Filter by user: whether the memories being used are just based on the executions of the user making the request
Memory Type
Graph: use the graph input/output of previous cycles as the memory
Node: select which nodes to use the input/output of previous cycles as memory
Memory Limit: limit the distance of how many memories back this node will be using for the current configuration.
Scheduler
Graph Settings
From the graph settings tab you have very important configurations that are required to make some node features work.
Register as composite node: this must be checked in order to configure composite parameters that will be used within this graph and will be filled in if his graph is ever used in a node's composite options.
Enable memory update: this must be checked if you want your graph to begin uploading memories that can be used by any of the graph's nodes in their memory options.
Last updated