pembangunan bahagian belakang
Tutorial Python
Menyimpan DokumenDB sebagai vektor menggunakan langchain
Menyimpan DokumenDB sebagai vektor menggunakan langchain

Dokumen ini menerangkan cara menggunakan Langchain untuk menyimpan DocumentDB sebagai vektor. Oleh kerana API Query Carian Vektor DocumentDB berbeza daripada MongoDB, anda mungkin menghadapi masalah menggunakan kaedah integrasi MongoDB secara langsung. Artikel ini akan memperkenalkan cara menggunakan Integrasi Penyimpanan Vektor Dokumen Dokumen yang disediakan oleh Langchain, dan menyediakan kod sampel dan langkah berjaga -jaga untuk membantu anda berjaya menggunakan DocumentDB sebagai penyimpanan vektor.
Langchain mengintegrasikan dengan penyimpanan vektor dokumen
DocumentDB baru -baru ini mengeluarkan keupayaan carian vektor. Walaupun DocumentDB serasi dengan MongoDB, API pertanyaan carian vektornya berbeza daripada MongoDB. Oleh itu, menggunakan kod yang direka untuk atlas MongoDB secara langsung mungkin tidak berfungsi dengan betul. Langchain kini secara langsung menyokong DocumentDB sebagai kedai vektor, dengan itu menyelesaikan masalah ini.
Pasang perpustakaan yang diperlukan
Pertama, pastikan anda mempunyai perpustakaan yang berkaitan dengan Langchain dan DocumentDB. Ia boleh dipasang menggunakan PIP:
Pip Pasang Langchain Pymongo
Sambung ke DocumentDB
Untuk menyambung ke pangkalan data DocumentDB, anda perlu menyediakan rentetan sambungan. Pastikan rentetan sambungan mengandungi kelayakan dan maklumat pangkalan data yang betul.
Dari Pymongo Import Mongoclient Gantikan dengan sambungan sambungan dokumen anda connection_string = "mongodb: // your_username: your_password@your_documentdb_cluster.us-east-1.docdb.amazonaws.com: 27017/? Replicaset = rs0 & ReadPreFerence = SecondaryPreferred" pelanggan = mongoclient (connection_string) db = klien ["your_database_name"] # Gantikan dengan koleksi nama pangkalan data anda = db ["your_collection_name"] # Gantikan dengan nama koleksi anda
Buat Penyimpanan Vektor DokumenDB Menggunakan Langchain
Seterusnya, buat kedai vektor menggunakan kelas DocumentDB Langchain. Pertama, anda perlu menyediakan model dokumentasi dan embed.
dari langchain.document_loaders Import Textloader
dari langchain.embeddings import Openaiembeddings # Anda boleh menggunakan model embedding yang disokong oleh Langchain dari Langchain.VectorStores Import Documentdb
dari langchain.text_splitter import charactertextsplitter
# Muatkan Loader Dokumen = TextLoader ("Your_document.txt") # Gantikan dengan dokumen dokumen dokumen anda = loader.load ()
# Pecahkan dokumen text_splitter = characterTextSplitter (chunk_size = 1000, chunk_overlap = 0)
docs = text_splitter.split_documents (dokumen)
# Inisialisasi Embedding Model Embeddings = OpenaiembedDings () # Memerlukan Openai API Key # Buat Dokumen Vector Vector_Store = Documentdb.from_documents (
Dokumen,
embeddings,
koleksi = koleksi,
)
Penjelasan kod:
- Textloader digunakan untuk memuatkan fail teks. Anda boleh memilih pemuat yang berbeza berdasarkan jenis dokumen anda.
- WatakTextSplitter digunakan untuk memecah dokumen ke dalam ketulan yang lebih kecil untuk vektorisasi yang lebih baik.
- Openaiembeddings digunakan untuk menjana vektor embedding untuk dokumen. Anda perlu menyediakan kunci API OpenAI. Anda boleh memilih model penyembuhan lain yang disokong oleh Langchain, seperti cohereembeddings atau huggingfaceembeddings.
- Documentdb.from_documents digunakan untuk membuat kedai vektor DocumentDB dari dokumen. Ia menerima senarai dokumen, model tertanam, dan koleksi MongoDB sebagai parameter.
Melakukan carian persamaan
Selepas membuat kedai vektor, anda boleh melakukan carian kesamaan menggunakan kaedah persamaan_search.
pertanyaan = "Apa dokumen ini?" hasil = vector_store.similarity_search (pertanyaan) cetak (hasil)
Penjelasan kod:
- Pertanyaan adalah pernyataan pertanyaan yang ingin anda cari.
- vector_store.similarity_search digunakan untuk melakukan carian persamaan. Ia mengembalikan senarai dokumen yang paling serupa dengan pernyataan pertanyaan.
Kod sampel lengkap
Berikut adalah kod contoh lengkap yang menunjukkan cara menyimpan dokumen sebagai vektor menggunakan langchain:
Dari Pymongo Import Mongoclient
dari langchain.document_loaders Import Textloader
dari langchain.embeddings import Openaiembeddings
dari Langchain.VectorStores Import Documentdb
dari langchain.text_splitter import charactertextsplitter
Gantikan dengan sambungan sambungan dokumen anda connection_string = "mongodb: // your_username: your_password@your_documentdb_cluster.us-east-1.docdb.amazonaws.com: 27017/? Replicaset = rs0 & ReadPreFerence = SecondaryPreferred"
pelanggan = mongoclient (connection_string)
db = klien ["your_database_name"] # gantikan dengan koleksi nama pangkalan data anda = db ["your_collection_name"] # gantikan dengan nama koleksi anda # load dokumen loader = textloader ("your_document.txt") # gantikan dengan dokumen dokumen anda = loader.load ()
# Pecahkan dokumen text_splitter = characterTextSplitter (chunk_size = 1000, chunk_overlap = 0)
docs = text_splitter.split_documents (dokumen)
# Inisialisasi Embedding Model Embeddings = OpenaiembedDings () # Memerlukan Openai API Key # Buat Dokumen Vector Vector_Store = Documentdb.from_documents (
Dokumen,
embeddings,
koleksi = koleksi,
)
# Lakukan pertanyaan carian persamaan = "Apa dokumen ini?"
hasil = vector_store.similarity_search (pertanyaan)
cetak (hasil)
Perkara yang perlu diperhatikan
- Pastikan cluster DocumentDB anda mempunyai carian vektor diaktifkan.
- Pilih model penyembuhan yang sesuai dan laraskan parameter model embedding mengikut keperluan anda.
- Bergantung pada saiz dan kerumitan dokumen anda, laraskan parameter chunk_size dan chunk_overlap characterTextSplitter.
- Apabila menggunakan Openaiembeddings, pastikan anda menetapkan kunci API OpenAI.
Meringkaskan
Artikel ini menerangkan cara menggunakan Langchain untuk menyimpan DocumentDB sebagai vektor. Dengan menggunakan integrasi penyimpanan vektor DocumentDB yang disediakan oleh Langchain, anda boleh mengintegrasikan DocumentDB dengan mudah ke dalam aplikasi Langchain anda dan memanfaatkan keupayaan carian vektor DocumentDB. Perlu diingat bahawa API Carian Vektor DocumentDB berbeza daripada MongoDB, jadi anda mesti menggunakan integrasi DocumentDB yang disediakan oleh Langchain.
Atas ialah kandungan terperinci Menyimpan DokumenDB sebagai vektor menggunakan langchain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Alat AI Hot
Undress AI Tool
Gambar buka pakaian secara percuma
AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.
Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik
Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak
Artikel Panas
Alat popular
Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma
SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan
Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa
Dreamweaver CS6
Alat pembangunan web visual
SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
Topik panas
Selesaikan ralat kegagalan binaan multidict semasa memasang pakej Python
Mar 08, 2026 am 02:51 AM
Apabila memasang perpustakaan yang bergantung pada multidict dalam Python, seperti aiohttp atau discord.py, pengguna mungkin menghadapi ralat "ERROR: Could not build wheels for multidict". Ini biasanya disebabkan oleh kekurangan pengkompil C/C atau alat binaan yang diperlukan, menghalang pip daripada berjaya menyusun sambungan C multidict daripada sumber. Artikel ini akan menyediakan satu siri penyelesaian, termasuk memasang alat binaan sistem, mengurus versi Python dan menggunakan persekitaran maya, untuk membantu pembangun menyelesaikan masalah ini dengan berkesan.
Bagaimana untuk mencari jumlah 5 nombor menggunakan Python untuk gelung
Mar 10, 2026 pm 12:48 PM
Artikel ini menerangkan secara terperinci cara menggunakan gelung for untuk membaca 5 integer daripada input pengguna dan menambahkannya, menyediakan kaedah penulisan standard yang ringkas dan boleh dibaca serta membandingkan alternatif yang cekap kepada fungsi terbina dalam.
Cara menggunakan fungsi zip Python_Perjalanan selari berbilang jujukan dan pembinaan kamus
Mar 13, 2026 am 11:54 AM
Intipati zip ialah gandingan zip, yang membungkus berbilang objek boleh lelar ke dalam tupel mengikut kedudukan dan tidak membongkar kamus secara automatik. Apabila lulus dalam kamus, kuncinya dilalui secara lalai. Anda perlu menggunakan paparan keys()/values()/items() secara eksplisit untuk mengambil bahagian dalam traversal selari dengan betul.
Bagaimana untuk melukis histogram dalam perbandingan data klasifikasi Python_Multi-dimensi dan pelaksanaan pemetaan warna histogram bertindan
Mar 13, 2026 pm 12:18 PM
Histogram pengelasan berbilang dimensi perlu mengira kedudukan x secara manual dan memanggil plt.bar secara hierarki; apabila menyusun, bahagian bawah mesti digunakan untuk mengumpul ketinggian, dan xticks dan ylim mesti ditetapkan secara eksplisit (bawah=0); elakkan pencampuran stacked=True and seaborn, dan warna harus dijana secara dinamik dan sepadan dengan jujukan lapisan.
Menggunakan Python Panda untuk memproses data format bukan standard Excel: teknik penggabungan sel silang baris
Mar 06, 2026 am 11:48 AM
Artikel ini memperincikan cara menggunakan pustaka Python Pandas untuk mengautomasikan pemprosesan format data bukan standard dalam hamparan Excel, khususnya untuk situasi di mana kandungan data merangkumi berbilang baris berturut-turut tetapi secara logiknya tergolong dalam sel yang sama. Dengan memproses pasangan baris secara berulang dan menggabungkan data secara bersyarat dalam lajur tertentu, maklumat yang asalnya bertaburan dalam dua baris disepadukan ke dalam senarai dalam sel tunggal, dengan itu menukar data format bukan standard kepada struktur jadual piawai untuk analisis dan pemprosesan seterusnya.
Cara Python mengurus dependencies_Comparison antara pip dan puisi
Mar 12, 2026 pm 04:21 PM
pip sesuai untuk projek mudah, yang hanya memasang pakej dan tidak mengasingkan persekitaran; puisi ialah alat moden yang mengurus kebergantungan, persekitaran maya dan penguncian versi secara automatik. Gunakan pip requirements.txt untuk projek kecil dan puisi disyorkan untuk projek sederhana dan besar. Kedua-duanya tidak boleh dicampur dalam projek yang sama.
Python set intersection optimization_large data volume set kemahiran operasi
Mar 13, 2026 pm 12:36 PM
Kunci untuk mengoptimumkan prestasi persilangan set Python ialah menggunakan set minimum sebagai operan kiri, mengelakkan penukaran tersirat, pemprosesan blok dan kemas kini tambahan cache. Keutamaan harus diberikan kepada penggunaan min(...,key=len) untuk memilih set terkecil, melumpuhkan persimpangan berbilang parameter(), menggunakan penapis beku atau bloom untuk mengurangkan memori dan menggunakan lru_cache untuk cache menghasilkan senario frekuensi tinggi.
Cara menyimpan matriks jarang dalam storan koordinat Python_Dictionary dan penggunaan scipy.sparse
Mar 12, 2026 pm 05:48 PM
Gunakan scipy.sparse.coo_matrix dan bukannya kamus kerana lapisan bawah menggunakan row/col/data three-array untuk menyokong operasi dengan cekap; struktur perlu dinyahduplikasi, ditukar kepada csr/csc dan kemudian dikira; save_npz diutamakan untuk menyimpan; operasi seperti menghiris mesti menggunakan format csr/csc.





