trustgraph-cli 1.3.6__tar.gz → 1.3.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of trustgraph-cli might be problematic. Click here for more details.
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/PKG-INFO +1 -1
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/pyproject.toml +2 -0
- trustgraph_cli-1.3.8/trustgraph/cli/invoke_nlp_query.py +111 -0
- trustgraph_cli-1.3.8/trustgraph/cli/invoke_structured_query.py +159 -0
- trustgraph_cli-1.3.8/trustgraph/cli_version.py +1 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph_cli.egg-info/PKG-INFO +1 -1
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph_cli.egg-info/SOURCES.txt +2 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph_cli.egg-info/entry_points.txt +2 -0
- trustgraph_cli-1.3.6/trustgraph/cli_version.py +0 -1
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/README.md +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/setup.cfg +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/__init__.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/add_library_document.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/delete_config_item.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/delete_flow_class.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/delete_kg_core.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/delete_mcp_tool.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/delete_tool.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/dump_msgpack.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/get_config_item.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/get_flow_class.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/get_kg_core.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/graph_to_turtle.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/init_pulsar_manager.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/init_trustgraph.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/invoke_agent.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/invoke_document_rag.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/invoke_graph_rag.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/invoke_llm.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/invoke_mcp_tool.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/invoke_objects_query.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/invoke_prompt.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/list_config_items.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/load_doc_embeds.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/load_kg_core.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/load_knowledge.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/load_pdf.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/load_sample_documents.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/load_text.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/load_turtle.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/put_config_item.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/put_flow_class.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/put_kg_core.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/remove_library_document.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/save_doc_embeds.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/set_mcp_tool.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/set_prompt.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/set_token_costs.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/set_tool.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_config.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_flow_classes.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_flow_state.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_flows.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_graph.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_kg_cores.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_library_documents.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_library_processing.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_mcp_tools.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_processor_state.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_prompts.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_token_costs.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_token_rate.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/show_tools.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/start_flow.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/start_library_processing.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/stop_flow.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/stop_library_processing.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph/cli/unload_kg_core.py +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph_cli.egg-info/dependency_links.txt +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph_cli.egg-info/requires.txt +0 -0
- {trustgraph_cli-1.3.6 → trustgraph_cli-1.3.8}/trustgraph_cli.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trustgraph-cli
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.8
|
|
4
4
|
Summary: TrustGraph provides a means to run a pipeline of flexible AI processing components in a flexible means to achieve a processing pipeline.
|
|
5
5
|
Author-email: "trustgraph.ai" <security@trustgraph.ai>
|
|
6
6
|
Project-URL: Homepage, https://github.com/trustgraph-ai/trustgraph
|
|
@@ -43,8 +43,10 @@ tg-invoke-document-rag = "trustgraph.cli.invoke_document_rag:main"
|
|
|
43
43
|
tg-invoke-graph-rag = "trustgraph.cli.invoke_graph_rag:main"
|
|
44
44
|
tg-invoke-llm = "trustgraph.cli.invoke_llm:main"
|
|
45
45
|
tg-invoke-mcp-tool = "trustgraph.cli.invoke_mcp_tool:main"
|
|
46
|
+
tg-invoke-nlp-query = "trustgraph.cli.invoke_nlp_query:main"
|
|
46
47
|
tg-invoke-objects-query = "trustgraph.cli.invoke_objects_query:main"
|
|
47
48
|
tg-invoke-prompt = "trustgraph.cli.invoke_prompt:main"
|
|
49
|
+
tg-invoke-structured-query = "trustgraph.cli.invoke_structured_query:main"
|
|
48
50
|
tg-load-doc-embeds = "trustgraph.cli.load_doc_embeds:main"
|
|
49
51
|
tg-load-kg-core = "trustgraph.cli.load_kg_core:main"
|
|
50
52
|
tg-load-pdf = "trustgraph.cli.load_pdf:main"
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Uses the NLP Query service to convert natural language questions to GraphQL queries
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import argparse
|
|
6
|
+
import os
|
|
7
|
+
import json
|
|
8
|
+
import sys
|
|
9
|
+
from trustgraph.api import Api
|
|
10
|
+
|
|
11
|
+
default_url = os.getenv("TRUSTGRAPH_URL", 'http://localhost:8088/')
|
|
12
|
+
|
|
13
|
+
def nlp_query(url, flow_id, question, max_results, output_format='json'):
|
|
14
|
+
|
|
15
|
+
api = Api(url).flow().id(flow_id)
|
|
16
|
+
|
|
17
|
+
resp = api.nlp_query(
|
|
18
|
+
question=question,
|
|
19
|
+
max_results=max_results
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
# Check for errors
|
|
23
|
+
if "error" in resp and resp["error"]:
|
|
24
|
+
print("Error:", resp["error"].get("message", "Unknown error"), file=sys.stderr)
|
|
25
|
+
sys.exit(1)
|
|
26
|
+
|
|
27
|
+
# Format output based on requested format
|
|
28
|
+
if output_format == 'json':
|
|
29
|
+
print(json.dumps(resp, indent=2))
|
|
30
|
+
elif output_format == 'graphql':
|
|
31
|
+
# Just print the GraphQL query
|
|
32
|
+
if "graphql_query" in resp:
|
|
33
|
+
print(resp["graphql_query"])
|
|
34
|
+
else:
|
|
35
|
+
print("No GraphQL query generated", file=sys.stderr)
|
|
36
|
+
sys.exit(1)
|
|
37
|
+
elif output_format == 'summary':
|
|
38
|
+
# Print a human-readable summary
|
|
39
|
+
if "graphql_query" in resp:
|
|
40
|
+
print(f"Generated GraphQL Query:")
|
|
41
|
+
print("-" * 40)
|
|
42
|
+
print(resp["graphql_query"])
|
|
43
|
+
print("-" * 40)
|
|
44
|
+
if "detected_schemas" in resp and resp["detected_schemas"]:
|
|
45
|
+
print(f"Detected Schemas: {', '.join(resp['detected_schemas'])}")
|
|
46
|
+
if "confidence" in resp:
|
|
47
|
+
print(f"Confidence: {resp['confidence']:.2%}")
|
|
48
|
+
if "variables" in resp and resp["variables"]:
|
|
49
|
+
print(f"Variables: {json.dumps(resp['variables'], indent=2)}")
|
|
50
|
+
else:
|
|
51
|
+
print("No GraphQL query generated", file=sys.stderr)
|
|
52
|
+
sys.exit(1)
|
|
53
|
+
|
|
54
|
+
def main():
|
|
55
|
+
|
|
56
|
+
parser = argparse.ArgumentParser(
|
|
57
|
+
prog='tg-invoke-nlp-query',
|
|
58
|
+
description=__doc__,
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
parser.add_argument(
|
|
62
|
+
'-u', '--url',
|
|
63
|
+
default=default_url,
|
|
64
|
+
help=f'API URL (default: {default_url})',
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
parser.add_argument(
|
|
68
|
+
'-f', '--flow-id',
|
|
69
|
+
default="default",
|
|
70
|
+
help=f'Flow ID (default: default)'
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
parser.add_argument(
|
|
74
|
+
'-q', '--question',
|
|
75
|
+
required=True,
|
|
76
|
+
help='Natural language question to convert to GraphQL',
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
parser.add_argument(
|
|
80
|
+
'-m', '--max-results',
|
|
81
|
+
type=int,
|
|
82
|
+
default=100,
|
|
83
|
+
help='Maximum number of results (default: 100)'
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
parser.add_argument(
|
|
87
|
+
'--format',
|
|
88
|
+
choices=['json', 'graphql', 'summary'],
|
|
89
|
+
default='summary',
|
|
90
|
+
help='Output format (default: summary)'
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
args = parser.parse_args()
|
|
94
|
+
|
|
95
|
+
try:
|
|
96
|
+
|
|
97
|
+
nlp_query(
|
|
98
|
+
url=args.url,
|
|
99
|
+
flow_id=args.flow_id,
|
|
100
|
+
question=args.question,
|
|
101
|
+
max_results=args.max_results,
|
|
102
|
+
output_format=args.format,
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
except Exception as e:
|
|
106
|
+
|
|
107
|
+
print("Exception:", e, flush=True, file=sys.stderr)
|
|
108
|
+
sys.exit(1)
|
|
109
|
+
|
|
110
|
+
if __name__ == "__main__":
|
|
111
|
+
main()
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Uses the Structured Query service to execute natural language questions against structured data
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import argparse
|
|
6
|
+
import os
|
|
7
|
+
import json
|
|
8
|
+
import sys
|
|
9
|
+
import csv
|
|
10
|
+
import io
|
|
11
|
+
from trustgraph.api import Api
|
|
12
|
+
from tabulate import tabulate
|
|
13
|
+
|
|
14
|
+
default_url = os.getenv("TRUSTGRAPH_URL", 'http://localhost:8088/')
|
|
15
|
+
|
|
16
|
+
def format_output(data, output_format):
|
|
17
|
+
"""Format structured query response data in the specified format"""
|
|
18
|
+
if not data:
|
|
19
|
+
return "No data returned"
|
|
20
|
+
|
|
21
|
+
# Handle case where data contains multiple query results
|
|
22
|
+
if isinstance(data, dict) and len(data) == 1:
|
|
23
|
+
# Single query result - extract the list
|
|
24
|
+
query_name, result_list = next(iter(data.items()))
|
|
25
|
+
if isinstance(result_list, list):
|
|
26
|
+
return format_table_data(result_list, query_name, output_format)
|
|
27
|
+
|
|
28
|
+
# Multiple queries or non-list data - use JSON format
|
|
29
|
+
if output_format == 'json':
|
|
30
|
+
return json.dumps(data, indent=2)
|
|
31
|
+
else:
|
|
32
|
+
return json.dumps(data, indent=2) # Fallback to JSON
|
|
33
|
+
|
|
34
|
+
def format_table_data(rows, table_name, output_format):
|
|
35
|
+
"""Format a list of rows in the specified format"""
|
|
36
|
+
if not rows:
|
|
37
|
+
return f"No {table_name} found"
|
|
38
|
+
|
|
39
|
+
if output_format == 'json':
|
|
40
|
+
return json.dumps({table_name: rows}, indent=2)
|
|
41
|
+
|
|
42
|
+
elif output_format == 'csv':
|
|
43
|
+
# Get field names in order from first row, then add any missing ones
|
|
44
|
+
fieldnames = list(rows[0].keys()) if rows else []
|
|
45
|
+
# Add any additional fields from other rows that might be missing
|
|
46
|
+
all_fields = set(fieldnames)
|
|
47
|
+
for row in rows:
|
|
48
|
+
for field in row.keys():
|
|
49
|
+
if field not in all_fields:
|
|
50
|
+
fieldnames.append(field)
|
|
51
|
+
all_fields.add(field)
|
|
52
|
+
|
|
53
|
+
# Create CSV string
|
|
54
|
+
output = io.StringIO()
|
|
55
|
+
writer = csv.DictWriter(output, fieldnames=fieldnames)
|
|
56
|
+
writer.writeheader()
|
|
57
|
+
writer.writerows(rows)
|
|
58
|
+
return output.getvalue().rstrip()
|
|
59
|
+
|
|
60
|
+
elif output_format == 'table':
|
|
61
|
+
# Get field names in order from first row, then add any missing ones
|
|
62
|
+
fieldnames = list(rows[0].keys()) if rows else []
|
|
63
|
+
# Add any additional fields from other rows that might be missing
|
|
64
|
+
all_fields = set(fieldnames)
|
|
65
|
+
for row in rows:
|
|
66
|
+
for field in row.keys():
|
|
67
|
+
if field not in all_fields:
|
|
68
|
+
fieldnames.append(field)
|
|
69
|
+
all_fields.add(field)
|
|
70
|
+
|
|
71
|
+
# Create table data
|
|
72
|
+
table_data = []
|
|
73
|
+
for row in rows:
|
|
74
|
+
table_row = [row.get(field, '') for field in fieldnames]
|
|
75
|
+
table_data.append(table_row)
|
|
76
|
+
|
|
77
|
+
return tabulate(table_data, headers=fieldnames, tablefmt='pretty')
|
|
78
|
+
|
|
79
|
+
else:
|
|
80
|
+
return json.dumps({table_name: rows}, indent=2)
|
|
81
|
+
|
|
82
|
+
def structured_query(url, flow_id, question, output_format='table'):
|
|
83
|
+
|
|
84
|
+
api = Api(url).flow().id(flow_id)
|
|
85
|
+
|
|
86
|
+
resp = api.structured_query(question=question)
|
|
87
|
+
|
|
88
|
+
# Check for errors
|
|
89
|
+
if "error" in resp and resp["error"]:
|
|
90
|
+
print("Error:", resp["error"].get("message", "Unknown error"), file=sys.stderr)
|
|
91
|
+
sys.exit(1)
|
|
92
|
+
|
|
93
|
+
# Check for query errors
|
|
94
|
+
if "errors" in resp and resp["errors"]:
|
|
95
|
+
print("Query Errors:", file=sys.stderr)
|
|
96
|
+
for error in resp["errors"]:
|
|
97
|
+
print(f" - {error}", file=sys.stderr)
|
|
98
|
+
# Still print data if available
|
|
99
|
+
if "data" in resp and resp["data"]:
|
|
100
|
+
print(format_output(resp["data"], output_format))
|
|
101
|
+
sys.exit(1)
|
|
102
|
+
|
|
103
|
+
# Print the data
|
|
104
|
+
if "data" in resp:
|
|
105
|
+
print(format_output(resp["data"], output_format))
|
|
106
|
+
else:
|
|
107
|
+
print("No data returned", file=sys.stderr)
|
|
108
|
+
sys.exit(1)
|
|
109
|
+
|
|
110
|
+
def main():
|
|
111
|
+
|
|
112
|
+
parser = argparse.ArgumentParser(
|
|
113
|
+
prog='tg-invoke-structured-query',
|
|
114
|
+
description=__doc__,
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
parser.add_argument(
|
|
118
|
+
'-u', '--url',
|
|
119
|
+
default=default_url,
|
|
120
|
+
help=f'API URL (default: {default_url})',
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
parser.add_argument(
|
|
124
|
+
'-f', '--flow-id',
|
|
125
|
+
default="default",
|
|
126
|
+
help=f'Flow ID (default: default)'
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
parser.add_argument(
|
|
130
|
+
'-q', '--question',
|
|
131
|
+
required=True,
|
|
132
|
+
help='Natural language question to execute',
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
parser.add_argument(
|
|
136
|
+
'--format',
|
|
137
|
+
choices=['table', 'json', 'csv'],
|
|
138
|
+
default='table',
|
|
139
|
+
help='Output format (default: table)'
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
args = parser.parse_args()
|
|
143
|
+
|
|
144
|
+
try:
|
|
145
|
+
|
|
146
|
+
structured_query(
|
|
147
|
+
url=args.url,
|
|
148
|
+
flow_id=args.flow_id,
|
|
149
|
+
question=args.question,
|
|
150
|
+
output_format=args.format,
|
|
151
|
+
)
|
|
152
|
+
|
|
153
|
+
except Exception as e:
|
|
154
|
+
|
|
155
|
+
print("Exception:", e, flush=True, file=sys.stderr)
|
|
156
|
+
sys.exit(1)
|
|
157
|
+
|
|
158
|
+
if __name__ == "__main__":
|
|
159
|
+
main()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.3.8"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trustgraph-cli
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.8
|
|
4
4
|
Summary: TrustGraph provides a means to run a pipeline of flexible AI processing components in a flexible means to achieve a processing pipeline.
|
|
5
5
|
Author-email: "trustgraph.ai" <security@trustgraph.ai>
|
|
6
6
|
Project-URL: Homepage, https://github.com/trustgraph-ai/trustgraph
|
|
@@ -20,8 +20,10 @@ trustgraph/cli/invoke_document_rag.py
|
|
|
20
20
|
trustgraph/cli/invoke_graph_rag.py
|
|
21
21
|
trustgraph/cli/invoke_llm.py
|
|
22
22
|
trustgraph/cli/invoke_mcp_tool.py
|
|
23
|
+
trustgraph/cli/invoke_nlp_query.py
|
|
23
24
|
trustgraph/cli/invoke_objects_query.py
|
|
24
25
|
trustgraph/cli/invoke_prompt.py
|
|
26
|
+
trustgraph/cli/invoke_structured_query.py
|
|
25
27
|
trustgraph/cli/list_config_items.py
|
|
26
28
|
trustgraph/cli/load_doc_embeds.py
|
|
27
29
|
trustgraph/cli/load_kg_core.py
|
|
@@ -16,8 +16,10 @@ tg-invoke-document-rag = trustgraph.cli.invoke_document_rag:main
|
|
|
16
16
|
tg-invoke-graph-rag = trustgraph.cli.invoke_graph_rag:main
|
|
17
17
|
tg-invoke-llm = trustgraph.cli.invoke_llm:main
|
|
18
18
|
tg-invoke-mcp-tool = trustgraph.cli.invoke_mcp_tool:main
|
|
19
|
+
tg-invoke-nlp-query = trustgraph.cli.invoke_nlp_query:main
|
|
19
20
|
tg-invoke-objects-query = trustgraph.cli.invoke_objects_query:main
|
|
20
21
|
tg-invoke-prompt = trustgraph.cli.invoke_prompt:main
|
|
22
|
+
tg-invoke-structured-query = trustgraph.cli.invoke_structured_query:main
|
|
21
23
|
tg-list-config-items = trustgraph.cli.list_config_items:main
|
|
22
24
|
tg-load-doc-embeds = trustgraph.cli.load_doc_embeds:main
|
|
23
25
|
tg-load-kg-core = trustgraph.cli.load_kg_core:main
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.3.6"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|