Apidog

Platform Pengembangan API Kolaboratif All-in-one

Desain API

Dokumentasi API

Debug API

Mocking API

Pengujian Otomatis API

Cara Menggunakan Amazon Nova Act API dan SDK

Amazon Nova Act: pratinjau riset dari Amazon AGI. Memungkinkan pengembang membuat agen web. Menggunakan bahasa alami, Python, & Playwright untuk navigasi, klik, isi formulir, & ekstrak data. Berbeda dari alat otomatisasi web biasa, Nova Act memakai AI.

Ardianto Nugroho

Ardianto Nugroho

Updated on April 15, 2025

Amazon Nova Act adalah pratinjau penelitian yang dirilis oleh Amazon Artificial General Intelligence (AGI) yang memungkinkan pengembang untuk membangun agen yang mampu mengambil tindakan di dalam peramban web. Teknologi ini menggabungkan instruksi bahasa alami dengan skrip Python dan otomatisasi Playwright untuk menavigasi situs web, mengklik tombol, mengisi formulir, dan mengekstrak data secara dinamis.

Tidak seperti alat otomatisasi web tradisional yang bergantung pada skrip rapuh dan kode khusus situs web, Nova Act menggunakan AI untuk berinteraksi dengan situs web secara lebih adaptif, membantunya menangani perubahan antarmuka web tanpa memerlukan pemeliharaan yang konstan.

💡
Apakah Anda ingin merampingkan alur kerja pengembangan API Anda? Apidog menonjol sebagai alternatif Postman terbaik, menawarkan serangkaian alat komprehensif untuk desain, debugging, pengujian, dan dokumentasi API—semuanya dalam satu platform terpadu. 
button

Dengan antarmuka yang intuitif, fitur kolaboratif, dan kemampuan otomatisasi yang kuat, Apidog secara signifikan mengurangi waktu pengembangan sambil meningkatkan kualitas API.

\
button

Prasyarat

Sebelum memulai dengan Amazon Nova Act, Anda memerlukan:

  • Sistem Operasi: MacOS atau Ubuntu (Windows saat ini tidak didukung)
  • Python: Versi 3.10 atau lebih tinggi
  • Akun Amazon: Untuk menghasilkan kunci API
  • Persyaratan Lokasi: Amazon Nova Act saat ini hanya tersedia sebagai pratinjau penelitian di AS

Mendapatkan Kunci API Amazon Nova Act Anda

Untuk menggunakan Amazon Nova Act:

  1. Buka nova.amazon.com/act dan masuk dengan akun Amazon Anda
  2. Pilih "Act" di bagian Labs pada panel navigasi
  3. Hasilkan kunci API
  4. Jika akses tidak langsung, Anda mungkin ditempatkan dalam daftar tunggu dan diberi tahu melalui email ketika akses diberikan

Instalasi

Setelah Anda memiliki kunci API Anda:

# Instal SDK
pip install nova-act

# Atur kunci API Anda sebagai variabel lingkungan
export NOVA_ACT_API_KEY="your_api_key"

Catatan: Pertama kali Anda menjalankan Nova Act, mungkin diperlukan waktu 1-2 menit untuk memulai karena menginstal modul Playwright. Proses selanjutnya akan dimulai lebih cepat.

Penggunaan Dasar

Mari kita mulai dengan contoh sederhana langsung dari dokumentasi:

from nova_act import NovaAct

with NovaAct(starting_page="https://www.amazon.com") as nova:
    nova.act("search for a coffee maker")
    nova.act("select the first result")
    nova.act("scroll down or up until you see 'add to cart' and then click 'add to cart'")

Skrip ini akan:

  1. Buka Chrome dan navigasikan ke Amazon
  2. Cari pembuat kopi
  3. Pilih hasil pertama
  4. Temukan dan klik tombol "Tambahkan ke Keranjang"

Mode Interaktif

Nova Act dapat digunakan secara interaktif untuk eksperimen:

# Mulai shell Python
$ python
>>> from nova_act import NovaAct
>>> nova = NovaAct(starting_page="https://www.amazon.com")
>>> nova.start()
>>> nova.act("search for a coffee maker")

Setelah tindakan pertama selesai, lanjutkan dengan langkah berikutnya:

>>> nova.act("select the first result")

Perhatikan bahwa menurut dokumentasi, Nova Act saat ini tidak mendukung iPython; gunakan shell Python standar sebagai gantinya.

Strategi Prompting yang Efektif

Dokumentasi resmi menekankan pemecahan tugas menjadi langkah-langkah yang lebih kecil untuk keandalan:

1. Bersikap Spesifik dan Jelas

JANGAN

nova.act("From my order history, find my most recent order from India Palace and reorder it")

LAKUKAN

nova.act("Click the hamburger menu icon, go to Order History, find my most recent order from India Palace and reorder it")

2. Pecah Tugas Kompleks menjadi Langkah-Langkah yang Lebih Kecil

