Gebruikershulpmiddelen

Site-hulpmiddelen


langgraph-tests

LangGraph Tests

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

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

πŸ”Έ Ik heb op de |LangGraph Basis principes pagina 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.

πŸ”Έ Op deze pagina (hieronder) vind je werkende (verder uitgewerkte) basis methoden


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"

2️⃣ Test 2 Router

Bron: Les 5 van Module 1 van de cursus β€œIntroduction to LangGraph”
Video
Python code in Colab

We kunnen dit zien als een router, waarbij het chatmodel routeert tussen een direct antwoord of een tool-aanroep op basis van de invoer van de gebruiker. Dit is een eenvoudig voorbeeld van een agent, waarbij de LLM de controle stroom aanstuurt door een tool aan te roepen of gewoon direct te reageren.
langgraph-tests.txt Β· Laatst gewijzigd: 2024/10/03 23:39 door a3dijke