Tekoälyagentit LangChainilla ja autonomiset työnkulut · Oppitunti

Ensimmäisen yksinkertaisen agentin rakentaminen

Seuratkaa vaiheittaista ohjetta ympäristön määrittämiseen ja perusmuotoisen AI-agentin rakentamiseen LangChainilla.

Oppitunti 3/412 vaihetta

Ensimmäisen yksinkertaisen agentin rakentaminen on ilmainen Tekoälyagentit LangChainilla ja autonomiset työnkulut-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 LangChainilla ja autonomiset työnkulut-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Tekoälyagentit LangChainilla ja autonomiset työnkulut-kurssilla on yhteensä 4 oppituntia.

Rakentakaa ensimmäinen agenttinne!

On aika rakentaa ensimmäinen tekoälyagenttinne LangChainilla — yhdistämällä LLM perus työkaluihin, jotta agentti voi vastata kyselyihinne älykkäästi.

Python-ympäristön määrittäminen

Määrittäkää ensin Python 3.9 tai uudempi sekä virtuaaliympäristö riippuvuuksien eristämistä varten. Luokaa ympäristö venvillä ja aktivoikaa se ennen minkään asentamista.

LangChainin ja riippuvuuksien asentaminen

Asentakaa nyt LangChain ja OpenAI-integraatio. Suorittakaa pip-komento aktivoidussa virtuaaliympäristössä.

Yhdistäminen LLM:ään

Agenttinne tarvitsee aivot. Alustakaa ChatOpenAI käyttämällä API-avainta, joka on tallennettu OPENAI_API_KEY-ympäristömuuttujaan — älkää koskaan kirjoittako avainta suoraan koodiin.

import os
from langchain_openai import ChatOpenAI

def main():
    # In a real setup, ensure OPENAI_API_KEY is set
    # For demonstration, we'll assume it's available
    # os.environ["OPENAI_API_KEY"] = "sk-..." # DON'T hardcode!

    try:
        llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
        print("LLM initialized successfully!")
        # You can test it:
        # response = llm.invoke("Hello, LLM!")
        # print(response.content)
    except Exception as e:
        print(f"Error initializing LLM: {e}")
        print("Please ensure OPENAI_API_KEY is set.")

if __name__ == "__main__":
    main()

Agentit tarvitsevat työkaluja

Agentti on LLM ja lisäksi työkaluja — funktioita tai API-rajapintoja, joiden avulla se voi toimia maailmassa: hakea tietoa, suorittaa koodia ja laskea. Tässä annamme agentille laskimen.

import os
from langchain_openai import ChatOpenAI
from langchain.tools import Tool
from langchain_community.utilities import LLMMathChain

def main():
    # Ensure OPENAI_API_KEY is set
    llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)

    # Create a basic math tool
    llm_math_chain = LLMMathChain.from_llm(llm)
    math_tool = Tool.from_function(
        func=llm_math_chain.run,
        name="Calculator",
        description="Useful for when you need to answer questions about math."
    )
    tools = [math_tool]
    print("Basic math tool created and ready!")

if __name__ == "__main__":
    main()

Agenttityypin valitseminen

Agenttityyppi määrittää, miten agentti päättelee. Käytämme create_react_agentia — ReAct tarkoittaa sanoja Reason and Act: agentti suunnittelee, havainnoi tuloksia ja tarkentaa toimintaansa.

Komponenttien yhdistäminen

Yhdistäkää nyt osat: create_react_agent käyttää LLM:ää, työkaluja ja kehotetta logiikan rakentamiseen, minkä jälkeen AgentExecutor käärii sen suoritettavaksi kokonaisuudeksi.

import os
from langchain_openai import ChatOpenAI
from langchain.tools import Tool
from langchain_community.utilities import LLMMathChain
from langchain.agents import AgentExecutor, create_react_agent
from langchain_core.prompts import ChatPromptTemplate

def main():
    llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
    llm_math_chain = LLMMathChain.from_llm(llm)
    math_tool = Tool.from_function(
        func=llm_math_chain.run,
        name="Calculator",
        description="Useful for when you need to answer questions about math."
    )
    tools = [math_tool]

    # Define the prompt for the agent
    prompt = ChatPromptTemplate.from_messages([
        ("system", "You are a helpful AI assistant. Use tools when necessary."),
        ("human", "{input}"),
        ("placeholder", "{agent_scratchpad}")
    ])

    # Create the agent
    agent = create_react_agent(llm, tools, prompt)

    # Create the agent executor
    agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
    print("Agent assembled and ready for action!")

if __name__ == "__main__":
    main()

Kysymyksen esittäminen agentille

Kun agentti on koottu, antakaa sille tehtävä kutsumalla invoke-metodia. Esittäkää matemaattinen kysymys ja seuratkaa, kuinka agentti ottaa laskintyökalun käyttöön vastatakseen.

import os
from langchain_openai import ChatOpenAI
from langchain.tools import Tool
from langchain_community.utilities import LLMMathChain
from langchain.agents import AgentExecutor, create_react_agent
from langchain_core.prompts import ChatPromptTemplate

