Daftar isi
Ringkasan
Fitur
Struktur repositori
Modul
Memulai
Instalasi
Menjalankan Laporan.ai
Mulai cepat
Peta jalan
Berkontribusi
Lisensi
Ucapan Terima Kasih
Di Report.ai, misi kami jelas: memberdayakan Anda dengan pengalaman pelaporan berbasis AI yang kuat. Kami telah melampaui batasan segmentasi berbasis panjang teks tradisional, memilih pendekatan yang lebih cerdas—segmentasi semantik. Metode inovatif ini memastikan ketepatan yang tak tertandingi dalam mengidentifikasi tema menyeluruh dan detail yang berbeda dalam konten Anda. Selain itu, kami melakukan upaya ekstra dengan menawarkan transkrip dan audio dalam setiap segmen, memberi Anda titik referensi yang dapat diandalkan untuk pemahaman komprehensif tentang konten Anda.
Daripada mengandalkan panjang teks, Report.ai mengelompokkan laporan Anda berdasarkan maknanya. Hal ini menghasilkan perincian konten yang lebih akurat, sehingga meningkatkan pemahaman Anda tentang materi.
Laporan kami lebih dari sekedar representasi teks. Setiap potongan semantik disajikan bersama transkrip interaktif, memungkinkan Anda menavigasi dan mereferensikan segmen audio asli dengan lancar.
Kami memberikan kekuatan penyesuaian di tangan Anda. Sesuaikan analisis Anda dengan mudah menggunakan templat kami yang dapat disesuaikan, sehingga memberdayakan Anda untuk mengekstrak wawasan yang penting bagi Anda.
Baik Anda bekerja dengan tautan YouTube, file audio dalam format WAV, atau transkrip teks dalam format TXT, kami siap membantu Anda. Report.ai menangani berbagai input multimedia dengan lancar, menjadikan pengalaman Anda komprehensif dan nyaman.
Bagi mereka yang ingin membangun database profesional, repositori kami menyediakan integrasi tanpa batas dengan Pinecone dan Chroma. Alat canggih ini menawarkan kemampuan pengelolaan dan pengambilan data yang unggul, sehingga meningkatkan nilai upaya pelaporan Anda.
└── baca saya/ ├── .env ├── VAD.py ├── bagi.py ├── contoh/ │ ├── WATCH_LIVE_Nvidia_Q2_Pendapatan_Panggilan_NVDA │ └── batch.txt ├── main.py ├── persyaratan.txt ├── s2t_whisper.py ├── penyimpanan_vector.py ├── ringkasan.py ├── templat/ │ ├── umum.txt │ └── individu.txt └── utils.py
Mengajukan | Ringkasan |
---|---|
persyaratan.txt | Memberikan daftar dependensi penting yang penting agar kode berfungsi dengan baik. |
.env | File .env berfungsi sebagai tempat penyimpanan pengaturan konfigurasi yang berkaitan dengan berbagai API, mencakup API dari OpenAI, Azure OpenAI, dan Pinecone. Dalam file ini, Anda akan menemukan informasi penting seperti kunci API, nama model, dan konfigurasi penyimpanan. |
utils.py | Di dalam file utils.py , Anda akan menemukan serangkaian fungsi utilitas yang lengkap. Fungsi-fungsi ini serbaguna dan mencakup berbagai tugas penting, termasuk: fuzzy_match: Untuk melakukan pencocokan string fuzzy. validasi_filetype: Memastikan validasi jenis file. deteksi_bahasa: Mendeteksi bahasa file teks. get_items: Mengekstrak item dari file template. add_hyperlink: Menambahkan hyperlink dalam dokumen Word. Divide_audio: Mengiris file audio menjadi beberapa segmen. get_file_list: Mengambil daftar jalur file. |
rangkum.py | Skrip summarize.py didedikasikan untuk menghasilkan ringkasan berdasarkan templat yang ditemukan di template/general.txt dan template/individual.txt. Ringkasan ini dapat diterjemahkan, jika diperlukan, dan kemudian diubah ke dalam format dokumen Microsoft Word (.docx). Sepanjang proses ini, dokumen diperkaya dengan hyperlink dan rincian kontekstual tambahan. |
s2t_whisper.py | s2t_whisper.py menyediakan fungsionalitas untuk mengunduh video YouTube, mengekstrak audio, menghilangkan keheningan, mengubah ucapan menjadi teks dengan stempel waktu, dan menambahkan tanda baca untuk konten berbahasa Mandarin. Transkrip yang dihasilkan disimpan dalam format JSON dan TXT. |
VAD.py | VAD.py digunakan untuk mengekstrak suara manusia dari file audio. Ini membagi audio menjadi beberapa bagian selama 10 menit, mengekspor setiap bagian sebagai file terpisah, dan mengekstrak suara manusia menggunakan perpustakaan Spleeter. Vokal yang diekstraksi kemudian digabungkan menjadi satu file audio. |
membagi.py | divide.py adalah yang membagi artikel menjadi subtopik berdasarkan transkripnya. Kelas ini memiliki beberapa metode pribadi: _string_cleaner membersihkan string input, _get_timestamp_list mengekstrak stempel waktu dari file JSON, _add_timestamp menambahkan stempel waktu ke subtopik, _add_transcript menambahkan transkrip ke dalam subtopik, dan _divide_by_subtopics menggunakan model bahasa untuk membagi artikel menjadi beberapa bagian. |
main.py | main.py adalah skrip serbaguna yang dirancang untuk analisis file dan pembuatan ringkasan. Ia menawarkan fleksibilitas yang luas dengan menerima berbagai argumen baris perintah, termasuk: File Path : Untuk menentukan file yang akan dianalisis. Chunk Size : Memungkinkan Anda menentukan ukuran segmen teks. Temperature of Language Model : Untuk menyempurnakan perilaku model bahasa. Batch Mode : Memungkinkan Anda untuk menunjukkan apakah skrip harus dijalankan dalam mode batch. Report Generation : Memberikan opsi untuk membuat laporan. Vector Database Selection : Memungkinkan Anda memilih antara basis data vektor Pinecone dan Chroma. ASR (Automatic Speech Recognition) Model : Untuk memilih model ASR yang sesuai untuk digunakan. |
penyimpanan_vektor.py | Skrip storage_vector.py menawarkan dua fungsi penting: pinecone_storage dan chrome_storage, keduanya dirancang untuk memfasilitasi penyimpanan hasil dalam database vektor. |
Mengajukan | Ringkasan |
---|---|
individuel.txt | Konten individuel.txt menyediakan item yang dianalisis dalam setiap subtopik. |
umum.txt | Konten general.txt menyediakan item yang dianalisis dalam keseluruhan transkrip. |
Mengajukan | Ringkasan |
---|---|
batch.txt | File batch.txt , digunakan untuk memfasilitasi pemrosesan banyak file. Hal ini dicapai dengan membuat daftar jalur file, dipisahkan dengan koma, untuk menunjukkan beberapa file mana yang akan diproses secara berurutan. |
WATCH_LIVE_Nvidia_Q2_Pendapatan_Panggilan_NVDA.txt | WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt , berisi transkrip hasil keuangan NVIDIA Kuartal 2 tahun 2023 dan webcast Tanya Jawab. |
Bendera Pendek | Bendera Panjang | Keterangan | Jenis | Status |
---|---|---|---|---|
- Hai | --keluaran_dir | Mengatur direktori keluaran untuk laporan, Defaultnya adalah ./docx | rangkaian | Pilihan |
- C | --bingkah | Menetapkan ukuran potongan untuk analisis. rekomendasi (GPT-3.5: 10000 di en, 2000 di zh, GPT-4: 18000 di en, 3600 di zh), Defaultnya adalah 2000 | Rangkaian | Pilihan |
- T | --suhu | Sesuaikan suhu LLM dalam kisaran 0 hingga 2, suhu lebih tinggi berarti lebih banyak kreativitas, Defaultnya adalah 0,1 | mengambang | Pilihan |
- e | --ekstrak | Ekstrak suara manusia dari audio atau tidak (Mac dengan silikon apel tidak didukung), Defaultnya adalah False | Boolean | Pilihan |
- B | --kelompok | Gunakan 'Benar' jika file teks input mencakup beberapa jalur file, Defaultnya adalah False | Boolean | Pilihan |
- v | --vektorDB | Pilih database vektor (pinecoene atau chrome), Defaultnya adalah Tidak Ada | rangkaian | Pilihan |
- M | --model | Pilih model bisikan ('tiny', 'base', 'small', 'medium', 'large-v2'), Defaultnya adalah medium | rangkaian | Pilihan |
Ketergantungan
Harap pastikan Anda telah menginstal dependensi berikut di sistem Anda:
- Aanaconda or Miniconda
- python >=3.7, <=3.9 (Apple silicon python >= 3.8, <=3.9)
- pytorch
Kloning repositori Report.ai:
git klon https://github.com/Shou-Hsu/Report.ai.git
Ubah ke direktori proyek:
cd Laporan.ai
Instal condanya:
instal minicode melalui https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html
Buat lingkungan virtual:
conda buat -n Report.ai python=3.9
Aktifkan lingkungan virtual:
conda mengaktifkan Report.ai
Instal pytorch:
instal pytorch melalui https://pytorch.org/get-started/locally/
Instal ffmpeg dan libsndfile:
conda install -c conda-forge ffmpeg libsndfile
Instal dependensi:
instalasi pip -r persyaratan.txt
(Khusus Mac) Perbarui dependensi:
instalasi pip -U numba
python main.py <file_path> -c 10000
Mengatur kredensial Openai atau Azure openai dalam file .env. Selanjutnya, mengatur kredensial Pinecone atau Chroma jika bertujuan untuk menyimpan data di VectorDB.
# pilih salah satu penyedia model gpt Azure atau OpenAI# Azure openAI credentialAZURE_OPENAI_API_KEY= AZURE_OPENAI_API_BASE= AZURE_OPENAI_API_VERSION= AZURE_OPENAI_API_TYPE= AZURE_DEPLOYMENT_NAME= EMBEDDING_DEPLOYMENT_NAME= #hanya jika Anda menggunakan Azure OpenAI# # Kredensial OpenAIOPENAI_API_KEY= MODEL_NAME=# # kredensial biji pinus (opsi)PINECONE_API_KEY= PINECONE_ENV=# ChromaDB (opsi)PERSIST_DIR= COLLCTION_NAME=
Ubah tempelete/general.txt dan tempelete/individuel.txt (Item analisis dipisahkan dengan tanda ",")
#Misalnya, jika Anda ingin menganalisis "panggilan pendapatan": Anda dapat mengatur "Topik, Ringkasan, penjelasan CFO tentang situasi keuangan jangka pendek, deskripsi CEO tentang prospek perusahaan, Isu-isu yang menjadi perhatian pasar" di tempelete/ umum.txt Secara bersamaan, atur "Abstrak, Wawasan Investasi, Kata Kunci" di tempelete/individuel.txt#Jika Anda ingin membuat ringkasan singkat tentang "pertemuan rutin": Anda dapat mengatur "Topik, Ringkasan, Fitur kerja" di tempelete/ umum.txt Secara bersamaan, atur "Abstrak, item tindakan, Kata Kunci" di tempelete/individuel.txt
Jalankan Report.ai di baris perintah
python main.py contoh/WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt -c 10000
Publish project as a Python library via PyPI for easy installation.
Make project available as a Docker image on Docker Hub.
Diskusi
Bergabunglah dalam diskusi di sini.
Edisi Baru
Laporkan bug atau minta fitur di sini.
Pedoman Berkontribusi
MIT.
Langchain, OpenAI, Biji Pinus, Chroma, Spleeter
Kembali