Readme
Readme ini biasanya mendokumentasikan langkah apa pun yang diperlukan untuk menjalankan dan menjalankan aplikasi Anda.
Tumpukan Teknologi
- Python 3.9
- Fastapi
- FAISS-CPU == 1.7.4
- langchain == 0.0.207
- Pinecone-Client
- pgvektor
Integrasi pihak ketiga
- SendGrid - Mengirim email
- YouTube-Transcript-API-Mendapatkan SMS YouTube URL
- docx2txt - mendapatkan teks dari file docx
- PYPDF - Mendapatkan teks dari file PDF
- Selenium -Getting teks dari file URL
- loader dokumen lainnya dan data parsing librarires
Pengaturan Proyek
Instal dependensi dalam file persyaratan
- Pip instal -r persyaratan.txt
Tambahkan OpenAi dan Kunci API Lainnya dalam File Env
Rujuk sampel.env untuk nama variabel dan gunakan backend.env sebagai file env yang sebenarnya
Konfigurasikan variabel konstan di constant.py sesuai dengan kasus penggunaan Anda
Konfigurasi Database Vektor:
- Konfigurasikan aplikasi sesuai dengan database vektor Anda
Pedoman lebih lanjut:
- Ubah bagaimana data diuraikan sesuai dengan kebutuhan khusus Anda
- Ubah variabel konstan sesuai dengan kasus penggunaan
- Ubah kode boilerplate untuk kasus penggunaan spesifik proyek Anda
fitur
- titik akhir dan utilit untuk fungsi generik
- Buat embeddings vektor - dari video youtube, halaman html, sitemaps, url, pdf, docx, json, file teks, csv, atau database relasional
- tanya jawab berdasarkan data khusus dengan sumber yang tepat
- Hitungan dan token token melebihi penanganan kesalahan dengan Tiktoken
- Dukungan DB vektor yang berbeda untuk titik akhir differnt
Peningkatan di masa depan
- Streaming Respons OpenAi Real Time ke Frontend
- Tambahkan beberapa fungsi utilitas dan tingkatkan fungsionalitas yang sudah ada.
- membuat kode lebih modular dan dapat dikonfigurasi
Ide
- Pycharm
- Vs kode
- Teks luhur
Pengaturan Proyek
- Ringkasan Pengaturan
- Konfigurasi
- Dependensi
- Konfigurasi Basis Data
- Cara menjalankan tes
- Instruksi Penyebaran
Konvensi pengkodean
- Pep8
- Tulis kode modular dan dapat dikonfigurasi
- Jangan menaruh kode komentar atau impor yang tidak digunakan dalam kode utama
- Impor absolut harus digunakan sebagai ganti impor relatif
- Penggunaan string f bukan .format () atau %s
- Nama kelas harus di Camelcase
- Nama fungsi dan nama variabel harus di snake_case
- Penggunaan petunjuk jenis
- Penggunaan Docstrings
- Penggunaan logging
Pedoman Kontribusi
- Tes menulis
- Ulasan Kode
- Pedoman Lainnya
Integasi Redis
- Pasang Redis: Pip Instal Redis Aioredis
- Bekukan Persyaratan: Pip Freeze> Persyaratan.txt
- Tambahkan redis_host_url di file .env
- Redis Instance dibuat dalam file Main.py, di acara ON_STARTUP
Integrasi seledri
- Instal Seledri: Pip Instal Seledri
- Bekukan Persyaratan: Pip Freeze> Persyaratan.txt
- Tambahkan celery_broker_url di file .env
- Contoh seledri dibuat dalam modul inti, di celedy_app
- Tugas seledri dibuat dalam modul pekerja di direktori root
- Pekerja seledri mulai menggunakan perintah: seledri -a app.worker pekerja -l info -c 1
Integrasi mengalahkan seledri
- Instal Seledri: Pip Instal Seledri
- Bekukan Persyaratan: Pip Freeze> Persyaratan.txt
- Celery Beat Instance dibuat di modul pekerja di direktori root
- Saat menambahkan tugas baru, tambahkan mereka di modul pekerja di direktori root dengan waktu yang dijadwalkan dalam hitungan detik
- Celery Beat mulai menggunakan perintah: seledri -a app.worker beat -l info
Integrasi penjaga
- Instal Sentry SDK: Pip Instal Sentry-SDK
- Bekukan Persyaratan: Pip Freeze> Persyaratan.txt
- Sentry Instance dibuat dalam file Main.py