DeepSearch Graph Language Models

1.0.0 · active · verified Fri Apr 17

deepsearch-glm is a Python library that enables the creation and querying of Graph Language Models (GLMs). It integrates Large Language Models (LLMs) with knowledge graphs derived from unstructured documents, primarily leveraging the `deepsearch-toolkit` library for graph processing. The current version is 1.0.0, and it's actively developed by DeepSearch AI, with releases expected to follow a feature-driven cadence.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to load a GraphLanguageModel and query it with a simple document. It highlights the main components and interactions within `deepsearch-glm`. Note that the first run will download a large language model.

import os
from deepsearch.glm.core.glm import GraphLanguageModel
from deepsearch.glm.queries import GlmQuery
from deepsearch.documents.core.models import Document

# Note: The deepsearch-glm-base model is large (~1.5GB) and will be downloaded on first run.
# This example requires deepsearch-toolkit to implicitly process documents into a graph.

try:
    # 1. Initialize the GraphLanguageModel (this will download a model if not cached)
    # This might take a while and uses significant memory/disk space.
    print("Loading GraphLanguageModel... (first run may download ~1.5GB model)")
    glm_model = GraphLanguageModel.from_pretrained("deepsearch-ai/deepsearch-glm-base")
    print("GraphLanguageModel loaded.")

    # 2. Prepare a dummy document. In a real scenario, this would be processed
    # by deepsearch-toolkit to extract a knowledge graph before querying.
    doc_content = "The DeepSearch AI platform helps enterprises extract insights from unstructured data using advanced AI."
    dummy_document = Document(name="deepsearch_info.txt", content=doc_content)

    # 3. Create a query
    question = "What is the DeepSearch AI platform used for?"
    query = GlmQuery(
        model=glm_model,
        documents=[dummy_document], # Provide documents directly for implicit graph creation
        query_text=question
    )

    # 4. Run the query
    print(f"\nQuerying: {question}")
    result = query.run()

    # 5. Print the result
    print("\nQuery Result:")
    print(result.answer)

except ImportError as e:
    print(f"Error: {e}. Ensure all core and optional dependencies (like 'transformers', 'torch' or 'tensorflow') are installed.")
    print("Try: pip install deepsearch-glm[all]")
except Exception as e:
    print(f"An error occurred during execution: {e}")
    print("Common issues include insufficient disk space, network problems during model download, or missing ML backend (torch/tensorflow).")

view raw JSON →