Rumah >Peranti teknologi >AI >Mengintegrasikan

Mengintegrasikan

Lisa Kudrow
Lisa Kudrowasal
2025-03-09 12:34:13287semak imbas

Pakej Integrasi Langchain-Kùzu, kini boleh didapati di PYPI, dengan lancar menghubungkan keupayaan Langchain dengan pangkalan data graf Kùzu. Gabungan yang kuat ini memudahkan transformasi teks tidak berstruktur ke dalam graf berstruktur, memberi manfaat kepada saintis data, pemaju, dan peminat AI. Mari kita meneroka ciri dan fungsinya yang utamanya.

Mata Pembelajaran Utama

tutorial ini akan meliputi:

  • Mengubah teks tidak tersusun ke pangkalan data graf berstruktur menggunakan Langchain-Kùzu.
  • Menentukan skema grafik tersuai (nod dan hubungan) untuk memadankan data anda.
  • Membuat, mengemas kini, dan menanyakan graf menggunakan alat LLM Kùzu dan Langchain.
  • menggunakan pertanyaan bahasa semulajadi dari pangkalan data graf melalui Graphqachain Langchain.
  • Menggunakan ciri canggih seperti kemas kini skema dinamik, pasangan LLM tersuai, dan pilihan import data yang fleksibel dalam kùzu.
Artikel ini adalah sebahagian daripada Blogathon Sains Data.

Jadual Kandungan:

Pemasangan Kùzu cepat

Kelebihan Langchain-Kùzu
  • Bermula: Contoh praktikal
  • Eksplorasi Ciri Lanjutan
  • Bermula (Revisited)
  • Kesimpulan
  • Soalan Lazim
  • Pemasangan cepat kùzu

Pasang pakej di Google Colab menggunakan:

Ini termasuk sokongan model Langchain, Kùzu, dan OpenAI GPT. LLM lain boleh diintegrasikan melalui pakej serasi Langchain masing-masing.

pip install -U langchain-kuzu langchain-openai langchain-experimental
Mengapa memilih Langchain-Kùzu?

Sesuai untuk bekerja dengan teks yang tidak berstruktur dan mencipta perwakilan graf, pakej ini menawarkan:

skema fleksibel:

mudah menentukan dan mengekstrak entiti dan hubungan.
  • penukaran teks-ke-graf: struktur graf yang bermakna dari teks mentah menggunakan llms.
  • Pertanyaan bahasa semulajadi: Grafik pertanyaan secara intuitif dengan graphqachain Langchain.
  • Integrasi yang diselaraskan: Sambungkan LLMS Langchain dengan kùzu untuk aliran kerja yang cekap.
  • mari kita menggambarkan ini dengan contoh praktikal.
  • membuat graf dari teks

Pertama, buat pangkalan data Kùzu tempatan dan buat sambungan:

Bermula dengan Langchain-Kùzu

import kuzu

db = kuzu.Database("test_db")
conn = kuzu.Connection(db)

Langchain-Kùzu memudahkan penciptaan graf dan mengemaskini dari teks yang tidak berstruktur, dan menanyakan melalui saluran paip Text2Cypher menggunakan rantai LLM Langchain. Mulakan dengan membuat objek :

Pertimbangkan teks sampel ini: KuzuGraph

from langchain_kuzu.graphs.kuzu_graph import KuzuGraph
graph = KuzuGraph(db, allow_dangerous_requests=True)
"Tim Cook adalah Ketua Pegawai Eksekutif Apple. Apple mempunyai ibu pejabatnya di California. "

  • pip install -U langchain-kuzu langchain-openai langchain-experimental

    Langkah 1: Tentukan skema graf

    Nyatakan entiti (nod) dan hubungan:

    import kuzu
    
    db = kuzu.Database("test_db")
    conn = kuzu.Connection(db)

    Langkah 2: Mengubah teks ke dalam dokumen graf

    Gunakan LLMGraphTransformer untuk menyusun teks:

    from langchain_kuzu.graphs.kuzu_graph import KuzuGraph
    graph = KuzuGraph(db, allow_dangerous_requests=True)

    Langkah 3: Tambahkan dokumen graf ke kùzu

    Muatkan dokumen ke dalam Kùzu:

    text = "Tim Cook is the CEO of Apple. Apple has its headquarters in California."
    # Define schema
    allowed_nodes = ["Person", "Company", "Location"]
    allowed_relationships = [
        ("Person", "IS_CEO_OF", "Company"),
        ("Company", "HAS_HEADQUARTERS_IN", "Location"),
    ]

    nota: tetapkan allow_dangerous_requests=True dalam KuzuGraph jika menghadapi ralat.

    Menanyakan graf

    Gunakan KuzuQAChain untuk pertanyaan bahasa semulajadi:

    from langchain_core.documents import Document
    from langchain_experimental.graph_transformers import LLMGraphTransformer
    from langchain_openai import ChatOpenAI
    
    # Define the LLMGraphTransformer
    llm_transformer = LLMGraphTransformer(
        llm=ChatOpenAI(model="gpt-4o-mini", temperature=0, api_key='OPENAI_API_KEY'),  # noqa: F821
        allowed_nodes=allowed_nodes,
        allowed_relationships=allowed_relationships,
    )
    
    documents = [Document(page_content=text)]
    graph_documents = llm_transformer.convert_to_graph_documents(documents)

    Ciri -ciri lanjutan

    Langchain-Kùzu menawarkan:

    • Kemas kini skema dinamik: skema automatik menyegarkan pada kemas kini graf.
    • pasangan LLM custom: Gunakan LLMS berasingan untuk penjanaan cypher dan jawab.
    • Pemeriksaan grafik yang komprehensif:
    • mudah memeriksa nod, hubungan, dan skema.
    • Ciri -ciri utama Kùzu termasuk sokongan pertanyaan Cypher, seni bina tertanam, dan pilihan import data yang fleksibel. Rujuk dokumentasi Kùzu untuk butiran.

    Bermula (Revisited)

    Pasang
      .
    1. langchain-kuzu Tentukan skema graf anda.
    2. Gunakan LLM Langchain untuk penciptaan graf dan pertanyaan. Lihat halaman PYPI untuk lebih banyak contoh.
    Kesimpulan

    Integrasi Langchain-Kùzu menyelaraskan pemprosesan data yang tidak berstruktur, membolehkan transformasi teks-ke-graf yang cekap dan pertanyaan bahasa semulajadi. Ini memberi kuasa kepada pengguna untuk memperoleh pandangan berharga dari data graf.

    Soalan -soalan yang sering ditanya

    Q1: Bagaimana untuk memasang

    ? A: Gunakan langchain-kuzu. Memerlukan Python 3.7. pip install langchain-kuzu

    Q2: disokong LLMS?

    A: Model GPT OpenAI, dan lain -lain melalui sokongan Langchain.

    Q3: Skema adat?

    A: Ya, tentukan nod dan hubungan anda.

    Q4: Skema tidak mengemas kini?

    A: Kemas kini skema secara automatik; Panggil secara manual jika diperlukan. refresh_schema()

    Q5: LLMS berasingan untuk Cypher dan Generasi Jawapan?

    Q6: Format import data yang disokong? A: CSV, JSON, dan pangkalan data relasi. cypher_llm qa_llm KuzuQAChain (Nota: Imej tidak termasuk sebagai prompt yang dinyatakan mengekalkan format dan lokasi imej asal. Letak gambar imej tetap seperti yang ada dalam input.)

Atas ialah kandungan terperinci Mengintegrasikan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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