Toggle Menu
Prev Up Next

# `langchain.chains.openai_functions.extraction`.create_extraction_chain

langchain.chains.openai_functions.extraction.create_extraction_chain(schema: dict, llm: BaseLanguageModel, prompt: Optional[BasePromptTemplate] = None, tags: Optional[List[str]] = None, verbose: bool = False) → Chain

  [Deprecated] Creates a chain that extracts information from a passage.

  Parameters

    - schema (dict) – The schema of the entities to extract.

    - llm (BaseLanguageModel) – The language model to use.

    - prompt (Optional[BasePromptTemplate]) – The prompt to use for extraction.

    - verbose (bool) – Whether to run in verbose mode. In verbose mode, some intermediate logs will be printed to the console. Defaults to the global verbose value, accessible via langchain.globals.get_verbose().

    - tags (Optional[List[str]]) –

  Returns

    Chain that can be used to extract information from a passage.

  Return type

    Chain

  Notes

  Deprecated since version 0.1.14: LangChain has introduced a method called with_structured_output thatis available on ChatModels capable of tool calling.You can read more about the method here: https://python.langchain.com/docs/modules/model_io/chat/structured_output/Please follow our extraction use case documentation for more guidelineson how to do information extraction with LLMs.https://python.langchain.com/docs/use_cases/extraction/.If you notice other issues, please provide feedback here:https://github.com/langchain-ai/langchain/discussions/18154 Use from langchain_core.pydantic_v1 import BaseModel, Field from langchain_anthropic import ChatAnthropic

  > class Joke(BaseModel):

  >   setup: str = Field(description=”The setup of the joke”) punchline: str = Field(description=”The punchline to the joke”)

  > # Or any other chat model that supports tools. # Please reference to to the documentation of structured_output # to see an up to date list of which models support # with_structured_output. model = ChatAnthropic(model=”claude-3-opus-20240229”, temperature=0) structured_llm = model.with_structured_output(Joke) structured_llm.invoke(“Tell me a joke about cats.

  > > > Make sure to call the Joke function.”)

  > > instead.

# Examples using create_extraction_chain

- Schema

- Set env var OPENAI_API_KEY or load from a .env file: