LLM Anda berhak mendapatkan masukan yang lebih baik.
Pembaca melakukan dua hal:
Baca : Ini mengubah URL apa pun menjadi masukan ramah LLM dengan https://r.jina.ai/https://your.url
. Dapatkan hasil yang lebih baik untuk agen dan sistem RAG Anda tanpa biaya.
Pencarian : Ia mencari web untuk kueri tertentu dengan https://s.jina.ai/your+query
. Hal ini memungkinkan LLM Anda mengakses pengetahuan dunia terkini dari web.
Lihat demo langsungnya
Atau kunjungi saja URL ini ( Baca ) https://r.jina.ai/https://github.com/jina-ai/reader, ( Pencarian ) https://s.jina.ai/Who%20will%20win %202024%20US%20presidensial%20pemilihan%3F dan lihat sendiri.
Jangan ragu untuk menggunakan API Pembaca dalam produksi. Ini gratis, stabil, dan terukur. Kami mempertahankannya secara aktif sebagai salah satu produk inti Jina AI. Periksa batas tarif
08-10-2024 : Memperkenalkan adaptive crawler
. Itu dapat merayapi situs web secara rekursif dan mengekstrak halaman yang paling relevan untuk halaman web tertentu.
15-07-2024 : Untuk membatasi hasil s.jina.ai
pada domain/situs web tertentu, Anda dapat mengatur misalnya site=jina.ai
di parameter kueri, yang memungkinkan pencarian dalam situs. Untuk opsi lainnya, coba demo langsung kami yang diperbarui.
01-07-2024 : Kami telah menyelesaikan serangan DDoS dan penyalahgunaan lalu lintas lainnya sejak 27 Juni. Kami juga menemukan bug yang diperkenalkan pada tanggal 28 Juni yang dapat menyebabkan latensi lebih tinggi untuk beberapa situs web. Serangan dan bug telah diatasi; jika Anda pernah mengalami latensi r.jina.ai yang tinggi antara tanggal 27-30 Juni, sekarang seharusnya sudah kembali normal.
30-05-2024 : Pembaca kini dapat membaca PDF acak dari URL mana pun! Lihat hasil PDF ini dari NASA.gov vs aslinya.
15-05-2024 : Kami memperkenalkan titik akhir baru s.jina.ai
yang menelusuri web dan memberikan hasil 5 teratas, masing-masing dalam format ramah LLM. Baca lebih lanjut tentang fitur baru ini di sini.
08-05-2024 : Keterangan gambar dinonaktifkan secara default untuk latensi yang lebih baik. Untuk mengaktifkannya, setel x-with-generated-alt: true
di header permintaan.
03-05-2024 : Kami akhirnya menyelesaikan serangan DDoS sejak 29 April. Kini API kami jauh lebih andal dan terukur dibandingkan sebelumnya!
24-04-2024 : Anda sekarang memiliki kontrol yang lebih baik atas API Pembaca menggunakan header, misalnya meneruskan cookie, menggunakan proksi HTTP.
15-04-2024 : Pembaca sekarang mendukung pembacaan gambar! Ini memberi keterangan pada semua gambar di URL yang ditentukan dan menambahkan Image [idx]: [caption]
sebagai tag alt (jika awalnya tidak memilikinya). Hal ini memungkinkan LLM hilir untuk berinteraksi dengan gambar dalam penalaran, ringkasan, dll. Lihat contoh di sini.
r.jina.ai
untuk pengambilan URL tunggal Cukup tambahkan https://r.jina.ai/
ke URL mana pun. Misalnya, untuk mengonversi URL https://en.wikipedia.org/wiki/Artificial_intelligence
menjadi masukan ramah LLM, gunakan URL berikut:
https://r.jina.ai/https://en.wikipedia.org/wiki/Artificial_intelligence
r.jina.ai
untuk pengambilan situs web lengkap (Google Colab)s.jina.ai
untuk pencarian web Cukup tambahkan https://s.jina.ai/
ke permintaan pencarian Anda. Perhatikan bahwa jika Anda menggunakan ini dalam kode, pastikan untuk menyandikan kueri penelusuran Anda terlebih dahulu, misalnya jika kueri Anda adalah Who will win 2024 US presidential election?
maka url Anda akan terlihat seperti:
https://s.jina.ai/Who%20will%20win%202024%20US%20presidential%20election%3F
Di balik layar, Pembaca menelusuri web, mengambil 5 hasil teratas, mengunjungi setiap URL, dan menerapkan r.jina.ai
ke dalamnya. Hal ini berbeda dari banyak web search function-calling
dalam kerangka agen/RAG, yang sering kali hanya mengembalikan judul, URL, dan deskripsi yang disediakan oleh API mesin telusur. Jika Anda ingin membaca satu hasil lebih dalam, Anda harus mengambil sendiri kontennya dari URL tersebut. Dengan Reader, http://s.jina.ai
secara otomatis mengambil konten dari 5 URL hasil penelusuran teratas untuk Anda (menggunakan kembali tumpukan teknologi di belakang http://r.jina.ai
). Ini berarti Anda tidak perlu menangani sendiri rendering browser, pemblokiran, atau masalah apa pun terkait JavaScript dan CSS.
s.jina.ai
untuk pencarian dalam situs Cukup tentukan site
di parameter kueri seperti:
curl 'https://s.jina.ai/Kapan%20was%20Jina%20AI%20didirikan%3F?site=jina.ai&site=github.com'
Kami sangat menyarankan penggunaan pembuat kode untuk menjelajahi berbagai kombinasi parameter API Pembaca.
Seperti yang telah Anda lihat di atas, seseorang dapat mengontrol perilaku API Pembaca menggunakan header permintaan. Berikut adalah daftar lengkap header yang didukung.
Anda dapat mengaktifkan fitur keterangan gambar melalui header x-with-generated-alt: true
.
Anda dapat meminta API Pembaca untuk meneruskan pengaturan cookie melalui header x-set-cookie
.
Perhatikan bahwa permintaan dengan cookie tidak akan di-cache.
Anda dapat melewati pemfilteran readability
melalui header x-respond-with
, khususnya:
x-respond-with: markdown
mengembalikan penurunan harga tanpa melalui reability
x-respond-with: html
mengembalikan documentElement.outerHTML
x-respond-with: text
mengembalikan document.body.innerText
x-respond-with: screenshot
mengembalikan URL tangkapan layar laman web
Anda dapat menentukan server proxy melalui header x-proxy-url
.
Anda dapat menyesuaikan toleransi cache melalui header x-cache-tolerance
(bilangan bulat dalam hitungan detik).
Anda dapat melewati halaman yang di-cache (seumur hidup 3600an) melalui header x-no-cache: true
(setara dengan x-cache-tolerance: 0
).
Jika Anda sudah mengetahui struktur HTML halaman target Anda, Anda dapat menentukan x-target-selector
atau x-wait-for-selector
untuk mengarahkan Reader API agar fokus pada bagian halaman tertentu.
Dengan menyetel header x-target-selector
ke pemilih CSS, Reader API mengembalikan konten dalam elemen yang cocok, bukan HTML lengkap. Menyetel header ini berguna ketika ekstraksi konten otomatis gagal menangkap konten yang diinginkan dan Anda dapat memilih target yang benar secara manual.
Dengan menyetel header x-wait-for-selector
ke pemilih CSS, API Pembaca akan menunggu hingga elemen yang cocok dirender sebelum mengembalikan konten. Jika Anda sudah menentukan x-wait-for-selector
, header ini dapat dihilangkan jika Anda berencana menunggu elemen yang sama.
r.jina.ai
untuk pengambilan aplikasi satu halaman (SPA).Banyak situs web saat ini mengandalkan kerangka JavaScript dan rendering sisi klien. Biasa dikenal dengan Single Page Application (SPA). Berkat Puppeteer dan browser Chrome tanpa kepala, Reader secara asli mendukung pengambilan situs web ini. Namun, karena pendekatan khusus yang dikembangkan oleh beberapa SPA, mungkin ada beberapa tindakan pencegahan ekstra yang perlu dilakukan.
Berdasarkan definisi standar web, konten yang muncul setelah #
dalam URL tidak dikirim ke server. Untuk mengurangi masalah ini, gunakan metode POST
dengan parameter url
di isi.
curl -X POST 'https://r.jina.ai/' -d 'url=https://example.com/#/route'
Beberapa SPA, atau bahkan beberapa situs web yang bukan merupakan SPA, mungkin menampilkan konten pramuat sebelum kemudian memuat konten utama secara dinamis. Dalam hal ini, Pembaca mungkin menangkap konten pramuat, bukan konten utama. Untuk mengurangi masalah ini, berikut beberapa solusi yang mungkin:
x-timeout
Ketika batas waktu ditentukan secara eksplisit, Pembaca tidak akan mencoba kembali lebih awal dan akan menunggu jaringan menganggur hingga batas waktu tercapai. Ini berguna ketika situs web target pada akhirnya akan memasuki jaringan yang tidak aktif.
curl 'https://example.com/' -H 'x-timeout: 30'
x-wait-for-selector
Ketika pemilih tunggu ditentukan secara eksplisit, Pembaca akan menunggu kemunculan pemilih CSS yang ditentukan hingga batas waktu tercapai. Ini berguna ketika Anda tahu persis elemen apa yang harus ditunggu.
curl 'https://example.com/' -H 'x-wait-for-selector: #content'
Mode streaming berguna ketika Anda menemukan bahwa mode standar memberikan hasil yang tidak lengkap. Hal ini karena Pembaca akan menunggu sedikit lebih lama hingga halaman dirender dengan stabil . Gunakan header terima untuk mengganti mode streaming:
curl -H "Terima: teks/event-stream" https://r.jina.ai/https://en.m.wikipedia.org/wiki/Main_Page
Data datang dalam bentuk aliran; setiap potongan berikutnya berisi informasi yang lebih lengkap. Potongan terakhir harus memberikan hasil yang paling lengkap dan final. Jika Anda berasal dari LLM, harap perhatikan bahwa ini adalah perilaku yang berbeda dari streaming pembuatan teks LLM.
Misalnya, bandingkan dua perintah curl di bawah ini. Anda dapat melihat streaming yang akhirnya memberi Anda informasi lengkap, sedangkan mode standar tidak. Ini karena pemuatan konten di situs tertentu dipicu oleh beberapa js setelah halaman dimuat penuh, dan mode standar mengembalikan halaman "terlalu cepat".
curl -H 'x-no-cache: benar' https://access.redhat.com/security/cve/CVE-2023-45853 curl -H "Terima: teks/event-stream" -H 'x-no-cache: true' https://r.jina.ai/https://access.redhat.com/security/cve/CVE-2023 -45853
Catatan:
-H 'x-no-cache: true'
hanya digunakan untuk tujuan demonstrasi untuk melewati cache.
Mode streaming juga berguna jika sistem LLM/agen hilir Anda memerlukan pengiriman konten segera atau perlu memproses data dalam beberapa bagian untuk menyisipkan waktu pemrosesan I/O dan LLM. Hal ini memungkinkan akses lebih cepat dan penanganan data lebih efisien:
Reader API: streamContent1 ----> streamContent2 ----> streamContent3 ---> ...
| | |
v | |
Your LLM: LLM(streamContent1) | |
v |
LLM(streamContent2) |
v
LLM(streamContent3)
Perhatikan bahwa dalam hal kelengkapan: ... > streamContent3 > streamContent2 > streamContent1
, setiap potongan berikutnya berisi informasi yang lebih lengkap.
Ini masih sangat awal dan hasilnya bukanlah JSON yang "berguna". Ini berisi tiga bidang url
, title
dan content
saja. Meskipun demikian, Anda dapat menggunakan header-terima untuk mengontrol format output:
curl -H "Terima: application/json" https://r.jina.ai/https://en.m.wikipedia.org/wiki/Main_Page
Mode JSON mungkin lebih berguna di s.jina.ai
daripada r.jina.ai
. Untuk s.jina.ai
dengan mode JSON, ia mengembalikan 5 hasil dalam satu daftar, masing-masing dalam struktur {'title', 'content', 'url'}
.
Semua gambar di halaman tersebut yang tidak memiliki tag alt
dapat diberi teks otomatis oleh VLM (model bahasa visi) dan diformat sebagai !(Image [idx]: [VLM_caption])[img_URL]
. Ini akan memberikan LLM hanya teks hilir Anda cukup petunjuk untuk memasukkan gambar-gambar itu ke dalam penalaran, pemilihan, dan ringkasan. Gunakan header x-with-generated-alt untuk mengganti mode streaming:
curl -H "X-Dengan-Generated-Alt: benar" https://r.jina.ai/https://en.m.wikipedia.org/wiki/Main_Page
Anda memerlukan alat berikut untuk menjalankan proyek:
Node v18 (Pembangunan gagal untuk versi Node >18)
Firebase CLI ( npm install -g firebase-tools
)
Untuk backend, buka direktori backend/functions
dan instal dependensi npm.
git clone [email protected]:jina-ai/reader.gitcd backend/fungsi instalasi npm
thinapps-shared
? Anda mungkin melihat referensi ke submodul thinapps-shared
, sebuah paket internal yang kami gunakan untuk berbagi kode di seluruh produk kami. Meskipun ini bukan sumber terbuka dan bukan merupakan bagian integral dari fungsi Pembaca, ini terutama membantu dekorator, logging, manajemen rahasia, dll. Jangan ragu untuk mengabaikannya untuk saat ini.
Meskipun demikian, ini adalah basis kode tunggal di belakang https://r.jina.ai
, jadi setiap kali kami berkomitmen di sini, kami akan menerapkan versi baru ke https://r.jina.ai
.
Silakan ajukan masalah terkait URL yang bermasalah. Kami akan memeriksanya dan mencoba memperbaikinya.
Pembaca didukung oleh Jina AI dan dilisensikan di bawah Apache-2.0.