LLMGraphTransformer#

class langchain_experimental.graph_transformers.llm.LLMGraphTransformer(llm: BaseLanguageModel, allowed_nodes: List[str] = [], allowed_relationships: List[str] | List[Tuple[str, str, str]] = [], prompt: ChatPromptTemplate | None = None, strict_mode: bool = True, node_properties: bool | List[str] = False, relationship_properties: bool | List[str] = False, ignore_tool_usage: bool = False, additional_instructions: str = '')[source]#

使用LLM将文档转换为基于图的文档。

它允许指定要包含在输出图中的节点和关系类型的约束。该类支持提取节点和关系的属性。

Parameters:
  • llm (BaseLanguageModel) – 支持结构化输出的语言模型实例。

  • allowed_nodes (List[str], optional) – 指定图中允许的节点类型。默认为空列表,允许所有节点类型。

  • allowed_relationships (List[str], optional) – 指定图中允许的关系类型。默认为空列表,允许所有关系类型。

  • prompt (可选[ChatPromptTemplate], 可选) – 传递给LLM的提示,包含额外的指令。

  • strict_mode (bool, optional) – 确定转换器是否应应用过滤以严格遵守 allowed_nodesallowed_relationships。默认为 True。

  • node_properties (Union[bool, List[str]]) – 如果为True,LLM可以从文本中提取任何节点属性。或者,可以提供一组有效的属性列表,限制LLM仅提取指定的属性。

  • relationship_properties (Union[bool, List[str]]) – 如果为True,LLM可以从文本中提取任何关系属性。或者,可以提供一组有效的属性列表,限制LLM仅提取指定的属性。

  • ignore_tool_usage (bool) – 指示转换器是否应绕过语言模型的结构化输出功能的使用。如果设置为True,转换器将不会使用语言模型的原生函数调用能力来处理结构化输出。默认为False。

  • additional_instructions (str) – 允许您在不更改整个提示的情况下添加额外的指令。

示例

方法

__init__(llm[, allowed_nodes, ...])

aconvert_to_graph_documents(documents[, config])

异步将一系列文档转换为图形文档。

aprocess_response(document[, config])

异步处理单个文档,将其转换为图形文档。

convert_to_graph_documents(documents[, config])

将一系列文档转换为图形文档。

process_response(document[, config])

处理单个文档,使用基于模型模式和约束的LLM将其转换为图形文档。

__init__(llm: BaseLanguageModel, allowed_nodes: List[str] = [], allowed_relationships: List[str] | List[Tuple[str, str, str]] = [], prompt: ChatPromptTemplate | None = None, strict_mode: bool = True, node_properties: bool | List[str] = False, relationship_properties: bool | List[str] = False, ignore_tool_usage: bool = False, additional_instructions: str = '') None[source]#
Parameters:
  • llm (BaseLanguageModel)

  • allowed_nodes (列表[字符串])

  • allowed_relationships (列表[字符串] | 列表[元组[字符串, 字符串, 字符串]])

  • prompt (ChatPromptTemplate | None)

  • strict_mode (bool)

  • node_properties (bool | List[str])

  • relationship_properties (bool | List[str])

  • ignore_tool_usage (bool)

  • additional_instructions (str)

Return type:

async aconvert_to_graph_documents(documents: Sequence[Document], config: RunnableConfig | None = None) List[GraphDocument][source]#

异步将一系列文档转换为图形文档。

Parameters:
Return type:

列表[GraphDocument]

async aprocess_response(document: Document, config: RunnableConfig | None = None) GraphDocument[来源]#

异步处理单个文档,将其转换为图形文档。

Parameters:
Return type:

GraphDocument

convert_to_graph_documents(documents: Sequence[Document], config: RunnableConfig | None = None) List[GraphDocument][source]#

将一系列文档转换为图形文档。

Parameters:
  • documents (Sequence[Document]) – 原始文档。

  • kwargs – 额外的关键字参数。

  • config (RunnableConfig | None)

Returns:

将文档转换为图形。

Return type:

序列[GraphDocument]

process_response(document: Document, config: RunnableConfig | None = None) GraphDocument[source]#

处理单个文档,使用基于模型模式和约束的LLM将其转换为图形文档。

Parameters:
Return type:

GraphDocument

使用LLMGraphTransformer的示例