def main():
    llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
    llm_math_chain = LLMMathChain.from_llm(llm)
    math_tool = Tool.from_function(
        func=llm_math_chain.run,
        name="Calculator",
        description="Useful for when you need to answer questions about math."
    )
    tools = [math_tool]

    prompt = ChatPromptTemplate.from_messages([
        ("system", "You are a helpful AI assistant. Use tools when necessary."),
        ("human", "{input}"),
        ("placeholder", "{agent_scratchpad}")
    ])

    agent = create_react_agent(llm, tools, prompt)
    agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

    print("Asking the agent: 'What is 123 multiplied by 456?'")
    response = agent_executor.invoke({"input": "What is 123 multiplied by 456?"})
    print("\nAgent's final answer:")
    print(response["output"])

if __name__ == "__main__":
    main()

Agentin vastauksen ymmärtäminen

Kun verbose=True, näette agentin ajatusprosessin: Thought, Action, Action Input, Observation ja lopuksi Final Answer. Tämä läpinäkyvyys on olennaista virheenkorjauksessa.

Ensimmäinen agenttinne kokonaisuudessaan!

Tässä on ensimmäinen agenttinne kokonaisuudessaan. Määrittäkää API-avain, suorittakaa ohjelma ja kokeilkaa syötekysymyksen muuttamista nähdäksenne, kuinka agentti päättelee erilaisten ongelmien ratkaisut.

import os
from langchain_openai import ChatOpenAI
from langchain.tools import Tool
from langchain_community.utilities import LLMMathChain
from langchain.agents import AgentExecutor, create_react_agent
from langchain_core.prompts import ChatPromptTemplate

def main():
    # 1. Set up your LLM
    # Ensure OPENAI_API_KEY is set as an environment variable
    # os.environ["OPENAI_API_KEY"] = "YOUR_KEY_HERE" # DO NOT hardcode!
    try:
        llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
    except Exception as e:
        print(f"Error: {e}. Please ensure OPENAI_API_KEY is set.")
        return

    # 2. Define your tools
    llm_math_chain = LLMMathChain.from_llm(llm)
    math_tool = Tool.from_function(
        func=llm_math_chain.run,
        name="Calculator",
        description="Useful for when you need to answer questions about math."
    )
    tools = [math_tool]

    # 3. Define the agent's prompt
    prompt = ChatPromptTemplate.from_messages([
        ("system", "You are a helpful AI assistant. Use tools when necessary."),
        ("human", "{input}"),
        ("placeholder", "{agent_scratchpad}")
    ])

    # 4. Create the agent
    agent = create_react_agent(llm, tools, prompt)

    # 5. Create the AgentExecutor
    agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

    # 6. Run the agent
    print("\n--- Running the Agent ---")
    question = "What is the square root of 144 plus 25?"
    print(f"Agent input: '{question}'")
    response = agent_executor.invoke({"input": question})
    print("\n--- Agent's Final Answer ---")
    print(response["output"])

if __name__ == "__main__":
    main()

Agentin komponenttien testi

Olette nähneet, miten perusagentti rakennetaan. Mitkä seuraavista ovat olennaisia komponentteja rakennettaessa LangChain-agenttia, joka käyttää create_react_agent-funktiota?

Kertaus: ensimmäinen agenttinne!

Kertaus: rakensitte toimivan agentin — määrititte ympäristön, yhdistitte LLM:n, lisäsitte työkalun, kokosit­te agentin create_react_agentilla ja AgentExecutorilla sekä seurasitte sen päättelyä.

Aloita maksutta

Opi Tekoälyagentit LangChainilla ja autonomiset työnkulut 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
12
Oppitunnit
50

Usein kysytyt kysymykset

Onko oppitunti ”Ensimmäisen yksinkertaisen agentin rakentaminen” ilmainen?

Kyllä – oppitunnin ”Ensimmäisen yksinkertaisen agentin rakentaminen” 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 LangChainilla ja autonomiset työnkulut-kurssin, päivitä CoddyKit PROhon. Tekoälyagentit LangChainilla ja autonomiset työnkulut-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Ensimmäisen yksinkertaisen agentin rakentaminen”?

Seuratkaa vaiheittaista ohjetta ympäristön määrittämiseen ja perusmuotoisen AI-agentin rakentamiseen LangChainilla. Harjoittelet Tekoälyagentit LangChainilla ja autonomiset työnkulut-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Tekoälyagentit LangChainilla ja autonomiset työnkulut-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Tekoälyagentit LangChainilla ja autonomiset työnkulut-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Ensimmäisen yksinkertaisen agentin rakentaminen”-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 LangChainilla ja autonomiset työnkulut-oppitunnilla?

Kyllä. Jokainen Tekoälyagentit LangChainilla ja autonomiset työnkulut-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

  1. Tekoälyagenttien ja LLM:ien ymmärtäminen
  2. LangChainin keskeiset komponentit
  3. Ensimmäisen yksinkertaisen agentin rakentaminen
  4. Muistin ja keskustelutilan lisääminen agenteille
← Takaisin: Tekoälyagentit LangChainilla ja autonomiset työnkulut