Source code for graphragzen.entity_extraction.typing
from typing import List, Optional
from graphragzen.prompts.default_prompts import entity_extraction_prompts
from ..typing.MappedBaseModel import MappedBaseModel
[docs]
class EntityExtractionPromptFormatting(MappedBaseModel):
"""Values used to format the entity extraction prompt
Args:
entity_categories (List[str], optional): The categories that can be assigned to entities.
Defaults to ['organization', 'person', 'geo', 'event'].
input_text (str, optional): The text to extract entities from. Defaults to None.
""" # noqa: W605
entity_categories: List[str] = ["organization", "person", "geo", "event"]
input_text: Optional[str] = None
[docs]
class EntityExtractionPrompts(MappedBaseModel):
"""Base prompts for entity extraction
Args:
entity_extraction_prompt (str, optional): Main extraction prompt.
Defaults to `graphragzen.prompts.default_prompts.entity_extraction_prompts.ENTITY_EXTRACTION_PROMPT`
continue_prompt (str, optional): Prompt that asks the LLM to continue extracting entities.
Defaults to `graphragzen.prompts.default_prompts.entity_extraction_prompts.CONTINUE_PROMPT`
loop_prompt (str, optional): Prompt that asks the LLM if there are more entities to extract.
Defaults to `graphragzen.prompts.default_prompts.entity_extraction_prompts.LOOP_PROMPT`
""" # noqa: E501
entity_extraction_prompt: str = entity_extraction_prompts.ENTITY_EXTRACTION_PROMPT
continue_prompt: str = entity_extraction_prompts.CONTINUE_PROMPT
loop_prompt: str = entity_extraction_prompts.LOOP_PROMPT
[docs]
class EntityExtractionPromptConfig(MappedBaseModel):
"""Config for the prompt used to extract entities
Args:
prompt (EntityExtractionPrompts, optional): Base prompts
formatting (EntityExtractionPromptFormatting, optional): Values used to format the base
prompts.
"""
prompts: EntityExtractionPrompts = EntityExtractionPrompts()
formatting: EntityExtractionPromptFormatting = EntityExtractionPromptFormatting()