Ejen AI dengan LangChain dan Aliran Kerja Autonomi · Pelajaran

Mentakrifkan dan Menggunakan Alatan

Pelajari cara mencipta dan menyepadukan alatan yang membolehkan ejen menjalankan tindakan seperti mencari di web atau melaksanakan kod.

Pelajaran 1 daripada 411 langkah

Mentakrifkan dan Menggunakan Alatan ialah pelajaran Ejen AI dengan LangChain dan Aliran Kerja Autonomi percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Ejen AI dengan LangChain dan Aliran Kerja Autonomi, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Ejen AI dengan LangChain dan Aliran Kerja Autonomi merangkumi sejumlah 4 pelajaran.

Ejen Memerlukan Alat

Selamat datang! Dalam pelajaran ini, kita akan meneroka cara ejen AI boleh melakukan lebih daripada sekadar berbual. Walaupun Model Bahasa Besar (LLM) hebat dalam memahami dan menjana teks, model ini mempunyai batasan.

Model ini tidak boleh mengakses maklumat masa nyata, melakukan pengiraan atau berinteraksi dengan sistem luaran. Di sinilah alat memainkan peranan!

Memperluas Keupayaan Ejen

Anggaplah alat sebagai 'tangan' dan 'mata' ejen kepada dunia luar. Alat membolehkan ejen:

  • Mencari di web: Mendapatkan maklumat terkini.
  • Melaksanakan kod: Melakukan pengiraan atau menjalankan skrip.
  • Mengakses pangkalan data: Mendapatkan data tertentu.
  • Berinteraksi dengan API: Mengawal peranti pintar, menghantar e-mel dan sebagainya.

Alat mengubah LLM perbualan menjadi ejen yang aktif dan menyelesaikan masalah.

Komponen Teras Alat

Dalam LangChain, alat pada asasnya ialah fungsi yang boleh dipanggil oleh ejen. Setiap alat memerlukan tiga komponen teras:

  • Fungsi (func): Kod Python sebenar yang melakukan tindakan.
  • Nama (name): Pengecam rentetan unik untuk alat tersebut.
  • Perihalan (description): Penjelasan yang jelas dan ringkas tentang perkara yang dilakukan oleh alat serta masa alat itu patut digunakan. Ini membantu LLM menentukan sama ada dan bila alat itu perlu digunakan.

Membina Fungsi Alat

Mari kita mulakan dengan mentakrifkan fungsi Python yang ringkas. Fungsi ini akan mensimulasikan pengambilan maklumat cuaca. Ini ialah bahagian 'tindakan' bagi alat kita yang bakal dibina.

Perhatikan petunjuk jenis location: str. Petunjuk ini membantu menentukan input yang dijangkakan oleh fungsi.

def get_current_weather(location: str) -> str:
    """Get the current weather in a given location."""
    # In a real application, this would call an external API.
    if location == "London":
        return "It's 15 degrees Celsius and cloudy."
    elif location == "New York":
        return "It's 22 degrees Celsius and sunny."
    else:
        return "Weather data not available for this location."

Menjadikannya Alat LangChain

Sekarang, mari kita bungkus fungsi get_current_weather kita ke dalam objek Tool LangChain. Kita akan memberikannya nama dan perihalan yang berguna. Anda boleh menjalankan coretan ini untuk melihat sifat-sifat alat tersebut.

from langchain.tools import Tool

def get_current_weather(location: str) -> str:
    """Get the current weather in a given location."""
    if location == "London":
        return "It's 15 degrees Celsius and cloudy."
    elif location == "New York":
        return "It's 22 degrees Celsius and sunny."
    else:
        return "Weather data not available for this location."

# Create the Tool object
weather_tool = Tool(
    name="get_current_weather",
    func=get_current_weather,
    description="Useful for getting the current weather in a specific location."
)

if __name__ == "__main__":
    print(f"Tool name: {weather_tool.name}")
    print(f"Tool description: {weather_tool.description}")
    print(f"Weather in London (direct call): {weather_tool.func('London')}")

Ejen Membuat Pilihan dengan Bijak

Setelah anda mentakrifkan objek Tool, anda menghantar senarainya kepada ejen LangChain. LLM dalam ejen itu kemudian menggunakan keupayaan penaakulannya untuk menentukan:

  • Sama ada alat diperlukan untuk pertanyaan pengguna semasa.
  • Alat yang mana untuk digunakan daripada senarai yang tersedia.
  • Apakah argumen yang perlu dihantar kepada alat yang dipilih.

Keputusan ini banyak dipengaruhi oleh description alat tersebut.

Melengkapkan Ejen Anda (Konsep)

Walaupun ejen yang boleh dijalankan sepenuhnya memerlukan kunci API LLM, secara konsepnya, beginilah cara anda melengkapkan ejen dengan weather_tool kita. Ejen itu 'dimulakan' dengan senarai alat yang boleh digunakannya.

Apabila anda bertanya kepada ejen soalan seperti "Bagaimanakah cuaca di Paris?", ejen itu akan membaca perihalan weather_tool dan memutuskan untuk memanggil fungsinya dengan "Paris" sebagai argumen.

