Вот простой пример графика, иллюстрирующий проблему. Все начинается с двух параллельных узлов: установки случайного числа и получения предпочтений города из какого-то источника. Если случайное число составляет 1–50, «Нью-Йорк» назначается городом независимо от предпочтений города, но если случайное число составляет 51–100, используется предпочтение города.
Код: Выделить всё
class State(TypedDict):
random_number: int
city: str
city_preference: str
graph: StateGraph = StateGraph(state_schema=State)
def set_random_number(state):
random_number = 1 # Hardcode to 1 for testing
print(f"SET RANDOM NUMBER: {random_number}")
return {"random_number": random_number}
def get_city_preference(state):
time.sleep(4) # Simulate a time-consuming operation
city_preference = "Philadelphia"
print(f"GOT CITY PREFERENCE: {city_preference}")
return {"city_preference": city_preference}
def assign_city(state):
city = "NYC" if state["random_number"]
Подробнее здесь: [url]https://stackoverflow.com/questions/79192884/how-can-i-parallelize-nodes-in-langgraph-without-having-to-wait-for-the-slowest[/url]