JANGAN

nova.act("book me a hotel that costs less than $100 with the highest star rating")

LAKUKAN

nova.act(f"search for hotels in Houston between {startdate} and {enddate}")
nova.act("sort by avg customer review")
nova.act("hit book on the first hotel that is $100 or less")
nova.act(f"fill in my name, address, and DOB according to {blob}")

Mengekstrak Data dari Halaman Web

Nova Act mendukung ekstraksi data terstruktur menggunakan model Pydantic:

from pydantic import BaseModel
from nova_act import NovaAct, BOOL_SCHEMA

class Book(BaseModel):
    title: str
    author: str

class BookList(BaseModel):
    books: list[Book]

def get_books(year: int) -> BookList | None:
    """Get top NYT books of the year and return as a BookList."""
    with NovaAct(starting_page=f"https://en.wikipedia.org/wiki/List_of_The_New_York_Times_number-one_books_of_{year}#Fiction") as nova:
        result = nova.act(
            "Return the books in the Fiction list",
            schema=BookList.model_json_schema()
        )
        
        if not result.matches_schema:
            # Act response did not match the schema
            return None
            
        # Parse the JSON into the pydantic model
        book_list = BookList.model_validate(result.parsed_response)
        return book_list

Untuk respons boolean sederhana, gunakan BOOL_SCHEMA bawaan:

result = nova.act("Am I logged in?", schema=BOOL_SCHEMA)
if result.matches_schema:
    if result.parsed_response:
        print("You are logged in")
    else:
        print("You are not logged in")

Pemrosesan Paralel dengan Beberapa Sesi Peramban

Dokumentasi GitHub mengonfirmasi bahwa Nova Act mendukung pemrosesan paralel dengan beberapa sesi peramban:

from concurrent.futures import ThreadPoolExecutor, as_completed
from nova_act import NovaAct, ActError

# Accumulate results here
all_books = []

# Set maximum concurrent browser sessions
with ThreadPoolExecutor(max_workers=10) as executor:
    # Get books from multiple years in parallel
    future_to_books = {
        executor.submit(get_books, year): year
        for year in range(2010, 2025)
    }
    
    # Collect results
    for future in as_completed(future_to_books.keys()):
        try:
            year = future_to_books[future]
            book_list = future.result()
            if book_list is not None:
                all_books.extend(book_list.books)
        except ActError as exc:
            print(f"Skipping year {year} due to error: {exc}")

Autentikasi dan Status Peramban

Untuk situs web yang memerlukan autentikasi, Nova Act menyediakan opsi untuk menggunakan profil Chrome yang ada:

import os
from nova_act import NovaAct

user_data_dir = "path/to/my/chrome_profile"
os.makedirs(user_data_dir, exist_ok=True)

with NovaAct(
    starting_page="https://amazon.com/", 
    user_data_dir=user_data_dir,
    clone_user_data_dir=False
) as nova:
    input("Log into your websites, then press enter...")

Ada juga skrip pembantu bawaan untuk tujuan ini:

python -m nova_act.samples.setup_chrome_user_data_dir

Menangani Informasi Sensitif

Dokumentasi secara khusus memperingatkan tentang penanganan data sensitif:

# Sign in properly
nova.act("enter username janedoe and click on the password field")

# Use Playwright directly for sensitive data
nova.page.keyboard.type(getpass())  # getpass() collects password securely

# Continue after credentials are entered
nova.act("sign in")

Peringatan Keamanan: Dokumentasi mencatat bahwa tangkapan layar yang diambil selama eksekusi akan menangkap informasi sensitif yang terlihat.

Fitur Tambahan

Bekerja dengan Captcha

result = nova.act("Is there a captcha on the screen?", schema=BOOL_SCHEMA)
if result.matches_schema and result.parsed_response:
    input("Please solve the captcha and hit return when done")

Mengunduh File

with nova.page.expect_download() as download_info:
    nova.act("click on the download button")
    
# Save permanently
download_info.value.save_as("my_downloaded_file")

Merekam Sesi

nova = NovaAct(
    starting_page="https://example.com",
    logs_directory="/path/to/logs",
    record_video=True
)

Contoh Dunia Nyata: Pencarian Apartemen

Artikel dev.to menunjukkan contoh dunia nyata tentang menemukan apartemen di dekat stasiun kereta api. Berikut adalah struktur inti dari contoh tersebut:

from concurrent.futures import ThreadPoolExecutor, as_completed
import pandas as pd
from pydantic import BaseModel
from nova_act import NovaAct

class Apartment(BaseModel):
    address: str
    price: str
    beds: str
    baths: str

class ApartmentList(BaseModel):
    apartments: list[Apartment]

class CaltrainBiking(BaseModel):
    biking_time_hours: int
    biking_time_minutes: int
    biking_distance_miles: float

