Rumah >Peranti teknologi >AI >Membina kain yang agentik dengan phidata

Membina kain yang agentik dengan phidata

Christopher Nolan
Christopher Nolanasal
2025-03-13 11:54:13840semak imbas

Apabila membina aplikasi menggunakan model bahasa yang besar (LLMS), kualiti respons sangat bergantung kepada keupayaan perancangan dan pemikiran yang berkesan untuk tugas pengguna yang diberikan. Walaupun teknik kain tradisional berkuasa, menggabungkan aliran kerja agentik dapat meningkatkan keupayaan sistem untuk memproses dan bertindak balas terhadap pertanyaan.

Dalam artikel ini, anda akan membina sistem RAG yang agentik dengan komponen memori menggunakan rangka kerja agensi sumber terbuka Phidata, menunjukkan cara menggabungkan pangkalan data vektor iaitu, qdrant, model embedding, dan agen pintar untuk hasil yang lebih baik.

Objektif pembelajaran

  • Memahami dan merancang seni bina untuk komponen yang diperlukan untuk sistem RAG yang agentik.
  • Bagaimanakah pangkalan data vektor dan model embedding untuk penciptaan asas pengetahuan disepadukan dalam aliran kerja agentik?
  • Belajar melaksanakan komponen memori untuk pengekalan konteks yang lebih baik
  • Membangunkan ejen AI yang boleh melakukan pelbagai panggilan alat dan memutuskan alat apa yang hendak dipilih berdasarkan soalan atau tugas pengguna menggunakan Phidata.
  • Kes penggunaan dunia sebenar untuk membina ejen pembantu penganalisis dokumen yang boleh berinteraksi dengan maklumat peribadi dari pangkalan pengetahuan dan duckduckgo jika tiada konteks dalam asas pengetahuan.

Artikel ini diterbitkan sebagai sebahagian daripada Blogathon Sains Data.

Jadual Kandungan

  • Apakah ejen dan kain?
  • Apa itu Phidata?
  • Ejen menggunakan kes menggunakan phidata
  • Kes penggunaan masa nyata untuk Rag Agentik
  • Pelaksanaan Kod Langkah demi Langkah: Rag Agentik Menggunakan QDrant, OpenAI, dan Phidata
  • Kelebihan Rag Agentik
  • Kesimpulan
  • Soalan yang sering ditanya

Apakah ejen dan kain?

Ejen dalam konteks AI adalah komponen yang direka untuk mencontohi keupayaan pemikiran dan perancangan seperti manusia. Komponen Ejen terdiri daripada:

Membina kain yang agentik dengan phidata

  • Penguraian tugas ke dalam subtask yang boleh diurus.
  • Membuat keputusan pintar mengenai alat mana yang hendak digunakan dan mengambil tindakan yang diperlukan.
  • Pemikiran mengenai pendekatan terbaik untuk menyelesaikan masalah.

RAG (Generasi Pengambilan Pengambilan) menggabungkan pengambilan pengetahuan dengan keupayaan LLM. Apabila kita mengintegrasikan ejen ke dalam sistem RAG, kita membuat aliran kerja yang kuat yang boleh:

Membina kain yang agentik dengan phidata

  • Menganalisis pertanyaan pengguna secara bijak.
  • Simpan dokumen pengguna di dalam pangkalan data pengetahuan atau pangkalan data vektor.
  • Pilih sumber atau konteks pengetahuan yang sesuai untuk pertanyaan pengguna yang diberikan.
  • Rancang proses penjanaan pengambilan dan tindak balas.
  • Mengekalkan konteks melalui komponen memori.

Perbezaan utama antara kain tradisional dan kain ragut terletak pada lapisan membuat keputusan yang menentukan cara memproses setiap pertanyaan dan berinteraksi dengan alat untuk mendapatkan maklumat masa nyata.

Sekarang kita tahu, ada perkara seperti Rag Agentic, bagaimana kita membinanya? Mari pecahkannya.

Apa itu Phidata?

Phidata adalah rangka kerja sumber terbuka yang direka untuk membina, memantau, dan menggunakan aliran kerja agentik. Ia menyokong ejen AI multimodal yang dilengkapi dengan memori, pengetahuan, alat, dan keupayaan pemikiran. Senibina model-agnostiknya memastikan keserasian dengan pelbagai model bahasa besar (LLMS), yang membolehkan pemaju mengubah mana-mana LLM menjadi agen AI berfungsi. Di samping itu, Phidata membolehkan anda menggunakan aliran kerja ejen anda menggunakan pendekatan Cloud (BYOC) anda sendiri, yang menawarkan fleksibiliti dan kawalan ke atas sistem AI anda.

Ciri-ciri utama Phidata termasuk keupayaan untuk membina pasukan ejen yang bekerjasama untuk menyelesaikan masalah yang rumit, ejen ejen yang mesra pengguna untuk interaksi lancar (Phidata Playground), dan sokongan terbina dalam untuk generasi pengambilan semula aggenik (RAG) dan output berstruktur. Rangka kerja ini juga menekankan pemantauan dan penyahpepijatan, menyediakan alat untuk memastikan aplikasi AI yang mantap dan boleh dipercayai.

Ejen menggunakan kes menggunakan phidata

Terokai kuasa transformatif sistem berasaskan ejen dalam aplikasi dunia nyata, memanfaatkan Phidata untuk meningkatkan pengambilan keputusan dan automasi tugas.

Ejen Analisis Kewangan

Dengan mengintegrasikan alat seperti Yfinance, Phidata membolehkan penciptaan ejen yang boleh mengambil harga saham masa nyata, menganalisis data kewangan, dan meringkaskan cadangan penganalisis. Ejen sedemikian membantu pelabur dan penganalisis dalam membuat keputusan yang tepat dengan memberikan pandangan pasaran terkini.

Ejen carian web

Phidata juga membantu membangunkan ejen yang mampu mendapatkan maklumat masa nyata dari web menggunakan alat carian seperti DuckDuckgo, Serpapi, atau Serper. Ejen-ejen ini dapat menjawab pertanyaan pengguna dengan mendapatkan data terkini, menjadikannya berharga untuk tugas penyelidikan dan pengumpulan maklumat.

Ejen multimodal

Phidata juga menyokong keupayaan multimodal, membolehkan penciptaan ejen yang menganalisis imej, video, dan audio. Ejen multimodal ini boleh mengendalikan tugas-tugas seperti pengiktirafan imej, penjanaan teks-ke-imej, transkripsi audio, dan analisis video, yang menawarkan penyelesaian serba boleh di pelbagai domain. Untuk tugas teks-ke-ke-ke-video, alat seperti Dall-E dan Replikasi boleh diintegrasikan, manakala untuk tugas-ke-teks dan tugas video-ke-teks, LLM multimodal seperti GPT-4, Gemini 2.0, Claude AI, dan yang lain boleh digunakan.

Kes penggunaan masa nyata untuk Rag Agentik

Bayangkan anda mempunyai dokumentasi untuk permulaan anda dan ingin membuat pembantu sembang yang dapat menjawab soalan pengguna berdasarkan dokumentasi itu. Untuk menjadikan chatbot anda lebih pintar, ia juga perlu mengendalikan data masa nyata. Biasanya, menjawab pertanyaan data masa nyata memerlukan sama ada membina semula asas pengetahuan atau melatih semula model.

Di sinilah agen bermain. Dengan menggabungkan asas pengetahuan dengan ejen, anda boleh membuat penyelesaian RAG (Generasi Retrieval-Augmented Generasi) yang tidak hanya meningkatkan keupayaan chatbot untuk mendapatkan jawapan yang tepat tetapi juga meningkatkan prestasi keseluruhannya.

Membina kain yang agentik dengan phidata

