

Klon Repositori:
git clone https://github.com/open-kf/rag-gpt.git && cd rag-gptSebelum memulai layanan RAG-GPT, Anda perlu memodifikasi konfigurasi terkait untuk program untuk diinisialisasi dengan benar.
cp env_of_openai .envVariabel di .env
LLM_NAME= " OpenAI "
OPENAI_API_KEY= " xxxx "
GPT_MODEL_NAME= " gpt-4o-mini "
MIN_RELEVANCE_SCORE=0.4
BOT_TOPIC= " xxxx "
URL_PREFIX= " http://127.0.0.1:7000/ "
USE_PREPROCESS_QUERY=1
USE_RERANKING=1
USE_DEBUG=0
USE_LLAMA_PARSE=0
LLAMA_CLOUD_API_KEY= " xxxx "
USE_GPT4O=0LLM_NAMEOPENAI_API_KEY dengan kunci Anda sendiri. Harap masuk ke situs web OpenAI untuk melihat kunci API Anda.GPT_MODEL_NAME , mengganti gpt-4o-mini dengan gpt-4-turbo atau gpt-4o jika Anda ingin menggunakan GPT-4.BOT_TOPIC untuk mencerminkan nama bot Anda. Ini sangat penting, karena akan digunakan dalam Prompt Construction . Silakan coba gunakan kata yang ringkas dan jelas, seperti OpenIM , LangChain .URL_PREFIX untuk mencocokkan domain situs web Anda. Ini terutama untuk menghasilkan tautan URL yang dapat diakses untuk file lokal yang diunggah. Seperti http://127.0.0.1:7000/web/download_dir/2024_05_20/d3a01d6a-90cd-4c2a-b926-9cda12466caf/openssl-cookbook.pdf .USE_LLAMA_PARSE ke 1 jika Anda ingin menggunakan LlamaParse .LLAMA_CLOUD_API_KEY dengan kunci Anda sendiri. Harap masuk ke situs web LlamaCloud untuk melihat kunci API Anda.USE_GPT4O ke 1 jika Anda ingin menggunakan mode GPT-4o .server/constant . Jika Anda tidak dapat menggunakan Layanan API OpenAI, pertimbangkan untuk menggunakan ZhipUai sebagai alternatif.
cp env_of_zhipuai .envVariabel di .env
LLM_NAME= " ZhipuAI "
ZHIPUAI_API_KEY= " xxxx "
GLM_MODEL_NAME= " glm-4-air "
MIN_RELEVANCE_SCORE=0.4
BOT_TOPIC= " xxxx "
URL_PREFIX= " http://127.0.0.1:7000/ "
USE_PREPROCESS_QUERY=1
USE_RERANKING=1
USE_DEBUG=0
USE_LLAMA_PARSE=0
LLAMA_CLOUD_API_KEY= " xxxx "LLM_NAMEZHIPUAI_API_KEY dengan kunci Anda sendiri. Harap masuk ke situs web ZhipUai untuk melihat kunci API Anda.GLM_MODEL_NAME , daftar modelnya adalah ['glm-3-turbo', 'glm-4', 'glm-4-0520', 'glm-4-air', 'glm-4-airx', 'glm-4-flash'] .BOT_TOPIC untuk mencerminkan nama bot Anda. Ini sangat penting, karena akan digunakan dalam Prompt Construction . Silakan coba gunakan kata yang ringkas dan jelas, seperti OpenIM , LangChain .URL_PREFIX untuk mencocokkan domain situs web Anda. Ini terutama untuk menghasilkan tautan URL yang dapat diakses untuk file lokal yang diunggah. Seperti http://127.0.0.1:7000/web/download_dir/2024_05_20/d3a01d6a-90cd-4c2a-b926-9cda12466caf/openssl-cookbook.pdf .USE_LLAMA_PARSE ke 1 jika Anda ingin menggunakan LlamaParse .LLAMA_CLOUD_API_KEY dengan kunci Anda sendiri. Harap masuk ke situs web LlamaCloud untuk melihat kunci API Anda.server/constant . Jika Anda tidak dapat menggunakan layanan API OpenAI, pertimbangkan untuk menggunakan Deepseek sebagai alternatif.
Catatan
Deepseek tidak menyediakan Embedding API , jadi di sini kita menggunakan Embedding API Zhipuai.
cp env_of_deepseek .envVariabel di .env
LLM_NAME= " DeepSeek "
ZHIPUAI_API_KEY= " xxxx "
DEEPSEEK_API_KEY= " xxxx "
DEEPSEEK_MODEL_NAME= " deepseek-chat "
MIN_RELEVANCE_SCORE=0.4
BOT_TOPIC= " xxxx "
URL_PREFIX= " http://127.0.0.1:7000/ "
USE_PREPROCESS_QUERY=1
USE_RERANKING=1
USE_DEBUG=0
USE_LLAMA_PARSE=0
LLAMA_CLOUD_API_KEY= " xxxx "LLM_NAMEZHIPUAI_API_KEY dengan kunci Anda sendiri. Harap masuk ke situs web ZhipUai untuk melihat kunci API Anda.DEEPKSEEK_API_KEY dengan kunci Anda sendiri. Harap masuk ke situs web Deepseek untuk melihat kunci API Anda.DEEPSEEK_MODEL_NAME jika Anda ingin menggunakan model Deepseek lainnya.BOT_TOPIC untuk mencerminkan nama bot Anda. Ini sangat penting, karena akan digunakan dalam Prompt Construction . Silakan coba gunakan kata yang ringkas dan jelas, seperti OpenIM , LangChain .URL_PREFIX untuk mencocokkan domain situs web Anda. Ini terutama untuk menghasilkan tautan URL yang dapat diakses untuk file lokal yang diunggah. Seperti http://127.0.0.1:7000/web/download_dir/2024_05_20/d3a01d6a-90cd-4c2a-b926-9cda12466caf/openssl-cookbook.pdf .USE_LLAMA_PARSE ke 1 jika Anda ingin menggunakan LlamaParse .LLAMA_CLOUD_API_KEY dengan kunci Anda sendiri. Harap masuk ke situs web LlamaCloud untuk melihat kunci API Anda.server/constant . Jika Anda tidak dapat menggunakan layanan API OpenAI, pertimbangkan untuk menggunakan Moonshot sebagai alternatif.
Catatan
Moonshot tidak memberikan Embedding API , jadi di sini kita menggunakan Embedding API Zhipuai.
cp env_of_moonshot .envVariabel di .env
LLM_NAME= " Moonshot "
ZHIPUAI_API_KEY= " xxxx "
MOONSHOT_API_KEY= " xxxx "
MOONSHOT_MODEL_NAME= " moonshot-v1-8k "
MIN_RELEVANCE_SCORE=0.4
BOT_TOPIC= " xxxx "
URL_PREFIX= " http://127.0.0.1:7000/ "
USE_PREPROCESS_QUERY=1
USE_RERANKING=1
USE_DEBUG=0
USE_LLAMA_PARSE=0
LLAMA_CLOUD_API_KEY= " xxxx "LLM_NAMEZHIPUAI_API_KEY dengan kunci Anda sendiri. Harap masuk ke situs web ZhipUai untuk melihat kunci API Anda.MOONSHOT_API_KEY dengan kunci Anda sendiri. Harap masuk ke situs web Moonshot untuk melihat kunci API Anda.MOONSHOT_MODEL_NAME jika Anda ingin menggunakan model moonshot lainnya.BOT_TOPIC untuk mencerminkan nama bot Anda. Ini sangat penting, karena akan digunakan dalam Prompt Construction . Silakan coba gunakan kata yang ringkas dan jelas, seperti OpenIM , LangChain .URL_PREFIX untuk mencocokkan domain situs web Anda. Ini terutama untuk menghasilkan tautan URL yang dapat diakses untuk file lokal yang diunggah. Seperti http://127.0.0.1:7000/web/download_dir/2024_05_20/d3a01d6a-90cd-4c2a-b926-9cda12466caf/openssl-cookbook.pdf .USE_LLAMA_PARSE ke 1 jika Anda ingin menggunakan LlamaParse .LLAMA_CLOUD_API_KEY dengan kunci Anda sendiri. Harap masuk ke situs web LlamaCloud untuk melihat kunci API Anda.server/constant . Jika basis pengetahuan Anda melibatkan informasi sensitif dan Anda lebih suka tidak menggunakan LLM berbasis cloud, pertimbangkan untuk menggunakan Ollama untuk menggunakan model besar secara lokal.
Catatan
Pertama, lihat ollama untuk menginstal ollama , dan unduh model embedding mxbai-embed-large dan model LLM seperti llama3 .
cp env_of_ollama .envVariabel di .env
LLM_NAME= " Ollama "
OLLAMA_MODEL_NAME= " xxxx "
OLLAMA_BASE_URL= " http://127.0.0.1:11434 "
MIN_RELEVANCE_SCORE=0.4
BOT_TOPIC= " xxxx "
URL_PREFIX= " http://127.0.0.1:7000/ "
USE_PREPROCESS_QUERY=1
USE_RERANKING=1
USE_DEBUG=0
USE_LLAMA_PARSE=0
LLAMA_CLOUD_API_KEY= " xxxx "LLM_NAMEOLLAMA_MODEL_NAME , pilih model yang sesuai dari Perpustakaan Ollama.IP:PORT saat memulai Ollama , harap perbarui OLLAMA_BASE_URL . Harap beri perhatian khusus, hanya masukkan IP (domain) dan port di sini, tanpa menambahkan URI.BOT_TOPIC untuk mencerminkan nama bot Anda. Ini sangat penting, karena akan digunakan dalam Prompt Construction . Silakan coba gunakan kata yang ringkas dan jelas, seperti OpenIM , LangChain .URL_PREFIX untuk mencocokkan domain situs web Anda. Ini terutama untuk menghasilkan tautan URL yang dapat diakses untuk file lokal yang diunggah. Seperti http://127.0.0.1:7000/web/download_dir/2024_05_20/d3a01d6a-90cd-4c2a-b926-9cda12466caf/openssl-cookbook.pdf .USE_LLAMA_PARSE ke 1 jika Anda ingin menggunakan LlamaParse .LLAMA_CLOUD_API_KEY dengan kunci Anda sendiri. Harap masuk ke situs web LlamaCloud untuk melihat kunci API Anda.server/constant .Catatan
Saat menggunakan Docker, beri perhatian khusus pada host URL_PREFIX di file .env . Jika menggunakan Ollama , juga perhatikan host ollama_base_url dalam file .env . Mereka perlu menggunakan alamat IP yang sebenarnya dari mesin host.
docker-compose up --buildCatatan
Harap gunakan Python Versi 3.10.x atau lebih tinggi.
Disarankan untuk memasang dependensi terkait Python di lingkungan virtual Python untuk menghindari mempengaruhi dependensi proyek lain.
Jika Anda belum membuat lingkungan virtual, Anda dapat membuatnya dengan perintah berikut:
python3 -m venv myenvSetelah pembuatan, aktifkan lingkungan virtual:
source myenv/bin/activate Setelah lingkungan virtual diaktifkan, Anda dapat menggunakan pip untuk memasang dependensi yang diperlukan.
pip install -r requirements.txtLayanan Rag-GPT menggunakan SQLite sebagai penyimpanannya DB. Sebelum memulai layanan Rag-GPT, Anda perlu menjalankan perintah berikut untuk menginisialisasi database dan menambahkan konfigurasi default untuk konsol admin.
python3 create_sqlite_db.pyJika Anda telah menyelesaikan langkah-langkah di atas, Anda dapat mencoba memulai layanan Rag-GPT dengan menjalankan perintah berikut.
python3 rag_gpt_app.pysh start.shCatatan
7000 . Selama tes pertama, cobalah untuk tidak mengubah port sehingga Anda dapat dengan cepat mengalami seluruh proses produk.start.sh dalam mode multi-proses untuk pengalaman pengguna yang lebih halus. Akses konsol admin melalui tautan http://your-server-ip:7000/open-kf-admin/ untuk mencapai halaman login. Nama pengguna dan kata sandi default adalah admin dan open_kf_AIGC@2024 (dapat diperiksa di create_sqlite_db.py ).

Setelah masuk dengan sukses, Anda akan dapat melihat halaman konfigurasi konsol admin.

Di halaman http://your-server-ip:7000/open-kf-admin/#/ , Anda dapat mengatur konfigurasi berikut:
gpt-3.5-turbo yang tersedia, yang secara bertahap akan diperluas. Setelah mengirimkan URL situs web, setelah server mengambil daftar semua URL halaman web melalui merangkak, Anda dapat memilih URL halaman web yang Anda butuhkan sebagai basis pengetahuan (semua dipilih secara default). Status awal Recorded .

Anda dapat secara aktif menyegarkan halaman http://your-server-ip:7000/open-kf-admin/#/source di browser Anda untuk mendapatkan kemajuan pemrosesan URL halaman web. Setelah konten URL halaman web telah dirangkak, dan perhitungan dan penyimpanan embedding selesai, Anda dapat melihat Size yang sesuai di konsol admin, dan Status juga akan diperbarui untuk Trained .

Mengklik URL halaman web mengungkapkan berapa banyak sub-halaman halaman web dibagi menjadi, dan ukuran teks setiap sub-halaman.

Mengklik pada sub-halaman memungkinkan Anda untuk melihat konten teks lengkapnya. Ini akan sangat membantu untuk memverifikasi efek selama proses pengujian pengalaman.

Kumpulkan URL dari halaman web yang diperlukan. Anda dapat mengirimkan hingga 10 URL halaman web sekaligus, dan halaman -halaman ini dapat berasal dari domain yang berbeda.

Unggah file lokal yang diperlukan. Anda dapat mengunggah hingga 10 file sekaligus, dan setiap file tidak dapat melebihi 30MB . Jenis file berikut saat ini didukung: [".txt", ".md", ".pdf", ".epub", ".mobi", ".html", ".docx", ".pptx", ".xlsx", ".csv"] .

Setelah mengimpor data situs web di konsol admin, Anda dapat mengalami layanan chatbot melalui tautan http://your-server-ip:7000/open-kf-chatbot/ .

Melalui tautan konsol admin http://your-server-ip:7000/open-kf-admin/#/embed , Anda dapat melihat tutorial terperinci untuk mengkonfigurasi iframe di situs web Anda.


Melalui tautan konsol admin http://your-server-ip:7000/open-kf-admin/#/dashboard , Anda dapat melihat catatan permintaan historis dari semua pengguna dalam rentang waktu yang ditentukan.

Layanan RAG-GPT mengintegrasikan 2 modul frontend, dan informasi kode sumbernya adalah sebagai berikut:
Repositori Kode
Antarmuka admin berbasis web yang intuitif untuk layanan QA pintar, menawarkan kontrol komprehensif atas konten, konfigurasi, dan interaksi pengguna. Mengaktifkan manajemen yang mudah dari basis pengetahuan, pemantauan permintaan dan umpan balik secara real-time, dan peningkatan berkelanjutan berdasarkan wawasan pengguna.
Repositori Kode
Antarmuka HTML5 untuk layanan QA pintar yang dirancang untuk integrasi yang mudah ke situs web melalui IFRAME, memberikan pengguna akses langsung ke basis pengetahuan yang disesuaikan tanpa meninggalkan situs, meningkatkan fungsionalitas dan resolusi kueri langsung.