Rumah >Peranti teknologi >AI >Memeluk wajah ' s smolagents: panduan dengan contoh

Memeluk wajah ' s smolagents: panduan dengan contoh

Jennifer Aniston
Jennifer Anistonasal
2025-03-01 09:51:11333semak imbas

memeluk smolagents muka: perpustakaan python yang diselaraskan untuk membina ejen AI

Post blog ini memperkenalkan Smolagents, sebuah perpustakaan Python baru dari memeluk wajah yang memudahkan pembangunan ejen AI. Kami akan meneroka manfaatnya dan berjalan melalui projek demo.

Apa itu smolagents?

Hugging Face menggambarkan smolagents sebagai perpustakaan mudah yang membolehkan ejen model bahasa. Tetapi mengapa perpustakaan khusus diperlukan untuk penciptaan ejen?

Ejen memanfaatkan LLM untuk menyelesaikan tugas secara dinamik dengan berinteraksi dengan persekitaran, perancangan, dan tindakan melaksanakan menggunakan toolkit yang ditetapkan. Walaupun membina ejen -ejen ini tidak mustahil dari awal, ia memerlukan membangunkan pelbagai komponen untuk memastikan penggunaan sumber yang cekap (mengelakkan panggilan API yang berlebihan dan masa pelaksanaan). Rangka Kerja Agentik menyelaraskan proses ini.

Kritikan umum terhadap kerangka agen AI termasuk lapisan abstraksi yang berlebihan (yang membawa kepada kesukaran dan kesukaran penyahpepijatan) dan tumpuan pada aliran kerja yang tegar dan bukannya kerjasama dinamik. Smolagents menangani kebimbangan ini:

  • Lapisan abstraksi yang minimum.
  • Tindakan berasaskan kod: Ejen menentukan tindakan menggunakan coretan kod python (berbeza daripada ejen yang menghasilkan kod).
  • Integrasi Face Hugging Lancar: Bekerja dengan baik dengan Perpustakaan Hub dan Transformers, menyokong pelbagai model (termasuk beberapa yang memerlukan langganan pro) dan model dari OpenAI, Anthropic, dan lain -lain
  • Penciptaan Alat Custom Mudah: Menentukan alat tersuai semudah menulis fungsi python.

mari kita lihat jika smolagents memenuhi janji pembangunan agen AI plug-and-play.

Projek Demo: Mendapatkan kertas harian muka pelukan terulung

Demo ini menggunakan smolagents untuk mendapatkan kertas yang paling banyak dipenuhi dari halaman Papers Face Daily yang memeluk. Kami akan membina alat tersuai dan memerhatikan interaksi mereka.

Hugging Face's Smolagents: A Guide With Examples

kertas harian: sumber yang berharga untuk mengekalkan penyelidikan baru -baru ini.

Menyediakan smolagents

Pemasangan adalah mudah:

pip install smolagents
token muka yang memeluk diperlukan.

Membina Alat Custom

Walaupun smolagents menawarkan alat terbina dalam (mis., DuckDuckGoSearchTool), membuat alat tersuai sama-sama mudah. Demo kami menggunakan empat alat:

  1. : Mendapatkan tajuk kertas harian teratas. get_hugging_face_top_daily_paper
  2. : Mendapatkan id kertas menggunakan tajuknya. get_paper_id_by_title
  3. : Muat turun kertas dari arxiv menggunakan idnya. download_paper_by_id
  4. : Membaca fail pdf yang dimuat turun. read_pdf_file
Reka bentuk alat yang berkesan adalah penting untuk kejayaan ejen. Untuk memastikan kejelasan:
  • Gunakan nama fungsi deskriptif.
  • menggunakan petunjuk jenis untuk input dan output.
  • Sertakan docstring terperinci menerangkan tujuan alat.

inilah contoh alat get_hugging_face_top_daily_paper:

pip install smolagents

Alat lain (get_paper_id_by_title, download_paper_by_id, read_pdf_file) juga ditakrifkan (menggunakan huggingface_hub, arxiv, dan pypdf masing -masing), mengikut amalan terbaik yang sama.

menjalankan ejen

kami akan menggunakan model QWEN2.5-CODER-32B-Instruct (percuma untuk digunakan):

from smolagents import tool
import requests
from bs4 import BeautifulSoup
import json

@tool
def get_hugging_face_top_daily_paper() -> str:
    """
    Retrieves the most upvoted paper from Hugging Face daily papers.
    Returns the paper's title.
    """
    try:
      url = "<https:>"  # URL to Hugging Face Daily Papers
      response = requests.get(url)
      response.raise_for_status()
      soup = BeautifulSoup(response.content, "html.parser")
      containers = soup.find_all('div', class_='SVELTE_HYDRATER contents')
      top_paper = ""
      for container in containers:
          data_props = container.get('data-props', '')
          if data_props:
              try:
                  json_data = json.loads(data_props.replace('"', '"'))
                  if 'dailyPapers' in json_data:
                      top_paper = json_data['dailyPapers'][0]['title']
              except json.JSONDecodeError:
                  continue
      return top_paper
    except requests.exceptions.RequestException as e:
      print(f"Error fetching HTML: {e}")
      return None</https:>

output langkah demi langkah ejen menunjukkan penggunaan alatnya. (Tangkapan skrin output ejen dalam langkah 0, 1, 2, dan 3 akan dimasukkan di sini, menunjukkan proses ejen dan ringkasan akhir).

Kesimpulan

Smolagents menawarkan rangka kerja ringan dan dikawal untuk pembangunan ejen AI. Integrasi muka yang memeluknya memberikan akses kepada pelbagai model dan alat. Walaupun alat terbina dalam tambahan akan bermanfaat, smolagents berkesan menyampaikan janji terasnya. Bagi pemaju yang mencari rangka kerja ejen yang tidak rapi, smolagents patut diterokai.

(pautan ke pengenalan kepada ejen AI, memahami ejen AI, dokumentasi smolagents, dan repositori smolagents akan dimasukkan di sini.)

Atas ialah kandungan terperinci Memeluk wajah ' s smolagents: panduan dengan contoh. 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