langchain_experimental.graph_transformers.diffbot.DiffbotGraphTransformer

class langchain_experimental.graph_transformers.diffbot.DiffbotGraphTransformer(diffbot_api_key: ~typing.Optional[str] = None, fact_confidence_threshold: float = 0.7, include_qualifiers: bool = True, include_evidence: bool = True, simplified_schema: bool = True, extract_types: ~typing.List[~langchain_experimental.graph_transformers.diffbot.TypeOption] = [<TypeOption.FACTS: 'facts'>], *, include_confidence: bool = False)[source]

Transform documents into graph documents using Diffbot NLP API.

A graph document transformation system takes a sequence of Documents and returns a sequence of Graph Documents.

Example

Initialize the graph transformer with various options.

Parameters
  • diffbot_api_key (str) – The API key for Diffbot’s NLP services.

  • fact_confidence_threshold (float) – Minimum confidence level for facts to be included.

  • include_qualifiers (bool) – Whether to include qualifiers in the relationships.

  • include_evidence (bool) – Whether to include evidence for the relationships.

  • simplified_schema (bool) – Whether to use a simplified schema for relationships.

  • extract_types (List[TypeOption]) – A list of data types to extract. Facts, entities, and sentiment are supported. By default, the option is set to facts. A fact represents a combination of source and target nodes with a relationship type.

  • include_confidence (bool) – Whether to include confidence scores on nodes and rels

Methods

__init__([diffbot_api_key, ...])

Initialize the graph transformer with various options.

convert_to_graph_documents(documents)

Convert a sequence of documents into graph documents.

nlp_request(text)

Make an API request to the Diffbot NLP endpoint.

process_response(payload, document)

Transform the Diffbot NLP response into a GraphDocument.

__init__(diffbot_api_key: ~typing.Optional[str] = None, fact_confidence_threshold: float = 0.7, include_qualifiers: bool = True, include_evidence: bool = True, simplified_schema: bool = True, extract_types: ~typing.List[~langchain_experimental.graph_transformers.diffbot.TypeOption] = [<TypeOption.FACTS: 'facts'>], *, include_confidence: bool = False) None[source]

Initialize the graph transformer with various options.

Parameters
  • diffbot_api_key (str) – The API key for Diffbot’s NLP services.

  • fact_confidence_threshold (float) – Minimum confidence level for facts to be included.

  • include_qualifiers (bool) – Whether to include qualifiers in the relationships.

  • include_evidence (bool) – Whether to include evidence for the relationships.

  • simplified_schema (bool) – Whether to use a simplified schema for relationships.

  • extract_types (List[TypeOption]) – A list of data types to extract. Facts, entities, and sentiment are supported. By default, the option is set to facts. A fact represents a combination of source and target nodes with a relationship type.

  • include_confidence (bool) – Whether to include confidence scores on nodes and rels

Return type

None

convert_to_graph_documents(documents: Sequence[Document]) List[GraphDocument][source]

Convert a sequence of documents into graph documents.

Parameters
  • documents (Sequence[Document]) – The original documents.

  • **kwargs – Additional keyword arguments.

Returns

The transformed documents as graphs.

Return type

Sequence[GraphDocument]

nlp_request(text: str) Dict[str, Any][source]

Make an API request to the Diffbot NLP endpoint.

Parameters

text (str) – The text to be processed.

Returns

The JSON response from the API.

Return type

Dict[str, Any]

process_response(payload: Dict[str, Any], document: Document) GraphDocument[source]

Transform the Diffbot NLP response into a GraphDocument.

Parameters
  • payload (Dict[str, Any]) – The JSON response from Diffbot’s NLP API.

  • document (Document) – The original document.

Returns

The transformed document as a graph.

Return type

GraphDocument

Examples using DiffbotGraphTransformer