Ehdollinen reititys ja haarautuminen
Käyttäkää add_conditional_edges-funktiota tilan perusteella reitittämiseen – agentti päättää, mihin siirrytään seuraavaksi.
Ehdollinen reititys ja haarautuminen on ilmainen Tekoälyagentit-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Tekoälyagentit-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.
Osaa tämän oppitunnin sisällöstä ei ole vielä käännetty, joten se näytetään englanniksi.
Miksi ehdollisia reunoja tarvitaan?
Oikeat agentit tekevät päätöksiä. Vaiheen jälkeen seuraava vaihe riippuu nykyisestä tilasta. Ehdolliset reunat koodaavat tämän logiikan.
Ehdollisen reunan lisääminen
Tarvitaan kolme osaa: lähdesolmu, reititysfunktio ja kohdekartta:
def route_after_planning(state: AgentState) -> str:
if state.get('confidence', 0) > 0.8:
return 'execute'
return 'replan'
graph.add_conditional_edges(
'planner',
route_after_planning,
{
'execute': 'executor',
'replan': 'planner'
}
)Reititysfunktioiden allekirjoitukset
Reititin vastaanottaa koko tilan ja palauttaa merkkijonon tai rinnakkaisia haaroja varten merkkijonojen luettelon.
Itseensä palaavat silmukat
Reuna voi palata samaan solmuun — tätä käytetään uudelleenyrityksiin:
graph.add_conditional_edges(
'validator',
lambda s: 'retry' if not s['valid'] else 'done',
{'retry': 'planner', 'done': END}
)Rinnakkaiset haarat
Palauta luettelo suoritettavien alavirran solmujen nimiä, jotta useita solmuja suoritetaan rinnakkain:
def fan_out(state):
return ['search_news', 'search_arxiv', 'search_github']
graph.add_conditional_edges('planner', fan_out)Rinnakkaisten haarojen yhdistäminen
Rinnakkaiset haarat yhdistyvät uudelleen yhteisessä seuraavassa solmussa. Tilan yhdistäminen kokoaa niiden tulokset yhteen (käyttäkää luetteloille ja sanakirjoille reduktoreita).
Työkalukutsuihin perustuva reititys
Klassinen malli: kun LLM on vastannut, tarkistakaa tool_calls ja reitittäkää sen perusteella:
def should_use_tool(state):
last_msg = state['messages'][-1]
if last_msg.tool_calls:
return 'tools'
return END
graph.add_conditional_edges('agent', should_use_tool, {'tools': 'tools', END: END})Monisuuntainen reititys
Switch-case-logiikka:
def route_by_intent(state):
intent = classify(state['messages'][-1])
return {'q': 'qa_agent', 'order': 'order_agent', 'support': 'support_agent'}.get(intent, 'fallback')LLM-kutsuihin perustuva reititys
Voitte käyttää LLM:ää päättämään, minne siirrytään seuraavaksi:
def llm_router(state):
decision = llm.invoke(f'Route this to: search, calculate, or end?\nState: {state}').content.strip()
return decision # 'search' / 'calculate' / ENDVältä loputtomia silmukoita
Ilman askellaskuria agentti voi jäädä silmukkaan ikuisesti. Lisää laskuri tilaan:
class State(TypedDict):
step: int
...
def route(state):
if state['step'] >= MAX_STEPS:
return END
return 'continue'Increment Counter Reducer
def add(old: int, new: int) -> int:
return old + new
class State(TypedDict):
step: Annotated[int, add]
def any_node(state):
return {'step': 1} # increments by 1Haarojen visualisointi
Ehdollisia reunoja sisältävän graafin Mermaid-kaavio näyttää päätösrombeja — hyödyllistä tarkistamista varten:
print(app.get_graph().draw_mermaid())Ehdolliset reunat
Mitä add_conditional_edges-funktion reititin palauttaa?
Kertaus
Ehdollisten reunojen avulla agentit tekevät päätöksiä. Lisää askellaskuri silmukoiden välttämiseksi ja visualisoi graafi, jotta pysyt selvillä kokonaisuudesta.
Opi Tekoälyagentit tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 60
- Oppitunnit
- 239
Usein kysytyt kysymykset
Onko oppitunti ”Ehdollinen reititys ja haarautuminen” ilmainen?
Kyllä – oppitunnin ”Ehdollinen reititys ja haarautuminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Tekoälyagentit-kurssin, päivitä CoddyKit PROhon. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Ehdollinen reititys ja haarautuminen”?
Käyttäkää add_conditional_edges-funktiota tilan perusteella reitittämiseen – agentti päättää, mihin siirrytään seuraavaksi. Harjoittelet Tekoälyagentit-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Tekoälyagentit-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Tekoälyagentit-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Ehdollinen reititys ja haarautuminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Tekoälyagentit-oppitunnilla?
Kyllä. Jokainen Tekoälyagentit-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Miksi graafit voittavat litteät ketjut
- Solmut, reunat ja tila
- Ehdollinen reititys ja haarautuminen
- Graafin tilan säilyttäminen (tarkistuspisteet)