# First find apartments
with NovaAct(starting_page="https://zumper.com/", headless=headless) as client:
    client.act(
        "Close any cookie banners. "
        f"Search for apartments near {caltrain_city}, CA, "
        f"then filter for {bedrooms} bedrooms and {baths} bathrooms."
    )
    
    # Extract apartment listings with schema
    result = client.act(
        "Return the currently visible list of apartments",
        schema=ApartmentList.model_json_schema()
    )
    
# Then check biking distances in parallel
with ThreadPoolExecutor() as executor:
    # Submit parallel tasks to check biking distance to train station
    future_to_apartment = {
        executor.submit(add_biking_distance, apartment, caltrain_city, headless): apartment 
        for apartment in all_apartments
    }
    
    # Process results
    for future in as_completed(future_to_apartment.keys()):
        # Collect and process results
        pass

# Sort and display results
apartments_df = pd.DataFrame(apartments_with_biking)

Contoh ini menunjukkan bagaimana Nova Act dapat:

  • Mengekstrak data terstruktur dari situs web
  • Memproses beberapa sesi peramban secara paralel
  • Menggabungkan informasi dari sumber yang berbeda

Keterbatasan yang Diketahui

Menurut dokumentasi, Nova Act memiliki keterbatasan ini:

  • Hanya Peramban: Tidak dapat berinteraksi dengan aplikasi non-peramban
  • Keandalan Terbatas: Mungkin kesulitan dengan perintah tingkat tinggi
  • Batasan UI: Tidak dapat berinteraksi dengan elemen yang tersembunyi di balik mouseover
  • Modal Peramban: Tidak dapat berinteraksi dengan modal jendela peramban seperti permintaan izin
  • Batasan Geografis: Saat ini hanya tersedia di AS
  • Status Penelitian: Ini adalah pratinjau eksperimental, bukan layanan produksi

Opsi Konstruktor NovaAct

Dokumentasi mencantumkan parameter ini untuk menginisialisasi NovaAct:

NovaAct(
    starting_page="https://example.com",  # Required: URL to start at
    headless=False,                       # Whether to run browser visibly or not
    quiet=False,                          # Whether to suppress logs
    user_data_dir=None,                   # Path to Chrome profile
    nova_act_api_key=None,                # API key (can use env var instead)
    logs_directory=None,                  # Where to store logs
    record_video=False,                   # Whether to record session
    # Other options as documented
)

Kesimpulan

Amazon Nova Act mewakili pendekatan inovatif untuk otomatisasi peramban dengan menggabungkan AI dengan teknik otomatisasi tradisional. Meskipun masih dalam pratinjau penelitian dengan beberapa keterbatasan, ini menawarkan arah yang menjanjikan untuk membuat otomatisasi web lebih andal dan mudah beradaptasi.

Keunggulan utama Nova Act adalah kemampuannya untuk memecah interaksi peramban yang kompleks menjadi langkah-langkah diskrit dan andal menggunakan instruksi bahasa alami, yang dapat digabungkan dengan kode Python untuk alur kerja otomatisasi yang fleksibel dan kuat.

Karena ini adalah pratinjau penelitian yang hanya tersedia di AS, harapkan perubahan dan peningkatan yang berkelanjutan. Untuk informasi terbaru, selalu rujuk ke dokumentasi resmi di GitHub dan nova.amazon.com/act.

Apa itu Ollama? Cara Menginstal Ollama?Sudut Pandang

Apa itu Ollama? Cara Menginstal Ollama?

💡Ingin alat Pengujian API yang hebat yang menghasilkan Dokumentasi API yang indah? Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum? Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau! button Lanskap kecerdasan buatan (AI) terus berkembang dengan kecepatan tinggi, dan Model Bahasa Besar (LLM) menjadi semakin kuat dan mudah diakses. Meskipun banyak orang berinteraksi dengan model

Di Mana Unduh Swagger UI Bahasa Indonesia Gratis?Sudut Pandang

Di Mana Unduh Swagger UI Bahasa Indonesia Gratis?

Ingin Swagger UI dalam Bahasa Indonesia? Artikel ini menjelaskan mengapa tidak ada unduhan resmi gratis dan cara mengaktifkan terjemahan. Jelajahi fitur Swagger dan lihat mengapa Apidog adalah alternatif Swagger superior untuk desain, pengujian, dan dokumentasi API yang terintegrasi.

Oliver Kingsley

April 23, 2025

Di Mana Mengunduh Postman Bahasa Indonesia Gratis?Sudut Pandang

Di Mana Mengunduh Postman Bahasa Indonesia Gratis?

Bisakah Anda mengunduh Postman Bahasa Indonesia gratis? Meskipun Postman tidak memiliki dukungan Bahasa Indonesia native, ada solusi lain. Jelajahi ini & temukan Apidog, alternatif Postman terpadu yang kuat untuk menyederhanakan alur kerja API Anda, apa pun bahasanya.

Oliver Kingsley

April 22, 2025