forked from Archives/langchain
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.5 KiB
Python
38 lines
1.5 KiB
Python
# flake8: noqa
|
|
|
|
from langchain.graphs.networkx_graph import KG_TRIPLE_DELIMITER
|
|
from langchain.prompts.prompt import PromptTemplate
|
|
|
|
_DEFAULT_KNOWLEDGE_TRIPLE_EXTRACTION_TEMPLATE = (
|
|
"You are a networked intelligence helping a human track knowledge triples"
|
|
" about all relevant people, things, concepts, etc. and integrating"
|
|
" them with your knowledge stored within your weights"
|
|
" as well as that stored in a knowledge graph."
|
|
" Extract all of the knowledge triples from the text."
|
|
" A knowledge triple is a clause that contains a subject, a predicate,"
|
|
" and an object. The subject is the entity being described,"
|
|
" the predicate is the property of the subject that is being"
|
|
" described, and the object is the value of the property.\n\n"
|
|
"EXAMPLE\n"
|
|
"It's a state in the US. It's also the number 1 producer of gold in the US.\n\n"
|
|
f"Output: (Nevada, is a, state){KG_TRIPLE_DELIMITER}(Nevada, is in, US)"
|
|
f"{KG_TRIPLE_DELIMITER}(Nevada, is the number 1 producer of, gold)\n"
|
|
"END OF EXAMPLE\n\n"
|
|
"EXAMPLE\n"
|
|
"I'm going to the store.\n\n"
|
|
"Output: NONE\n"
|
|
"END OF EXAMPLE\n\n"
|
|
"EXAMPLE\n"
|
|
"Oh huh. I know Descartes likes to drive antique scooters and play the mandolin.\n"
|
|
f"Output: (Descartes, likes to drive, antique scooters){KG_TRIPLE_DELIMITER}(Descartes, plays, mandolin)\n"
|
|
"END OF EXAMPLE\n\n"
|
|
"EXAMPLE\n"
|
|
"{text}"
|
|
"Output:"
|
|
)
|
|
|
|
KNOWLEDGE_TRIPLE_EXTRACTION_PROMPT = PromptTemplate(
|
|
input_variables=["text"],
|
|
template=_DEFAULT_KNOWLEDGE_TRIPLE_EXTRACTION_TEMPLATE,
|
|
)
|