Gebruikershulpmiddelen

Site-hulpmiddelen


langgraph-tests

Dit is een oude revisie van het document!


LangGraph Tests

πŸ—‚οΈ Terug naar start
⛓️ πŸ—‚οΈ LangChain start
πŸ¦œβ™»οΈπŸ—‚οΈ LangGraph Start

πŸ¦œβ™»οΈπŸ§© LangGraph Basis principes

Ik heb op deze pagina hier eerst de nodige gegevens verzameld waarmee ik denk uit de voeten te kunnen om (gebruikmakend van die gegevens) verder te kunnen en een begin te kunnen maken met een applicatie die gebruik maakt van LangGraph. Het nut en in hoeverre de verzamelde gegevens inderdaad nuttig zouden kunnen zijn moet nog blijken😬


LangGraph Schema


1️⃣ Test 1

🧭 Test 1: Simpele LangGraph zoals hier beschreven

Code uit adzandbak > test_1.py:

import random
from typing import Literal, TypedDict
from langgraph.graph import StateGraph, START, END

class State(TypedDict):
    graph_state: str

class Test_1:
    def __init__(self):
        # Build graph
        self.builder = StateGraph(State)
        self.builder.add_node("node_1", self.node_1)
        self.builder.add_node("node_2", self.node_2)
        self.builder.add_node("node_3", self.node_3)

        # Logic
        self.builder.add_edge(START, "node_1")
        self.builder.add_conditional_edges("node_1", self.decide_mood)
        self.builder.add_edge("node_2", END)
        self.builder.add_edge("node_3", END)

        # Add
        self.graph = self.builder.compile()

    def run(self, user_query):
        state = {"graph_state": user_query}
        result_state = self.graph.invoke(state)
        print(result_state)
        print(result_state['graph_state'])
        return result_state['graph_state']

    def node_1(self, state):
        print("---Node 1---")
        return {"graph_state": state['graph_state'] +" I am"}

    def node_2(self, state):
        print("---Node 2---")
        return {"graph_state": state['graph_state'] +" happy!  "}

    def node_3(self, state):
        print("---Node 3---")
        return {"graph_state": state['graph_state'] +" sad!  "}

    def decide_mood(self, state) -> Literal["node_2", "node_3"]:        
        # Here, let's just do a 50 / 50 split between nodes 2, 3
        if random.random() < 0.5:

            return "node_2"
        
        return "node_3"

langgraph-tests.1727990122.txt.gz Β· Laatst gewijzigd: 2024/10/03 23:15 door a3dijke