Ini adalah program Python yang secara otomatis menghasilkan "daftar luar biasa" untuk kata kunci tertentu sebagai file penurunan harga. "Daftar Luar Biasa" adalah daftar sumber daya yang terkait dengan topik tertentu. Saat ini, sumber daya termasuk proyek GitHub, artikel Google Cendekia, video YouTube, kursus, slide dan presentasi, perangkat lunak dan alat dan podcast. Daftar yang luar biasa secara otomatis dihasilkan menggunakan model GPT; Anda dapat memilih antara model yang berbeda untuk menghasilkan daftar, seperti GPT 3.5 atau GPT 4.
poetry install OPENAI_API_KEY=<your_openai_api_key>
Akun Google.
Kunjungi Google Cloud Console.
Jika Anda belum melakukannya, buat proyek baru dengan mengklik dropdown "Pilih proyek" di sudut kanan atas, lalu klik "Proyek Baru".
Setelah proyek Anda dibuat dan dipilih, navigasikan ke menu navigasi (tiga garis horizontal di sudut kiri atas), lalu klik pada "APIS & Services"> "Kredensial".
Klik tombol "Buat Kredensial" dan pilih "Kunci API". Setelah dibuat, kunci API Anda akan ditampilkan.
Salin kunci API Anda dan simpan dengan aman. Anda akan menggunakan kunci ini di aplikasi Anda untuk mengotentikasi permintaan Anda.
Buka Beranda Pencarian Kustom Google.
Klik "Buat mesin pencari khusus".
Di bagian "Situs untuk Mencari", Anda dapat menentukan situs web yang ingin Anda cari atau pilih "Cari seluruh web" untuk memungkinkan kemampuan pencarian yang lebih luas. Namun, jika Anda memilih "Cari seluruh web", pastikan untuk beralih "Pencarian hanya termasuk situs" di bawah bagian "Situs untuk Mencari".
Isi bidang lain yang diperlukan seperti nama mesin pencari Anda.
Klik tombol "Buat" di bagian bawah.
Setelah mesin pencari Anda dibuat, Anda akan diarahkan ke halaman pengaturan. Di sini, temukan dan salin "ID mesin pencari" (juga disebut "CX" dalam beberapa konteks). Anda akan menggunakan ID ini di aplikasi Anda untuk menentukan mesin pencari khusus mana yang akan digunakan untuk kueri.
Akhirnya, tambahkan variabel lingkungan berikut ke file .env:
GOOGLE_CLOUD_API_KEY='<google cloud api key>'
CUSTOM_SEARCH_ENGINE_ID='<custom search engine id>'
Kami telah menyediakan antarmuka streamlit untuk menjalankan aplikasi ini. Untuk menggunakannya:
Jalankan aplikasi streamlit menggunakan puisi:
poetry run streamlit run streamlit_run.py Buka http://localhost:8501
Anda dapat dengan mudah memasukkan parameter yang diperlukan (seperti jenis model, kata kunci, dan deskripsi) melalui UI dan menghasilkan daftar yang luar biasa!
Kelas utama yang digunakan dalam proyek ini adalah AwesomeListGenerator . Kelas ini menerima parameter berikut:
keyword : String yang mewakili kata kunci yang akan dihasilkan oleh daftar mengagumkan.description : String yang memberikan deskripsi yang terkait dengan kata kunci.model : String yang mewakili model OpenAI yang akan digunakan untuk menghasilkan markdown (default adalah "GPT-3.5-turbo-16k").data_extraction_batch_size : Integer yang mewakili jumlah item data untuk diproses di setiap batch (default adalah 10). Misalnya, jika ukuran batch adalah 10, maka data akan diambil dari sumber data dalam batch 10 (seperti 10 proyek github sekaligus).number_of_results : Integer yang mewakili jumlah hasil untuk mengambil dari setiap sumber data (default adalah 20). Jumlah hasil untuk diambil dari setiap sumber data (default adalah 20). Misalnya, ambil 20 proyek github kemudian memprosesnya dengan model LLM dalam batch berdasarkan data_extraction_batch_size. Setelah menginisialisasi kelas dengan parameter ini, adon metode save_and_return_awesome_list untuk menghasilkan file markdown. Inilah contohnya:
# Initialize an instance of the AwesomeListGenerator
generator = AwesomeListGenerator ( keyword = "Your Keyword" ,
description = "Your Description" ,
model = "gpt-3.5-turbo-16k" ,
data_extraction_batch_size = 10 ,
number_of_results = 20 )
# Generate and save the markdown
markdown_content = generator . save_and_return_awesome_list () Program ini akan menghasilkan file markdown di direktori output yang dinamai kata kunci Anda (misalnya, Your_Keyword.md ). File ini berisi "daftar luar biasa" yang dihasilkan oleh program.
Program AwesomeListGenerator beroperasi dalam dua fase utama: pengikis data dan pemrosesan data.
Dalam fase pengikisan data, program mengambil sumber daya yang terkait dengan kata kunci yang Anda sediakan dari beberapa sumber data. Saat ini, sumber daya termasuk repositori gitub, artikel Google Cendekia, video YouTube, dan podcast. Program ini menggunakan pencakar khusus untuk setiap sumber, yang masing -masing dirancang untuk mengambil sumber daya yang paling relevan dan berkualitas tinggi.
Misalnya, Github Scraper mengambil repositori yang cocok dengan kata kunci, diurutkan berdasarkan jumlah bintang (indikator umum relevansi dan kualitas repositori). Demikian pula, Google Scholar Scraper mengambil artikel yang terkait dengan kata kunci dan diurutkan berdasarkan jumlah kutipan.
Setelah data dikikis, diteruskan ke fase pemrosesan data. Pada fase ini, program menggunakan model GPT yang dipilih untuk memproses sumber daya yang diambil. Model menyaring dan memberi peringkat sumber daya berdasarkan relevansi dengan kata kunci, kualitas konten, dan potensi kegunaan bagi pengguna. Model GPT juga memformat data ke dalam daftar penurunan harga, menambahkan pemformatan yang diperlukan seperti tautan dan deskripsi singkat.
Khususnya, baik operasi pengikisan dan pemrosesan dieksekusi dalam batch. Operasi Batch-Wise ini memungkinkan program untuk mendukung sebanyak mungkin hasil, berdasarkan pada number_of_results yang dikonfigurasi dan data_extraction_batch_size . Dengan cara ini, Anda memiliki kendali atas tingkat data yang ditangani pada suatu waktu, memastikan penggunaan sumber daya yang efisien.
Kami ingin memperluas jumlah sumber data di masa depan. Berikut adalah beberapa ide yang kami pikirkan:
Jika Anda tertarik untuk berkontribusi, Anda dapat memilih salah satu tugas di atas atau mengusulkan ide -ide Anda sendiri. Kami menyambut semua jenis kontribusi dan menghargai minat Anda pada proyek kami!
Kami senang melihat daftar luar biasa yang luar biasa yang dibuat oleh komunitas kami. Jika Anda menggunakan alat kami untuk menghasilkan daftar yang luar biasa, jangan ragu untuk memberi tahu kami, dan kami akan menampilkan proyek Anda di sini!
Apakah Anda menganggap proyek ini bermanfaat? Jika itu membawa nilai bagi Anda, tolong beri kami A di GitHub. Gerakan ini tidak hanya memvalidasi upaya kami tetapi juga membantu proyek ini menjangkau lebih banyak orang dan melanjutkan pengembangan.
Jangan ragu untuk membayar repositori, berkontribusi dengan mengirimkan permintaan tarik, atau membuka masalah. Umpan balik dan kontribusi Anda selalu diterima!