mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-20 13:54:48 +00:00
parent
0006075b08
commit
68599d98c2
@ -20,7 +20,14 @@ from langchain.utilities.clickup import ClickupAPIWrapper
|
|||||||
|
|
||||||
|
|
||||||
class ClickupToolkit(BaseToolkit):
|
class ClickupToolkit(BaseToolkit):
|
||||||
"""Clickup Toolkit."""
|
"""Clickup Toolkit.
|
||||||
|
|
||||||
|
*Security Note*: This toolkit contains tools that can read and modify
|
||||||
|
the state of a service; e.g., by reading, creating, updating, deleting
|
||||||
|
data associated with this service.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
|
"""
|
||||||
|
|
||||||
tools: List[BaseTool] = []
|
tools: List[BaseTool] = []
|
||||||
|
|
||||||
|
@ -13,7 +13,19 @@ from langchain.utilities.requests import Requests
|
|||||||
|
|
||||||
|
|
||||||
class NLAToolkit(BaseToolkit):
|
class NLAToolkit(BaseToolkit):
|
||||||
"""Natural Language API Toolkit."""
|
"""Natural Language API Toolkit.
|
||||||
|
|
||||||
|
*Security Note*: This toolkit creates tools that enable making calls
|
||||||
|
to an Open API compliant API.
|
||||||
|
|
||||||
|
The tools created by this toolkit may be able to make GET, POST,
|
||||||
|
PATCH, PUT, DELETE requests to any of the exposed endpoints on
|
||||||
|
the API.
|
||||||
|
|
||||||
|
Control access to who can use this toolkit.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
|
"""
|
||||||
|
|
||||||
nla_tools: Sequence[NLATool] = Field(...)
|
nla_tools: Sequence[NLATool] = Field(...)
|
||||||
"""List of API Endpoint Tools."""
|
"""List of API Endpoint Tools."""
|
||||||
|
@ -28,7 +28,17 @@ from langchain.utilities.powerbi import PowerBIDataset
|
|||||||
|
|
||||||
|
|
||||||
class PowerBIToolkit(BaseToolkit):
|
class PowerBIToolkit(BaseToolkit):
|
||||||
"""Toolkit for interacting with Power BI dataset."""
|
"""Toolkit for interacting with Power BI dataset.
|
||||||
|
|
||||||
|
*Security Note*: This toolkit interacts with an external service.
|
||||||
|
|
||||||
|
Control access to who can use this toolkit.
|
||||||
|
|
||||||
|
Make sure that the capabilities given by this toolkit to the calling
|
||||||
|
code are appropriately scoped to the application.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
|
"""
|
||||||
|
|
||||||
powerbi: PowerBIDataset = Field(exclude=True)
|
powerbi: PowerBIDataset = Field(exclude=True)
|
||||||
llm: Union[BaseLanguageModel, BaseChatModel] = Field(exclude=True)
|
llm: Union[BaseLanguageModel, BaseChatModel] = Field(exclude=True)
|
||||||
|
@ -19,7 +19,19 @@ from langchain.schema import BasePromptTemplate
|
|||||||
|
|
||||||
|
|
||||||
class ArangoGraphQAChain(Chain):
|
class ArangoGraphQAChain(Chain):
|
||||||
"""Chain for question-answering against a graph by generating AQL statements."""
|
"""Chain for question-answering against a graph by generating AQL statements.
|
||||||
|
|
||||||
|
*Security note*: Make sure that the database connection uses credentials
|
||||||
|
that are narrowly-scoped to only include necessary permissions.
|
||||||
|
Failure to do so may result in data corruption or loss, since the calling
|
||||||
|
code may attempt commands that would result in deletion, mutation
|
||||||
|
of data if appropriately prompted or reading sensitive data if such
|
||||||
|
data is present in the database.
|
||||||
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
|
"""
|
||||||
|
|
||||||
graph: ArangoGraph = Field(exclude=True)
|
graph: ArangoGraph = Field(exclude=True)
|
||||||
aql_generation_chain: LLMChain
|
aql_generation_chain: LLMChain
|
||||||
|
@ -14,7 +14,19 @@ from langchain.schema.language_model import BaseLanguageModel
|
|||||||
|
|
||||||
|
|
||||||
class GraphQAChain(Chain):
|
class GraphQAChain(Chain):
|
||||||
"""Chain for question-answering against a graph."""
|
"""Chain for question-answering against a graph.
|
||||||
|
|
||||||
|
*Security note*: Make sure that the database connection uses credentials
|
||||||
|
that are narrowly-scoped to only include necessary permissions.
|
||||||
|
Failure to do so may result in data corruption or loss, since the calling
|
||||||
|
code may attempt commands that would result in deletion, mutation
|
||||||
|
of data if appropriately prompted or reading sensitive data if such
|
||||||
|
data is present in the database.
|
||||||
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
|
"""
|
||||||
|
|
||||||
graph: NetworkxEntityGraph = Field(exclude=True)
|
graph: NetworkxEntityGraph = Field(exclude=True)
|
||||||
entity_extraction_chain: LLMChain
|
entity_extraction_chain: LLMChain
|
||||||
|
@ -77,7 +77,19 @@ def construct_schema(
|
|||||||
|
|
||||||
|
|
||||||
class GraphCypherQAChain(Chain):
|
class GraphCypherQAChain(Chain):
|
||||||
"""Chain for question-answering against a graph by generating Cypher statements."""
|
"""Chain for question-answering against a graph by generating Cypher statements.
|
||||||
|
|
||||||
|
*Security note*: Make sure that the database connection uses credentials
|
||||||
|
that are narrowly-scoped to only include necessary permissions.
|
||||||
|
Failure to do so may result in data corruption or loss, since the calling
|
||||||
|
code may attempt commands that would result in deletion, mutation
|
||||||
|
of data if appropriately prompted or reading sensitive data if such
|
||||||
|
data is present in the database.
|
||||||
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
|
"""
|
||||||
|
|
||||||
graph: GraphStore = Field(exclude=True)
|
graph: GraphStore = Field(exclude=True)
|
||||||
cypher_generation_chain: LLMChain
|
cypher_generation_chain: LLMChain
|
||||||
|
@ -35,7 +35,19 @@ def extract_cypher(text: str) -> str:
|
|||||||
|
|
||||||
|
|
||||||
class FalkorDBQAChain(Chain):
|
class FalkorDBQAChain(Chain):
|
||||||
"""Chain for question-answering against a graph by generating Cypher statements."""
|
"""Chain for question-answering against a graph by generating Cypher statements.
|
||||||
|
|
||||||
|
*Security note*: Make sure that the database connection uses credentials
|
||||||
|
that are narrowly-scoped to only include necessary permissions.
|
||||||
|
Failure to do so may result in data corruption or loss, since the calling
|
||||||
|
code may attempt commands that would result in deletion, mutation
|
||||||
|
of data if appropriately prompted or reading sensitive data if such
|
||||||
|
data is present in the database.
|
||||||
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
|
"""
|
||||||
|
|
||||||
graph: FalkorDBGraph = Field(exclude=True)
|
graph: FalkorDBGraph = Field(exclude=True)
|
||||||
cypher_generation_chain: LLMChain
|
cypher_generation_chain: LLMChain
|
||||||
|
@ -17,7 +17,19 @@ from langchain.schema.language_model import BaseLanguageModel
|
|||||||
|
|
||||||
|
|
||||||
class HugeGraphQAChain(Chain):
|
class HugeGraphQAChain(Chain):
|
||||||
"""Chain for question-answering against a graph by generating gremlin statements."""
|
"""Chain for question-answering against a graph by generating gremlin statements.
|
||||||
|
|
||||||
|
*Security note*: Make sure that the database connection uses credentials
|
||||||
|
that are narrowly-scoped to only include necessary permissions.
|
||||||
|
Failure to do so may result in data corruption or loss, since the calling
|
||||||
|
code may attempt commands that would result in deletion, mutation
|
||||||
|
of data if appropriately prompted or reading sensitive data if such
|
||||||
|
data is present in the database.
|
||||||
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
|
"""
|
||||||
|
|
||||||
graph: HugeGraph = Field(exclude=True)
|
graph: HugeGraph = Field(exclude=True)
|
||||||
gremlin_generation_chain: LLMChain
|
gremlin_generation_chain: LLMChain
|
||||||
|
@ -14,8 +14,18 @@ from langchain.schema.language_model import BaseLanguageModel
|
|||||||
|
|
||||||
|
|
||||||
class KuzuQAChain(Chain):
|
class KuzuQAChain(Chain):
|
||||||
"""Chain for question-answering against a graph by generating Cypher statements for
|
"""Question-answering against a graph by generating Cypher statements for Kùzu.
|
||||||
Kùzu.
|
|
||||||
|
*Security note*: Make sure that the database connection uses credentials
|
||||||
|
that are narrowly-scoped to only include necessary permissions.
|
||||||
|
Failure to do so may result in data corruption or loss, since the calling
|
||||||
|
code may attempt commands that would result in deletion, mutation
|
||||||
|
of data if appropriately prompted or reading sensitive data if such
|
||||||
|
data is present in the database.
|
||||||
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
graph: KuzuGraph = Field(exclude=True)
|
graph: KuzuGraph = Field(exclude=True)
|
||||||
|
@ -14,7 +14,19 @@ from langchain.schema.language_model import BaseLanguageModel
|
|||||||
|
|
||||||
|
|
||||||
class NebulaGraphQAChain(Chain):
|
class NebulaGraphQAChain(Chain):
|
||||||
"""Chain for question-answering against a graph by generating nGQL statements."""
|
"""Chain for question-answering against a graph by generating nGQL statements.
|
||||||
|
|
||||||
|
*Security note*: Make sure that the database connection uses credentials
|
||||||
|
that are narrowly-scoped to only include necessary permissions.
|
||||||
|
Failure to do so may result in data corruption or loss, since the calling
|
||||||
|
code may attempt commands that would result in deletion, mutation
|
||||||
|
of data if appropriately prompted or reading sensitive data if such
|
||||||
|
data is present in the database.
|
||||||
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
|
"""
|
||||||
|
|
||||||
graph: NebulaGraph = Field(exclude=True)
|
graph: NebulaGraph = Field(exclude=True)
|
||||||
ngql_generation_chain: LLMChain
|
ngql_generation_chain: LLMChain
|
||||||
|
@ -85,6 +85,17 @@ class NeptuneOpenCypherQAChain(Chain):
|
|||||||
"""Chain for question-answering against a Neptune graph
|
"""Chain for question-answering against a Neptune graph
|
||||||
by generating openCypher statements.
|
by generating openCypher statements.
|
||||||
|
|
||||||
|
*Security note*: Make sure that the database connection uses credentials
|
||||||
|
that are narrowly-scoped to only include necessary permissions.
|
||||||
|
Failure to do so may result in data corruption or loss, since the calling
|
||||||
|
code may attempt commands that would result in deletion, mutation
|
||||||
|
of data if appropriately prompted or reading sensitive data if such
|
||||||
|
data is present in the database.
|
||||||
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
|
@ -21,9 +21,18 @@ from langchain.schema.language_model import BaseLanguageModel
|
|||||||
|
|
||||||
|
|
||||||
class GraphSparqlQAChain(Chain):
|
class GraphSparqlQAChain(Chain):
|
||||||
"""
|
"""Question-answering against an RDF or OWL graph by generating SPARQL statements.
|
||||||
Chain for question-answering against an RDF or OWL graph by generating
|
|
||||||
SPARQL statements.
|
*Security note*: Make sure that the database connection uses credentials
|
||||||
|
that are narrowly-scoped to only include necessary permissions.
|
||||||
|
Failure to do so may result in data corruption or loss, since the calling
|
||||||
|
code may attempt commands that would result in deletion, mutation
|
||||||
|
of data if appropriately prompted or reading sensitive data if such
|
||||||
|
data is present in the database.
|
||||||
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
graph: RdfGraph = Field(exclude=True)
|
graph: RdfGraph = Field(exclude=True)
|
||||||
|
@ -14,6 +14,8 @@ class ArangoGraph:
|
|||||||
data is present in the database.
|
data is present in the database.
|
||||||
The best way to guard against such negative outcomes is to (as appropriate)
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
limit the permissions granted to the credentials used with this tool.
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, db: Any) -> None:
|
def __init__(self, db: Any) -> None:
|
||||||
|
@ -43,6 +43,8 @@ class FalkorDBGraph(GraphStore):
|
|||||||
data is present in the database.
|
data is present in the database.
|
||||||
The best way to guard against such negative outcomes is to (as appropriate)
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
limit the permissions granted to the credentials used with this tool.
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
|
@ -12,6 +12,8 @@ class HugeGraph:
|
|||||||
data is present in the database.
|
data is present in the database.
|
||||||
The best way to guard against such negative outcomes is to (as appropriate)
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
limit the permissions granted to the credentials used with this tool.
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
|
@ -12,6 +12,8 @@ class KuzuGraph:
|
|||||||
data is present in the database.
|
data is present in the database.
|
||||||
The best way to guard against such negative outcomes is to (as appropriate)
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
limit the permissions granted to the credentials used with this tool.
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, db: Any, database: str = "kuzu") -> None:
|
def __init__(self, db: Any, database: str = "kuzu") -> None:
|
||||||
|
@ -24,6 +24,8 @@ class MemgraphGraph(Neo4jGraph):
|
|||||||
data is present in the database.
|
data is present in the database.
|
||||||
The best way to guard against such negative outcomes is to (as appropriate)
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
limit the permissions granted to the credentials used with this tool.
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
|
@ -29,6 +29,8 @@ class NebulaGraph:
|
|||||||
data is present in the database.
|
data is present in the database.
|
||||||
The best way to guard against such negative outcomes is to (as appropriate)
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
limit the permissions granted to the credentials used with this tool.
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
|
@ -40,6 +40,8 @@ class Neo4jGraph(GraphStore):
|
|||||||
data is present in the database.
|
data is present in the database.
|
||||||
The best way to guard against such negative outcomes is to (as appropriate)
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
limit the permissions granted to the credentials used with this tool.
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
|
@ -47,6 +47,8 @@ class NeptuneGraph:
|
|||||||
data is present in the database.
|
data is present in the database.
|
||||||
The best way to guard against such negative outcomes is to (as appropriate)
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
limit the permissions granted to the credentials used with this tool.
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
|
@ -57,6 +57,8 @@ class NetworkxEntityGraph:
|
|||||||
data is present in the database.
|
data is present in the database.
|
||||||
The best way to guard against such negative outcomes is to (as appropriate)
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
limit the permissions granted to the credentials used with this tool.
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, graph: Optional[Any] = None) -> None:
|
def __init__(self, graph: Optional[Any] = None) -> None:
|
||||||
|
@ -103,6 +103,8 @@ class RdfGraph:
|
|||||||
data is present in the database.
|
data is present in the database.
|
||||||
The best way to guard against such negative outcomes is to (as appropriate)
|
The best way to guard against such negative outcomes is to (as appropriate)
|
||||||
limit the permissions granted to the credentials used with this tool.
|
limit the permissions granted to the credentials used with this tool.
|
||||||
|
|
||||||
|
See https://python.langchain.com/docs/security for more information.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
|
Loading…
Reference in New Issue
Block a user