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_nodes 和 allowed_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:
文档 (序列[Document])
config (RunnableConfig | None)
- Return type:
列表[GraphDocument]
- async aprocess_response(document: Document, config: RunnableConfig | None = None) GraphDocument [来源]#
异步处理单个文档,将其转换为图形文档。
- Parameters:
document (Document)
config (RunnableConfig | None)
- Return type:
- 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:
document (Document)
config (RunnableConfig | None)
- Return type:
使用LLMGraphTransformer的示例