from langchain.agents import initialize_agent, AgentType
from langchain.tools import Tool
# from langchain_openai import ChatOpenAI # Requires API key

# Assume weather_tool is defined as before
def get_current_weather(location: str) -> str:
    return "Weather data..." # Simplified for concept

weather_tool = Tool(
    name="get_current_weather",
    func=get_current_weather,
    description="Useful for getting the current weather."
)

# This part needs an actual LLM setup, e.g.:
# llm = ChatOpenAI(temperature=0, model="gpt-3.5-turbo")

# agent = initialize_agent(
#     [weather_tool],
#     llm,
#     agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
#     verbose=True
# )

# The agent then uses the tool based on query.

Perihalan yang Jelas Sangat Penting

description alat anda amat penting. Itulah satu-satunya cara LLM memahami tujuannya.

  • Bersikap khusus: Nyatakan dengan jelas perkara yang dilakukan oleh alat.
  • Nyatakan input: Apakah maklumat yang diperlukan?
  • Nyatakan output: Apakah jenis hasil yang dikembalikannya?
  • Bimbing penggunaan: Bilakah ejen patut mempertimbangkan untuk menggunakan alat ini?

Alat yang diterangkan dengan buruk akan diabaikan atau digunakan secara tidak betul oleh ejen.

Input Alat Berstruktur (Pydantic)

Untuk alat yang lebih kompleks, anda boleh memastikan ejen memberikan argumen dalam format tertentu menggunakan Pydantic. Ini membantu mengesahkan input dan menjadikan alat anda lebih teguh.

Kita mentakrifkan BaseModel yang menerangkan input yang dijangkakan. LangChain menggunakan model ini untuk membimbing penjanaan argumen oleh LLM.

from langchain.tools import Tool
from pydantic import BaseModel, Field
from typing import Type

# Define a Pydantic model for the tool's input
class WeatherInput(BaseModel):
    location: str = Field(description="The city and state, e.g., San Francisco, CA")

def get_current_weather_with_schema(location: str) -> str:
    """Get the current weather in a given location."""
    if location == "London":
        return "It's 15 degrees Celsius and cloudy."
    elif location == "New York":
        return "It's 22 degrees Celsius and sunny."
    else:
        return "Weather data not available for this location."

weather_tool_schema = Tool(
    name="get_current_weather",
    func=get_current_weather_with_schema,
    description="Useful for getting the current weather in a specific location.",
    args_schema=WeatherInput # Link the Pydantic schema here
)

if __name__ == "__main__":
    print(f"Tool with schema: {weather_tool_schema.name}")
    print(f"Expected input fields: {weather_tool_schema.args_schema.schema()['properties']}")

Semak Pemahaman Anda

Pertimbangkan peranan alat dalam ejen LangChain.

Alat: Kuasa Super Ejen

Anda telah berjaya memulakan perjalanan untuk melengkapkan ejen AI dengan alat! Kita telah mempelajari bahawa:

  • Alat ialah fungsi yang meluaskan keupayaan ejen melangkaui pengetahuan LLM semula jadinya.
  • Setiap alat memerlukan fungsi, nama unik dan perihalan yang jelas.
  • Perihalan yang baik amat penting supaya LLM dapat memilih dan menggunakan alat dengan betul.
  • Skema Pydantic boleh menyediakan pengesahan input berstruktur untuk alat.

Seterusnya, kita akan meneroka pelbagai jenis ejen dan cara ejen membuat keputusan tentang penggunaan alat ini!

Percuma untuk bermula

Pelajari Ejen AI dengan LangChain dan Aliran Kerja Autonomi dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
50

Soalan Lazim

Adakah pelajaran “Mentakrifkan dan Menggunakan Alatan” percuma?

Ya — teks penuh “Mentakrifkan dan Menggunakan Alatan” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Ejen AI dengan LangChain dan Aliran Kerja Autonomi, tingkat taraf kepada CoddyKit PRO. Kursus Ejen AI dengan LangChain dan Aliran Kerja Autonomi merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Mentakrifkan dan Menggunakan Alatan”?

Pelajari cara mencipta dan menyepadukan alatan yang membolehkan ejen menjalankan tindakan seperti mencari di web atau melaksanakan kod. Anda berlatih Ejen AI dengan LangChain dan Aliran Kerja Autonomi menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Ejen AI dengan LangChain dan Aliran Kerja Autonomi?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Ejen AI dengan LangChain dan Aliran Kerja Autonomi di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Mentakrifkan dan Menggunakan Alatan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Ejen AI dengan LangChain dan Aliran Kerja Autonomi ini?

Ya. Setiap pelajaran Ejen AI dengan LangChain dan Aliran Kerja Autonomi menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Mentakrifkan dan Menggunakan Alatan
  2. Jenis Ejen dan Pembuatan Keputusan
  3. Memanfaatkan Kit Alatan Sedia Bina
  4. Pengendalian Ralat dan Pelaksanaan Alat yang Selamat
← Kembali ke Ejen AI dengan LangChain dan Aliran Kerja Autonomi