Kami mempunyai tiga komponen utama yang bersatu untuk membentuk asas pengetahuan kami. Pertama, kami mempunyai sumber data, seperti halaman dokumentasi, PDF, atau mana -mana laman web yang ingin kami gunakan. Kemudian kami mempunyai qdrant, yang merupakan pangkalan data vektor kami - ia seperti sistem penyimpanan pintar yang membantu kami mencari maklumat yang sama dengan cepat. Dan akhirnya, kami mempunyai model penyembuhan yang menukarkan teks kami ke dalam format yang dapat difahami oleh komputer dengan lebih baik. Ketiga komponen ini memasuki asas pengetahuan kita, yang seperti otak sistem kita.

Sekarang kita menentukan objek ejen dari Phidata.

Ejen itu disambungkan kepada tiga komponen:

  • Model penalaran (seperti GPT-4, Gemini 2.0, atau Claude) yang membantu ia berfikir dan merancang.
  • Memori (SQLagentStorage) yang membantu ia mengingati perbualan sebelumnya
  • Alat (seperti carian duckduckgo) yang boleh digunakan untuk mencari maklumat

Nota: Di sini Pangkalan Pengetahuan dan DuckDuckGo kedua -duanya akan bertindak sebagai alat, dan kemudian berdasarkan tugas atau pertanyaan pengguna ejen akan mengambil tindakan pada alat yang hendak digunakan untuk menghasilkan respons. Model Embedding juga terbuka secara lalai, jadi kami akan menggunakan OpenAI-GPT-4O sebagai model penalaran.

Mari bina kod ini.

Pelaksanaan Kod Langkah demi Langkah: Rag Agentik Menggunakan QDrant, OpenAI, dan Phidata

Sudah tiba masanya untuk membina ejen Penolong DokumenAnalyzer yang boleh berinteraksi dengan Maklumat Peribadi (laman web) dari pangkalan pengetahuan dan DuckDuckgo tanpa adanya konteks dalam asas pengetahuan.

Langkah1: Menyediakan kebergantungan

Untuk membina aliran kerja Agentic Rag kita perlu memasang beberapa perpustakaan yang termasuk:

  • Phidata: Untuk menentukan objek ejen dan pelaksanaan aliran kerja.
  • Google Generative AI - Model Penaakulan IE, Gemini 2.0 Flash
  • QDrant - Pangkalan Data Vektor Di mana Pangkalan Pengetahuan akan disimpan dan kemudian digunakan untuk mendapatkan maklumat yang relevan
  • Duckduckgo-Enjin carian digunakan untuk mengekstrak maklumat masa nyata.
 PIP Pasang Phidata Google-Generativeai Duckduckgo-Search QDrant-Client

Langkah2: Kekunci API Konfigurasi dan Persediaan Awal

Dalam langkah ini, kami akan menubuhkan pembolehubah persekitaran dan mengumpulkan kelayakan API yang diperlukan untuk menjalankan kes penggunaan ini. Untuk kunci API OpenAI anda, anda boleh mendapatkannya dari: https: //platform.openai.com/. Buat akaun anda dan buat kunci baru.

 dari phi.knowledge.Website Import Laman Web KnowledgeBase
dari phi.vectordb.qdrant import qdrant

dari ejen import Phi.Agent
dari phi.storage.agent.sqlite import sqlagentstorage
dari phi.model.openai import openaichat
dari phi.tools.duckduckgo import Duckduckgo

Import OS

os.environ ['OpenAI_API_Key'] = "<shemari>"</shemari>

Langkah 3: Pangkalan Data Vektor Persediaan - QDrant

Anda kini perlu memulakan klien QDrant dengan menyediakan nama pengumpulan, URL, dan API untuk pangkalan data vektor anda. Kedai pangkalan data QDrant dan mengindeks pengetahuan dari Laman Web, yang membolehkan ejen melakukan pengambilan maklumat yang relevan berdasarkan pertanyaan pengguna. Langkah ini menetapkan lapisan data untuk ejen anda:

  • Buat kluster: https://cloud.qdrant.io/
  • Beri nama kepada kluster anda dan salin kekunci API sebaik sahaja kluster dibuat.
  • Di bawah arahan curl, anda boleh menyalin url akhir.
 Collection_name = "agentic-rag"
