Michael Hunger 68a2acc024
Added GraphQL Loader (#263)
Co-authored-by: Jerry Liu <jerryjliu98@gmail.com>
2023-05-23 15:48:55 -07:00
..
2023-05-23 15:48:55 -07:00
2023-05-23 15:48:55 -07:00
2023-05-23 15:48:55 -07:00
2023-05-23 15:48:55 -07:00

GraphQL Loader

This loader loads documents via GraphQL queries from a GraphQL endpoint. The user specifies a GraphQL endpoint URL with optional credentials to initialize the reader. By declaring the GraphQL query and optional variables (parameters) the loader can fetch the nested result docs.

Usage

Here's an example usage of the GraphQLReader. You can test out queries directly on the site

from llama_index import download_loader
import os

GraphQLReader = download_loader('GraphQLReader')

uri = "https://countries.trevorblades.com/"
headers = {}
query = """
    query getContinents {
        continents {
            code
            name
        }
    }
"""
reader = GraphQLReader(uri, headers)
documents = reader.query(query, variables = {})

This loader is designed to be used as a way to load data into LlamaIndex and/or subsequently used as a Tool in a LangChain Agent. See here for examples.

It uses the gql GraphQL library for the GraphQL queries.