DocsScraper adalah paket yang dirancang untuk membuat "paket pengetahuan" dari situs dokumentasi online untuk bahasa Julia.
Ini mengikis dan mem-parsing URL dan dengan bantuan PromptingTools.jl, membuat indeks potongan dan penyematannya yang dapat digunakan dalam aplikasi RAG. Ini terintegrasi dengan AIHelpMe.jl dan PromptingTools.jl untuk menawarkan pengambilan kueri yang sangat efisien dan relevan, memastikan bahwa respons yang dihasilkan oleh sistem spesifik untuk konten dalam database yang dibuat.
Untuk menginstal DocsScraper, gunakan manajer paket Julia dan nama paket (belum terdaftar):
using Pkg
Pkg . add (url = " https://github.com/JuliaGenAI/DocsScraper.jl " )
Prasyarat:
using DocsScraper
crawlable_urls = [ " https://juliagenai.github.io/DocsScraper.jl/dev " ]
index_path = make_knowledge_packs (crawlable_urls;
index_name = " docsscraper " , embedding_dimension = 1024 , embedding_bool = true , target_path = " knowledge_packs " )
[ Info : robots . txt unavailable for https : // juliagenai . github . io : / DocsScraper . jl / dev / home /
[ Info : Scraping link : https : // juliagenai . github . io : / DocsScraper . jl / dev / home /
[ Info : robots . txt unavailable for https : // juliagenai . github . io : / DocsScraper . jl / dev
[ Info : Scraping link : https : // juliagenai . github . io : / DocsScraper . jl / dev
. . .
[ Info : Processing https : // juliagenai . github . io : / DocsScraper . jl / dev ...
[ Info : Parsing URL : https : // juliagenai . github . io : / DocsScraper . jl / dev
[ Info : Scraping done : 44 chunks
[ Info : Removed 0 short chunks
[ Info : Removed 1 duplicate chunks
[ Info : Created embeddings for docsscraper. Cost : $ 0. 001
a docsscraper__v20240823__textembedding3large - 1024 - Bool__v1. 0. hdf5
[ Info : ARTIFACT : docsscraper__v20240823__textembedding3large - 1024 - Bool__v1. 0. tar . gz
┌ Info : sha256 :
└ sha = " 977c2b9d9fe30bebea3b6db124b733d29b7762a8f82c9bd642751f37ad27ee2e "
┌ Info : git - tree - sha1 :
└ git_tree_sha = " eca409c0a32ed506fbd8125887b96987e9fb91d2 "
[ Info : Saving source URLS in Julia knowledge_packs docsscraper docsscraper_URL_mapping . csv
" Julia \ knowledge_packs \ docsscraper \ Index \ docsscraper__v20240823__textembedding3large-1024-Bool__v1.0.hdf5 "
make_knowledge_packs
adalah titik masuk ke paket. Fungsi ini mengambil URL untuk diurai dan mengembalikan indeks. Indeks ini dapat diteruskan ke AIHelpMe.jl untuk menjawab pertanyaan tentang paket pengetahuan yang dibangun.
Parameter make_knowledge_packs
bawaan:
embedding_bool = true
.embedding_dimension = custom_dimension
.max_chunk_size = custom_max_size
dan min_chunk_size = custom_min_size
. Catatan: Untuk penggunaan sehari-hari, ukuran penyematan = 1024 dan tipe penyematan = Bool sudah cukup. Ini kompatibel dengan saluran pipa :bronze
dan :silver
AIHelpMe ( update_pipeline(:bronze)
). Untuk hasil yang lebih baik gunakan ukuran penyematan = 3072 dan tipe penyematan = Float32. Ini memerlukan penggunaan :gold
pipeline (lihat selengkapnya ?RAG_CONFIGURATIONS
)
using AIHelpMe
using AIHelpMe : pprint, load_index!
# set it as the "default" index, then it will be automatically used for every question
load_index! (index_path)
aihelp ( " what is DocsScraper.jl? " ) |> pprint
[ Info : Updated RAG pipeline to ` :bronze ` (Configuration key : " textembedding3large-1024-Bool " ) .
[ Info : Loaded index from packs : julia into MAIN_INDEX
[ Info : Loading index from Julia DocsScraper . jl docsscraper Index docsscraper__v20240823__textembedding3large - 1024 - Bool__v1. 0. hdf5
[ Info : Loaded index a file Julia DocsScraper . jl docsscraper Index docsscraper__v20240823__textembedding3large - 1024 - Bool__v1. 0. hdf5 into MAIN_INDEX
[ Info : Done with RAG. Total cost : $ 0. 009
--------------------
AI Message
--------------------
DocsScraper . jl is a Julia package designed to create a vector database from input URLs. It scrapes and parses the URLs and, with the assistance of
PromptingTools . jl, creates a vector store that can be utilized in RAG (Retrieval - Augmented Generation) applications. DocsScraper . jl integrates with
AIHelpMe . jl and PromptingTools . jl to provide efficient and relevant query retrieval, ensuring that the responses generated by the system are specific to the content in the created database.
Tip: Gunakan pprint
untuk keluaran yang lebih bagus dengan sumber dan last_result
untuk keluaran yang lebih detail (dengan sumber).
using AIHelpMe : last_result
# last_result() returns the last result from the RAG pipeline, ie, same as running aihelp(; return_all=true)
print ( last_result ())
make_knowledge_packs
membuat file berikut:
index_name
│
├── Index
│ ├── index_name__artifact__info.txt
│ ├── index_name__vDate__model_embedding_size-embedding_type__v1.0.hdf5
│ └── index_name__vDate__model_embedding_size-embedding_type__v1.0.tar.gz
│
├── Scraped_files
│ ├── scraped_hostname-chunks-max-chunk_size-min-min_chunk_size.jls
│ ├── scraped_hostname-sources-max-chunk_size-min-min_chunk_size.jls
│ └── . . .
│
└── index_name_URL_mapping.csv
Proyek ini dikembangkan sebagai bagian dari program Google Summer of Code (GSoC). GSoC adalah program global yang menawarkan tunjangan pengembang mahasiswa untuk menulis kode untuk proyek sumber terbuka. Kami berterima kasih atas dukungan dan peluang yang diberikan oleh Google dan komunitas sumber terbuka melalui inisiatif ini.