Qdrant_url = "<shapping>"
Qdrant_api_key = "<shemari>"

vector_db = qdrant (
    koleksi = koleksi_name,
    url = qdrant_url,
    api_key = qdrant_api_key,
)</shemari></shapping>

Langkah4: Membuat Pangkalan Pengetahuan

Di sini, anda akan menentukan sumber -sumber yang mana ejen itu akan menarik pengetahuannya. Dalam contoh ini, kami sedang membina ejen penganalisis dokumen yang boleh membuat pekerjaan kami mudah menjawab soalan dari laman web. Kami akan menggunakan URL Laman Web Dokumen QDrant untuk pengindeksan.

Objek pengetahuan laman web berinteraksi dengan pangkalan data vektor QDrant untuk menyimpan pengetahuan yang diindeks dari URL yang disediakan. Ia kemudian dimuatkan ke dalam asas pengetahuan untuk mendapatkan semula oleh ejen.

Nota: Ingat kami menggunakan fungsi beban untuk mengindeks sumber data ke pangkalan pengetahuan. Ini perlu dijalankan sekali sahaja untuk setiap nama koleksi, jika anda menukar nama koleksi dan ingin menambah data baru, hanya masa itu menjalankan fungsi beban sekali lagi.

 Url = "https://qdrant.tech/documentation/overview/"

Knowledge_base = Laman web pengetahuanBase (
    url = [url],
    max_links = 10,
    vector_db = vector_db,
)

pengetahuan_base.load () # hanya dijalankan sekali, setelah koleksi dibuat, komen ini

Langkah 5: Tentukan ejen anda

Ejen mengkonfigurasi LLM (GPT-4) untuk penjanaan tindak balas, asas pengetahuan untuk mendapatkan maklumat, dan sistem storan SQLite untuk mengesan interaksi dan tindak balas sebagai ingatan. Ia juga menetapkan alat carian DuckDuckGo untuk carian web tambahan apabila diperlukan. Persediaan ini membentuk ejen AI teras yang mampu menjawab pertanyaan.

Kami akan menetapkan show_tool_calls untuk benar untuk memerhatikan pelaksanaan runtime backend dan menjejaki sama ada pertanyaan diarahkan ke pangkalan pengetahuan atau alat carian DuckDuckGo. Apabila anda menjalankan sel ini, ia akan membuat fail pangkalan data di mana semua mesej disimpan dengan membolehkan penyimpanan memori dan menetapkan add_history_to_messages menjadi benar.

 ejen = ejen (
    model = openaichat (),
    pengetahuan = pengetahuan_base,
    Alat = [DuckDuckGo ()],

    show_tool_calls = benar,
    markdown = benar,

    penyimpanan = sqlagentstorage (table_name = "agentic_rag", db_file = "agents_rag.db"),
    add_history_to_messages = benar,
)

Langkah 6: Cuba pelbagai pertanyaan

Akhirnya, ejen bersedia untuk memproses pertanyaan pengguna. Dengan menghubungi fungsi print_response (), anda lulus dalam pertanyaan pengguna, dan ejen bertindak balas dengan mendapatkan maklumat yang relevan dari asas pengetahuan dan memprosesnya. Jika pertanyaan bukan dari pangkalan pengetahuan, ia akan menggunakan alat carian. Mari kita perhatikan perubahan.

Pertanyaan -1: dari pangkalan pengetahuan

 agen.print_response (
  "Apakah teknik pengindeksan yang disebut dalam dokumen itu?", 
  stream = benar
)

Membina kain yang agentik dengan phidata

Pertanyaan-2 di luar pangkalan pengetahuan

 agen.print_response (
  "Siapa Virat Kohli?", 
  stream = benar
)

Membina kain yang agentik dengan phidata

Kelebihan Rag Agentik

