cari
  • Log masuk
  • Daftar
Penetapan semula kata laluan berjaya

Ikuti proiects vou berminat dengan andi aet terbaru mengenai mereka

Jadual Kandungan
Langchain mengintegrasikan dengan penyimpanan vektor dokumen
Pasang perpustakaan yang diperlukan
Sambung ke DocumentDB
Buat Penyimpanan Vektor DokumenDB Menggunakan Langchain
Melakukan carian persamaan
Kod sampel lengkap
Perkara yang perlu diperhatikan
Meringkaskan
Rumah pembangunan bahagian belakang Tutorial Python Menyimpan DokumenDB sebagai vektor menggunakan langchain

Menyimpan DokumenDB sebagai vektor menggunakan langchain

Nov 22, 2025 pm 03:54 PM

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!

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

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat popular

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)

Selesaikan ralat kegagalan binaan multidict semasa memasang pakej Python 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 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 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 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 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 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 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 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.

Artikel berkaitan