Rename and Adapt
Why Rename?
# Same embedding function, different contexts
embed_query = embed.with_inputs(text="query")
embed_document = embed.with_inputs(text="document")
# Same validation, different pipelines
validate_order = validate.with_outputs(result="order_valid")
validate_user = validate.with_outputs(result="user_valid")Renaming Inputs
from hypergraph import node
@node(output_name="embedding")
def embed(text: str) -> list[float]:
return embedder.encode(text)
# Original takes "text"
print(embed.inputs) # ('text',)
# Adapted to take "query"
query_embed = embed.with_inputs(text="query")
print(query_embed.inputs) # ('query',)
# Adapted to take "document"
doc_embed = embed.with_inputs(text="document")
print(doc_embed.inputs) # ('document',)Renaming Outputs
Renaming the Node
Chaining Renames
Multiple Inputs/Outputs
Use Case: Same Function in Multiple Roles
Use Case: Adapting Graphs
Error Handling
Testing Renamed Nodes
What's Next?
Last updated