Jadual Kandungan
Pengenalan kepada RAG
Pembangunan tangan
Ringkasnya
Rumah Peranti teknologi AI Tingkatkan kecekapan kejuruteraan - penjanaan carian dipertingkat (RAG)

Tingkatkan kecekapan kejuruteraan - penjanaan carian dipertingkat (RAG)

Oct 14, 2023 pm 08:17 PM
gpt-3 Projek segera rag

Dengan kemunculan model bahasa berskala besar seperti GPT-3, penemuan besar telah dibuat dalam bidang pemprosesan bahasa semula jadi (NLP). Model bahasa ini mempunyai keupayaan untuk menjana teks seperti manusia dan telah digunakan secara meluas dalam pelbagai senario seperti chatbots dan terjemahan

Tingkatkan kecekapan kejuruteraan - penjanaan carian dipertingkat (RAG)

Walau bagaimanapun, apabila ia berkaitan dengan senario aplikasi khusus dan tersuai, model bahasa besar tujuan umum Mungkin terdapat menjadi kekurangan dalam pengetahuan profesional. Penalaan halus model ini dengan korpora khusus selalunya mahal dan memakan masa. "Retrieval Enhanced Generation" (RAG) menyediakan penyelesaian teknologi baharu untuk aplikasi profesional.​ ​ ​

Tingkatkan kecekapan kejuruteraan - penjanaan carian dipertingkat (RAG)

Di bawah ini kami memperkenalkan terutamanya cara RAG berfungsi, dan menggunakan contoh praktikal untuk menggunakan manual produk sebagai korpus profesional dan menggunakan GPT-3.5 Turbo sebagai model soal jawab untuk mengesahkan keberkesanannya.

Kes: Bangunkan chatbot yang mampu menjawab soalan berkaitan produk tertentu. Perniagaan ini mempunyai manual pengguna yang unik

Pengenalan kepada RAG

RAG menyediakan penyelesaian yang berkesan untuk soalan dan jawapan khusus domain. Ia terutamanya menukar pengetahuan industri kepada vektor untuk penyimpanan dan pengambilan, menggabungkan hasil carian dengan soalan pengguna untuk membentuk maklumat segera, dan akhirnya menggunakan model besar untuk menjana jawapan yang sesuai. Dengan menggabungkan mekanisme perolehan semula dan model bahasa, responsif model dipertingkatkan dengan sangat baik

Langkah-langkah untuk mencipta program chatbot adalah seperti berikut:

  1. Baca PDF (fail PDF manual pengguna) dan tandakannya menggunakan chunk_size untuk 1000 token .
  2. Buat vektor (anda boleh menggunakan OpenAI EmbeddingsAPI untuk mencipta vektor).
  3. Simpan vektor dalam perpustakaan vektor tempatan. Kami akan menggunakan ChromaDB sebagai pangkalan data vektor (pangkalan data vektor juga boleh digantikan dengan Pinecone atau produk lain).
  4. Pengguna menyiarkan petua dengan pertanyaan/pertanyaan.
  5. Dapatkan data konteks pengetahuan daripada pangkalan data vektor berdasarkan soalan pengguna. Data konteks pengetahuan ini akan digunakan bersama-sama dengan kata-kata kiu dalam langkah-langkah seterusnya untuk meningkatkan kata-kata kiu, sering dirujuk sebagai pengayaan kontekstual.
  6. Kata gesaan yang mengandungi soalan pengguna dihantar ke LLM bersama-sama dengan pengetahuan kontekstual yang dipertingkatkan
  7. Jawapan LLM berdasarkan konteks ini.

Pembangunan tangan

(1) Sediakan persekitaran maya Python Sediakan persekitaran maya untuk sandbox Python kami untuk mengelakkan sebarang versi atau konflik pergantungan. Jalankan arahan berikut untuk mencipta persekitaran maya Python baharu.

需要重写的内容是:pip安装virtualenv,python3 -m venv ./venv,source venv/bin/activate
Salin selepas log masuk

Kandungan yang perlu ditulis semula ialah: (2) Jana kunci OpenAI

Menggunakan GPT memerlukan kunci OpenAI untuk akses

Tingkatkan kecekapan kejuruteraan - penjanaan carian dipertingkat (RAG)

Kandungan yang perlu ditulis semula ialah: (3) Pasang perpustakaan bergantung

Pelbagai kebergantungan diperlukan oleh pemasang. Termasuk perpustakaan berikut:

  • lanchain: rangka kerja untuk membangunkan aplikasi LLM.
  • chromaDB: Ini ialah VectorDB untuk pembenaman vektor berterusan.
  • tidak berstruktur: digunakan untuk pramemproses dokumen Word/PDF.
  • tiktoken: Rangka kerja Tokenizer
  • pypdf: Rangka kerja untuk membaca dan memproses dokumen PDF.
  • openai: Akses rangka kerja OpenAI.
pip install langchainpip install unstructuredpip install pypdfpip install tiktokenpip install chromadbpip install openai
Salin selepas log masuk

Buat pembolehubah persekitaran untuk menyimpan kunci OpenAI.

export OPENAI_API_KEY=<openai-key></openai-key>
Salin selepas log masuk

(4) Tukar fail PDF manual pengguna kepada vektor dan simpan dalam ChromaDB

Import semua perpustakaan dan fungsi bergantung yang perlu anda gunakan

import osimport openaiimport tiktokenimport chromadbfrom langchain.document_loaders import OnlinePDFLoader, UnstructuredPDFLoader, PyPDFLoaderfrom langchain.text_splitter import TokenTextSplitterfrom langchain.memory import ConversationBufferMemoryfrom langchain.embeddings.openai import OpenAIEmbeddingsfrom langchain.vectorstores import Chromafrom langchain.llms import OpenAIfrom langchain.chains import ConversationalRetrievalChain
Salin selepas log masuk

untuk membaca PDF, tokenize dokumen dan pisahkan dokumen .

loader = PyPDFLoader("Clarett.pdf")pdfData = loader.load()text_splitter = TokenTextSplitter(chunk_size=1000, chunk_overlap=0)splitData = text_splitter.split_documents(pdfData)
Salin selepas log masuk

Buat koleksi kroma dan direktori setempat untuk menyimpan data kroma. Kemudian, buat vektor (benam) dan simpan dalam ChromaDB.

collection_name = "clarett_collection"local_directory = "clarett_vect_embedding"persist_directory = os.path.join(os.getcwd(), local_directory)openai_key=os.environ.get('OPENAI_API_KEY')embeddings = OpenAIEmbeddings(openai_api_key=openai_key)vectDB = Chroma.from_documents(splitData,embeddings,collection_name=collection_name,persist_directory=persist_directory)vectDB.persist()
Salin selepas log masuk

Selepas melaksanakan kod ini, anda sepatutnya melihat folder yang telah dibuat untuk menyimpan vektor.

Tingkatkan kecekapan kejuruteraan - penjanaan carian dipertingkat (RAG)

Selepas pembenaman vektor disimpan dalam ChromaDB, anda boleh menggunakan ConversationalRetrievalChain API dalam LangChain untuk memulakan komponen sejarah sembang

memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)chatQA = ConversationalRetrievalChain.from_llm(OpenAI(openai_api_key=openai_key, temperature=0, model_name="gpt-3.5-turbo"), vectDB.as_retriever(), memory=memory)
Salin selepas log masuk

Selepas memulakan langchan, kami boleh menggunakannya untuk bersembang/Q A. Dalam kod di bawah, soalan yang dimasukkan oleh pengguna diterima, dan selepas pengguna memasukkan 'selesai', soalan itu diserahkan kepada LLM untuk mendapatkan balasan dan mencetaknya.

chat_history = []qry = ""while qry != 'done':qry = input('Question: ')if qry != exit:response = chatQA({"question": qry, "chat_history": chat_history})print(response["answer"])
Salin selepas log masuk

Tingkatkan kecekapan kejuruteraan - penjanaan carian dipertingkat (RAG)

Tingkatkan kecekapan kejuruteraan - penjanaan carian dipertingkat (RAG)

Ringkasnya

RAG menggabungkan kelebihan model bahasa seperti GPT dengan kelebihan pencarian maklumat. Dengan menggunakan maklumat konteks pengetahuan khusus untuk meningkatkan kekayaan kata-kata pantas, model bahasa dapat menjana jawapan berkaitan konteks pengetahuan yang lebih tepat. RAG menyediakan penyelesaian yang lebih cekap dan kos efektif daripada "penalaan halus", menyediakan penyelesaian interaktif yang boleh disesuaikan untuk aplikasi industri atau aplikasi perusahaan

Atas ialah kandungan terperinci Tingkatkan kecekapan kejuruteraan - penjanaan carian dipertingkat (RAG). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pembantu pengekodan AI yang ditambah konteks menggunakan Rag dan Sem-Rag Pembantu pengekodan AI yang ditambah konteks menggunakan Rag dan Sem-Rag Jun 10, 2024 am 11:08 AM

Tingkatkan produktiviti, kecekapan dan ketepatan pembangun dengan menggabungkan penjanaan dipertingkatkan semula dan memori semantik ke dalam pembantu pengekodan AI. Diterjemah daripada EnhancingAICodingAssistantswithContextUsingRAGandSEM-RAG, pengarang JanakiramMSV. Walaupun pembantu pengaturcaraan AI asas secara semulajadi membantu, mereka sering gagal memberikan cadangan kod yang paling relevan dan betul kerana mereka bergantung pada pemahaman umum bahasa perisian dan corak penulisan perisian yang paling biasa. Kod yang dijana oleh pembantu pengekodan ini sesuai untuk menyelesaikan masalah yang mereka bertanggungjawab untuk menyelesaikannya, tetapi selalunya tidak mematuhi piawaian pengekodan, konvensyen dan gaya pasukan individu. Ini selalunya menghasilkan cadangan yang perlu diubah suai atau diperhalusi agar kod itu diterima ke dalam aplikasi

GraphRAG dipertingkatkan untuk mendapatkan semula graf pengetahuan (dilaksanakan berdasarkan kod Neo4j) GraphRAG dipertingkatkan untuk mendapatkan semula graf pengetahuan (dilaksanakan berdasarkan kod Neo4j) Jun 12, 2024 am 10:32 AM

Penjanaan Dipertingkatkan Pengambilan Graf (GraphRAG) secara beransur-ansur menjadi popular dan telah menjadi pelengkap hebat kepada kaedah carian vektor tradisional. Kaedah ini mengambil kesempatan daripada ciri-ciri struktur pangkalan data graf untuk menyusun data dalam bentuk nod dan perhubungan, dengan itu mempertingkatkan kedalaman dan perkaitan kontekstual bagi maklumat yang diambil. Graf mempunyai kelebihan semula jadi dalam mewakili dan menyimpan maklumat yang pelbagai dan saling berkaitan, dan dengan mudah boleh menangkap hubungan dan sifat yang kompleks antara jenis data yang berbeza. Pangkalan data vektor tidak dapat mengendalikan jenis maklumat berstruktur ini dan ia lebih menumpukan pada pemprosesan data tidak berstruktur yang diwakili oleh vektor berdimensi tinggi. Dalam aplikasi RAG, menggabungkan data graf berstruktur dan carian vektor teks tidak berstruktur membolehkan kami menikmati kelebihan kedua-duanya pada masa yang sama, iaitu perkara yang akan dibincangkan oleh artikel ini. struktur

Menggunakan graf pengetahuan untuk meningkatkan keupayaan model RAG dan mengurangkan tanggapan palsu model besar Menggunakan graf pengetahuan untuk meningkatkan keupayaan model RAG dan mengurangkan tanggapan palsu model besar Jan 14, 2024 pm 06:30 PM

Halusinasi adalah masalah biasa apabila bekerja dengan model bahasa besar (LLM). Walaupun LLM boleh menjana teks yang lancar dan koheren, maklumat yang dijananya selalunya tidak tepat atau tidak konsisten. Untuk mengelakkan LLM daripada halusinasi, sumber pengetahuan luaran, seperti pangkalan data atau graf pengetahuan, boleh digunakan untuk memberikan maklumat fakta. Dengan cara ini, LLM boleh bergantung pada sumber data yang boleh dipercayai ini, menghasilkan kandungan teks yang lebih tepat dan boleh dipercayai. Pangkalan Data Vektor dan Graf Pengetahuan Pangkalan Data Vektor Pangkalan data vektor ialah satu set vektor berdimensi tinggi yang mewakili entiti atau konsep. Ia boleh digunakan untuk mengukur persamaan atau korelasi antara entiti atau konsep yang berbeza, dikira melalui perwakilan vektornya. Pangkalan data vektor boleh memberitahu anda, berdasarkan jarak vektor, bahawa "Paris" dan "Perancis" lebih dekat daripada "Paris" dan

Memahami GraphRAG (1): Cabaran RAG Memahami GraphRAG (1): Cabaran RAG Apr 30, 2024 pm 07:10 PM

RAG (RiskAssessmentGrid) ialah kaedah yang mempertingkatkan model bahasa besar (LLM) sedia ada dengan sumber pengetahuan luaran untuk memberikan jawapan yang lebih berkaitan kontekstual. Dalam RAG, komponen perolehan memperoleh maklumat tambahan, respons adalah berdasarkan sumber tertentu, dan kemudian menyuap maklumat ini ke dalam gesaan LLM supaya respons LLM adalah berdasarkan maklumat ini (fasa peningkatan). RAG lebih menjimatkan berbanding teknik lain seperti pemangkasan. Ia juga mempunyai kelebihan untuk mengurangkan halusinasi dengan menyediakan konteks tambahan berdasarkan maklumat ini (peringkat penambahan) - RAG anda menjadi kaedah aliran kerja untuk tugasan LLM hari ini (seperti pengesyoran, pengekstrakan teks, analisis sentimen, dsb.). Jika kita memecahkan idea ini dengan lebih lanjut, berdasarkan niat pengguna, kita biasanya melihat

Kaedah untuk membina sistem RAG multimodal: menggunakan CLIP dan LLM Kaedah untuk membina sistem RAG multimodal: menggunakan CLIP dan LLM Jan 13, 2024 pm 10:24 PM

Kami akan membincangkan cara untuk membina sistem penjanaan dipertingkatkan semula (RAG) menggunakan sumber terbuka LargeLanguageMulti-Modal. Fokus kami adalah untuk mencapai ini tanpa bergantung pada LangChain atau LLlamaindex untuk mengelakkan daripada menambah lebih banyak kebergantungan rangka kerja. Apakah itu RAG Dalam bidang kecerdasan buatan, kemunculan teknologi penjanaan dipertingkatkan semula (RAG) telah membawa peningkatan revolusioner kepada model bahasa besar (LargeLanguageModels). Intipati RAG adalah untuk meningkatkan kecerdasan buatan dengan membenarkan model mendapatkan maklumat masa nyata secara dinamik daripada sumber luaran

Menyelam mendalam ke dalam pangkalan data RAG dan vektor: kunci kepada penyesuaian pantas dan kos rendah bagi model besar Menyelam mendalam ke dalam pangkalan data RAG dan vektor: kunci kepada penyesuaian pantas dan kos rendah bagi model besar Nov 13, 2023 pm 03:29 PM

Hari ini, dalam bidang kecerdasan buatan, banyak perhatian diberikan kepada model berskala besar. Walau bagaimanapun, faktor seperti kos latihan yang tinggi dan masa latihan yang panjang telah menjadi halangan utama yang menyekat kebanyakan syarikat daripada mengambil bahagian dalam bidang model berskala besar Dalam konteks ini, pangkalan data vektor, dengan kelebihan uniknya, telah menjadi penyelesaian kepada masalah tersebut penyesuaian kos rendah dan pantas bagi model besar. Pangkalan data vektor ialah teknologi yang direka khusus untuk menyimpan dan memproses data vektor berdimensi tinggi. Ia menggunakan algoritma pengindeksan dan pertanyaan yang cekap untuk mencapai perolehan semula dan analisis data besar-besaran. Sebagai tambahan kepada prestasi cemerlang tersebut, pangkalan data vektor juga boleh menyediakan penyelesaian tersuai untuk bidang dan tugasan tertentu. Gergasi teknologi seperti Tencent dan Alibaba telah melabur dalam penyelidikan dan pembangunan pangkalan data vektor, dengan harapan untuk mencapai kejayaan dalam bidang model besar. Banyak syarikat kecil dan sederhana juga mengambil kesempatan

Selain RAG, terdapat lima cara untuk menghapuskan ilusi model besar Selain RAG, terdapat lima cara untuk menghapuskan ilusi model besar Jun 10, 2024 pm 08:25 PM

Dihasilkan oleh 51CTO Technology Stack (WeChat ID: blog51cto) Adalah diketahui umum bahawa LLM boleh menghasilkan halusinasi - iaitu, menjana maklumat yang salah, mengelirukan atau tidak bermakna. Menariknya, sesetengah orang, seperti Ketua Pegawai Eksekutif OpenAI Sam Altman, melihat imaginasi AI sebagai kreativiti, manakala yang lain percaya bahawa imaginasi boleh membantu membuat penemuan saintifik baharu. Walau bagaimanapun, dalam kebanyakan kes, adalah penting untuk memberikan jawapan yang betul, dan halusinasi bukanlah ciri tetapi kecacatan. Jadi, bagaimana untuk mengurangkan ilusi LLM? Konteks panjang? RAG? Penalaan halus? Malah, LLM konteks panjang tidak mudah, RAG carian vektor tidak memuaskan, dan penalaan halus datang dengan cabaran dan batasannya sendiri. Berikut adalah beberapa yang boleh digunakan

Seorang pelajar kolej yang menggunakan GPT-3 untuk menulis kertas telah dihukum berat dan enggan mengakuinya! Kertas universiti 'mati', ChatGPT mungkin menyebabkan gempa bumi besar dalam kalangan akademik Seorang pelajar kolej yang menggunakan GPT-3 untuk menulis kertas telah dihukum berat dan enggan mengakuinya! Kertas universiti 'mati', ChatGPT mungkin menyebabkan gempa bumi besar dalam kalangan akademik Apr 11, 2023 pm 10:01 PM

Selepas kelahiran ChatGPT, ia terus menyegarkan pemahaman kami dengan keupayaan penciptaan teks yang hebat. Apakah perubahan besar yang akan dibawa oleh AI ke kampus universiti? Masih belum ada yang bersedia. Nature telah mengeluarkan artikel, bimbang ChatGPT akan menjadi alat untuk pelajar menulis kertas kerja. Pautan artikel: https://www.nature.com/articles/d41586-022-04397-7 Secara kebetulan, seorang penulis Kanada Stephen Marche dengan sedih memanggil: Tesis universiti sudah mati! Menulis kertas dengan AI adalah terlalu mudah Katakan anda seorang profesor pendidikan dan anda telah memberikan kertas kerja tentang gaya pembelajaran untuk tujuan akademik. Seorang pelajar menghantar artikel untuk dibuka

See all articles