Temui kelebihan utama Agentic Rag, di mana ejen pintar dan graf hubungan bergabung untuk mengoptimumkan pengambilan data dan membuat keputusan.

  • Keupayaan penalaran yang dipertingkatkan untuk penjanaan tindak balas yang lebih baik.
  • Pemilihan alat pintar berdasarkan konteks pertanyaan seperti Pangkalan Pengetahuan dan DuckDuckGo atau mana -mana alat lain dari mana kita boleh mengambil konteks yang boleh diberikan kepada ejen.
  • Integrasi memori untuk kesedaran konteks yang lebih baik yang dapat diingat dan mengekstrak mesej perbualan sejarah.
  • Perancangan dan penguraian tugas yang lebih baik, bahagian utama dalam aliran kerja agentik adalah untuk mendapatkan tugas dan memecahkannya ke dalam sub-tugas, dan kemudian membuat keputusan dan pelan tindakan yang lebih baik.
  • Integrasi fleksibel dengan pelbagai sumber data seperti PDF, laman web, CSV, DOCS, dan banyak lagi.

Kesimpulan

Melaksanakan RAG Agentik dengan komponen memori menyediakan penyelesaian yang boleh dipercayai untuk membina sistem pengambilan pengetahuan pintar dan enjin carian. Dalam artikel ini, kami meneroka apa ejen dan kain, dan bagaimana untuk menggabungkannya. Dengan gabungan Rag Agentic, routing pertanyaan bertambah baik disebabkan oleh keupayaan membuat keputusan ejen.

Takeaways utama

  • Ketahui bagaimana Rag Agentik dengan Phidata meningkatkan AI dengan mengintegrasikan memori, asas pengetahuan, dan pengendalian pertanyaan dinamik.
  • Belajar untuk melaksanakan RAG yang agentik dengan Phidata untuk mendapatkan semula maklumat yang cekap dan penjanaan tindak balas penyesuaian.
  • Perpustakaan Data Phidata menyediakan proses pelaksanaan yang diperkemas dengan hanya 30 baris kod teras bersama -sama dengan multimodal seperti Flash Gemini 2.0.
  • Komponen memori adalah penting untuk mengekalkan konteks dan meningkatkan kaitan tindak balas.
  • Integrasi pelbagai alat (asas pengetahuan, carian web) membolehkan pangkalan data vektor pengambilan maklumat yang fleksibel seperti QDrant menyediakan keupayaan pengindeksan lanjutan untuk carian yang cekap.

Soalan yang sering ditanya

Q1. Bolehkah Phidata mengendalikan tugas multimodal, dan alat apa yang diintegrasikan untuk tujuan ini?

A. Ya, Phidata dibina untuk menyokong agen AI multimodal yang mampu mengendalikan tugas yang melibatkan imej, video, dan audio. Ia mengintegrasikan alat seperti Dall-E dan meniru untuk generasi teks-ke-ke-video, dan menggunakan LLM multimodal seperti GPT-4, Gemini 2.0, dan Claude AI untuk tugas-ke-teks dan video-ke-teks.

S2. Alat dan kerangka apa yang tersedia untuk membangunkan sistem RAG yang agentik?

A. Membangunkan sistem generasi pengambilan semula aggenik (RAG) melibatkan menggunakan pelbagai alat dan kerangka yang memudahkan integrasi ejen autonomi dengan keupayaan pengambilan dan penjanaan. Berikut adalah beberapa alat dan kerangka yang tersedia untuk tujuan ini: Langchain, Llamaindex, Phidata, Crewai, dan Autogen.

Q3. Bolehkah Phidata diintegrasikan dengan alat luaran dan pangkalan pengetahuan?

A. Ya, Phidata membolehkan integrasi pelbagai alat dan pangkalan pengetahuan. Sebagai contoh, ia boleh berhubung dengan alat data kewangan seperti YFINANCE untuk analisis stok masa nyata atau alat carian web seperti DuckDuckGo untuk mendapatkan maklumat terkini. Fleksibiliti ini membolehkan penciptaan agen khusus yang disesuaikan dengan kes penggunaan tertentu.

Media yang ditunjukkan dalam artikel ini tidak dimiliki oleh Analytics Vidhya dan digunakan atas budi bicara penulis.

Atas ialah kandungan terperinci Membina kain yang agentik dengan phidata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn