Rumah >Peranti teknologi >AI >Llamaindex: Rangka Kerja Data untuk Aplikasi Berdasarkan Model Bahasa Besar (LLMS)
llamaindex: rangka data yang memberi kuasa kepada model bahasa besar
Llamaindex adalah rangka kerja data aplikasi berdasarkan model bahasa besar (LLM). LLMS seperti GPT-4 Pra-Latih Sekumpulan besar set data awam untuk menyediakan keupayaan pemprosesan bahasa semulajadi yang kuat dari kotak. Walau bagaimanapun, utiliti mereka akan terhad tanpa akses kepada data peribadi anda sendiri.
Llamaindex membolehkan anda menelan data dari API, pangkalan data, PDF dan sumber lain melalui penyambung data yang fleksibel. Data -data ini diindeks ke dalam perwakilan perantaraan yang dioptimumkan untuk LLM. Llamaindex kemudian membenarkan pertanyaan bahasa dan perbualan semula jadi dengan data anda melalui enjin pertanyaan, antara muka sembang, dan ejen yang didorong oleh LLM. Ia membolehkan LLM anda mengakses dan mentafsir data peribadi secara berskala tanpa melatih semula model.
Sama ada anda seorang pemula mencari kaedah bahasa semulajadi yang mudah untuk menanyakan data, atau pengguna lanjutan yang memerlukan penyesuaian yang mendalam, Llamaindex mempunyai alat yang sepadan. API Lanjutan membolehkan anda memulakan dengan hanya lima kod elemen, manakala API peringkat rendah membolehkan anda mengawal sepenuhnya pengambilan data, pengindeksan, pengambilan dan banyak lagi.
Llamaindex menggunakan sistem generasi yang dipertingkatkan (RAG) yang menggabungkan model bahasa yang besar dengan asas pengetahuan peribadi. Ia biasanya terdiri daripada dua fasa: fasa pengindeksan dan fasa pertanyaan.
gambar adalah dari konsep canggih
Fasa indeksPada dasarnya, indeks menukarkan data ke dalam vektor angka atau embedding untuk menangkap makna semantiknya. Ia membolehkan carian cepat kesamaan di seluruh kandungan.
Peringkat pertanyaan
Prosedur ini membolehkan LLM mengakses maklumat semasa dan terkini yang mungkin tidak dimasukkan dalam latihan awalnya.
Cabaran utama pada peringkat ini adalah untuk mengambil, mengatur, dan alasan tentang maklumat dari pelbagai pangkalan pengetahuan yang mungkin wujud.
Ketahui lebih lanjut mengenai RAG dalam sampel Kod Generasi Pinecone Retrieval kami.
Tetapan llamaindex
kita hanya boleh memasang llamaindex menggunakan PIP.
<code>pip install llama-index</code>Secara lalai, Llamaindex menggunakan model OpenAI GPT-3-3-Davinci-003. Untuk menggunakan model ini, anda mesti menetapkan OpenAI_API_KEY. Anda boleh membuat akaun percuma dan mendapatkan kunci API dengan log masuk ke token API baru OpenAI.
<code>pip install llama-index</code>
Juga, pastikan anda telah memasang pakej Openai.
<code>import os os.environ["OPENAI_API_KEY"] = "INSERT OPENAI KEY"</code>
Dalam bahagian ini, kita akan belajar bagaimana membuat pembaca resume menggunakan Llamaindex. Anda boleh memuat turun resume anda dengan melawat halaman profil LinkedIn, mengklik "Lebih", dan kemudian "Simpan sebagai PDF".
Sila ambil perhatian bahawa kami menggunakan Datalab untuk menjalankan kod Python. Anda boleh mengakses semua kod dan output yang relevan dalam llamaindex: Tambah data peribadi ke buku kerja LLM;
kita mesti memasang llama-index, openai dan pypdf sebelum menjalankan apa-apa. Kami memasang PYPDF supaya kami dapat membaca dan menukar fail PDF.
<code>pip install openai</code>
Kami mempunyai direktori yang dipanggil "Data Private" yang mengandungi hanya satu fail PDF. Kami akan membacanya menggunakan SimpleDirectoryReader dan kemudian menukarnya ke indeks menggunakan TreeIndex.
<code>%pip install llama-index openai pypdf</code>
Setelah data diindeks, anda boleh mula bertanya dengan menggunakan as_query_engine (). Fungsi ini membolehkan anda bertanya soalan mengenai maklumat khusus dalam dokumen dan mendapatkan respons yang sepadan dengan bantuan model OpenAI GPT-3 Text-Davinci-003.
NOTA: Anda boleh menyediakan API OpenAI di Datalab berikutan arahan untuk menggunakan GPT-3.5 dan GPT-4 melalui API OpenAI dalam tutorial Python.
Seperti yang dapat kita lihat, model LLM menjawab pertanyaan dengan tepat. Ia mencari indeks dan mendapati maklumat yang relevan.
<code>from llama_index import TreeIndex, SimpleDirectoryReader resume = SimpleDirectoryReader("Private-Data").load_data() new_index = TreeIndex.from_documents(resume)</code>
<code>query_engine = new_index.as_query_engine() response = query_engine.query("When did Abid graduated?") print(response)</code>
kita boleh meminta maklumat pensijilan lagi. Nampaknya Llamaindex telah memahami sepenuhnya calon -calon, yang mungkin memberi manfaat kepada syarikat -syarikat yang mencari bakat tertentu.
<code>Abid graduated in February 2014.</code>
<code>response = query_engine.query("What is the name of certification that Abid received?") print(response)</code>
Mewujudkan indeks adalah proses yang memakan masa. Kita boleh mengelakkan mencipta indeks dengan menyimpan konteks. Secara lalai, arahan berikut akan menyimpan kedai indeks yang disimpan dalam direktori ./Storage.
<code>Data Scientist Professional</code>
<code>new_index.storage_context.persist()</code>Untuk mengesahkan bahawa ia berfungsi dengan betul, kami akan bertanya soalan enjin pertanyaan dalam resume. Nampaknya kami berjaya memuatkan konteksnya.
<code>from llama_index import StorageContext, load_index_from_storage storage_context = StorageContext.from_defaults(persist_) index = load_index_from_storage(storage_context)</code>
<code>query_engine = index.as_query_engine() response = query_engine.query("What is Abid's job title?") print(response)</code>chatbot
kami akan mengemukakan soalan mudah.
<code>Abid's job title is Technical Writer.</code>
<code>query_engine = index.as_chat_engine() response = query_engine.chat("What is the job title of Abid in 2021?") print(response)</code>Dan tanpa menyediakan konteks tambahan, kami akan bertanya soalan susulan.
<code>Abid's job title in 2021 is Data Science Consultant.</code>
<code>response = query_engine.chat("What else did he do during that time?") print(response)</code>jelas bahawa enjin sembang berjalan dengan sempurna.
Selepas membina aplikasi bahasa, langkah seterusnya pada garis masa anda adalah membaca tentang kebaikan dan keburukan menggunakan model bahasa besar (LLM) di awan berbanding menjalankannya secara tempatan. Ini akan membantu anda menentukan pendekatan mana yang terbaik untuk keperluan anda.
Projek seterusnya kami melibatkan membangunkan aplikasi yang dapat menjawab soalan dari Wikipedia dan mengubahnya menjadi suara.
Sumber kod dan maklumat tambahan boleh didapati dalam buku kerja Datalab.
Pertama, kami akan merangkak data dari laman web Itali-Wikipedia dan simpannya sebagai fail Italy_text.txt dalam folder data.
<code>pip install llama-index</code>
<code>import os os.environ["OPENAI_API_KEY"] = "INSERT OPENAI KEY"</code>Dengan menggunakan SimpleDirectoryReader, kami akan memuatkan data dan menukar fail txt ke kedai vektor menggunakan VectorStoreIndex.
<code>pip install openai</code>pertanyaan
<code>%pip install llama-index openai pypdf</code>
teks untuk suara
Kami menambah tindak balas kepada fungsi Generate_audio untuk menghasilkan ucapan semula jadi. Untuk mendengar audio, kami akan menggunakan fungsi audio ipython.display.
<code>from llama_index import TreeIndex, SimpleDirectoryReader resume = SimpleDirectoryReader("Private-Data").load_data() new_index = TreeIndex.from_documents(resume)</code>
<code>query_engine = new_index.as_query_engine() response = query_engine.query("When did Abid graduated?") print(response)</code>
Ini adalah contoh mudah. Anda boleh menggunakan pelbagai modul untuk membuat pembantu anda, seperti Siri, yang menjawab soalan anda dengan menafsirkan data peribadi anda. Untuk maklumat lanjut, lihat dokumentasi Llamaindex.
Llamaindex Gunakan Kes
Llamaindex menyediakan toolkit lengkap untuk membina aplikasi berasaskan bahasa. Paling penting, anda boleh menggunakan pelbagai pemuat data dan alat ejen di Hub Llama untuk membangunkan aplikasi yang kompleks dengan pelbagai keupayaan.
Loader Data dari Llama Hub
Anda juga boleh menggunakan alat ejen untuk mengintegrasikan alat dan API pihak ketiga.
Singkatnya, anda boleh membina dengan llamaindex:
Q & A berasaskan dokumen
Llamaindex menyediakan toolkit yang kuat untuk membina sistem penjanaan semula pengambilan semula yang menggabungkan manfaat model bahasa yang besar dan pangkalan pengetahuan tersuai. Ia dapat mewujudkan kedai indeks data khusus domain dan menggunakannya semasa kesimpulan untuk menyediakan konteks yang relevan untuk LLM untuk menjana respons berkualiti tinggi.
Untuk menjadi pemaju LLM pakar, langkah seterusnya adalah untuk mengambil kursus induk konsep model bahasa yang besar. Kursus ini akan memberi anda pemahaman yang komprehensif mengenai LLM, termasuk aplikasi mereka, kaedah latihan, pertimbangan etika dan penyelidikan terkini.
Atas ialah kandungan terperinci Llamaindex: Rangka Kerja Data untuk Aplikasi Berdasarkan Model Bahasa Besar (LLMS). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!