Spaces:
Sleeping
Sleeping
lakshmivairamani
commited on
Upload 25 files
Browse files- templates/API_connectors.html +155 -0
- templates/base.html +38 -0
- templates/chatbot.html +79 -0
- templates/chatpage.html +91 -0
- templates/company_profile.html +138 -0
- templates/dashboard.html +142 -0
- templates/data_connectors.html +214 -0
- templates/failure.html +10 -0
- templates/footer.html +26 -0
- templates/index.html +103 -0
- templates/knowledgebase.html +229 -0
- templates/sidepane.html +101 -0
- templates/success.html +10 -0
- vectordb/openai_dbstore/DPS_School_Content.docx_1dcd3827e8e5f7a08a9c5233de3c47cc.metadata.json +1 -0
- vectordb/openai_dbstore/DPS_School_Content.docx_1dcd3827e8e5f7a08a9c5233de3c47cc.vectorstore/index.faiss +0 -0
- vectordb/openai_dbstore/DPS_School_Content.docx_1dcd3827e8e5f7a08a9c5233de3c47cc.vectorstore/index.pkl +3 -0
- vectordb/openai_dbstore/Future of Digital Freight Forwarders - BLOG.pdf_a3cfd1d6c83cfcd45146ec7c13b1d98d.metadata.json +1 -0
- vectordb/openai_dbstore/Future of Digital Freight Forwarders - BLOG.pdf_a3cfd1d6c83cfcd45146ec7c13b1d98d.vectorstore/index.faiss +0 -0
- vectordb/openai_dbstore/Future of Digital Freight Forwarders - BLOG.pdf_a3cfd1d6c83cfcd45146ec7c13b1d98d.vectorstore/index.pkl +3 -0
- vectordb/openai_dbstore/documents/Inbound.pdf_1dd51058ba4a11db1c9773ce16dfc175.metadata.json +1 -0
- vectordb/openai_dbstore/documents/Inbound.pdf_1dd51058ba4a11db1c9773ce16dfc175.vectorstore/index.faiss +0 -0
- vectordb/openai_dbstore/documents/Inbound.pdf_1dd51058ba4a11db1c9773ce16dfc175.vectorstore/index.pkl +3 -0
- vectordb/openai_dbstore/documents/NewAge (1).pdf_e4fb1ef3fb0aed5f99dbf218f2aa62af.metadata.json +1 -0
- vectordb/openai_dbstore/documents/NewAge (1).pdf_e4fb1ef3fb0aed5f99dbf218f2aa62af.vectorstore/index.faiss +0 -0
- vectordb/openai_dbstore/documents/NewAge (1).pdf_e4fb1ef3fb0aed5f99dbf218f2aa62af.vectorstore/index.pkl +3 -0
templates/API_connectors.html
ADDED
@@ -0,0 +1,155 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html>
|
3 |
+
<head>
|
4 |
+
<title>API Connectors</title>
|
5 |
+
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
6 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
|
7 |
+
<!-- Include AdminLTE CSS -->
|
8 |
+
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css">
|
9 |
+
<!-- Include DataTables CSS -->
|
10 |
+
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.25/css/dataTables.bootstrap4.min.css">
|
11 |
+
</head>
|
12 |
+
<body>
|
13 |
+
{% include 'sidepane.html' %}
|
14 |
+
|
15 |
+
<!-- Your page content goes here -->
|
16 |
+
<div class="wrapper" style="position: relative; top: 0;">
|
17 |
+
<div class="content-wrapper">
|
18 |
+
<!-- Content Header (Page header) -->
|
19 |
+
<div class="content-header">
|
20 |
+
<div class="container-fluid">
|
21 |
+
<div class="row mb-2">
|
22 |
+
<div class="col-12 d-flex justify-content-between align-items-center">
|
23 |
+
<h1 class="m-0 text-center" style="flex-grow: 1;">API Connectors</h1>
|
24 |
+
<button class="btn btn-primary" id="add">Add</button>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
</div>
|
29 |
+
<!-- Main content -->
|
30 |
+
<section class="content">
|
31 |
+
<div class="container-fluid">
|
32 |
+
<div class="row">
|
33 |
+
<div class="col-12">
|
34 |
+
<div class="card">
|
35 |
+
<div class="card-body">
|
36 |
+
<table id="knowledgeTable" class="table table-bordered table-striped">
|
37 |
+
<thead>
|
38 |
+
<tr>
|
39 |
+
<th>Sno</th>
|
40 |
+
<th>API Name</th>
|
41 |
+
<th>API Endpoint</th>
|
42 |
+
<th>Auth/Bearer token</th>
|
43 |
+
<th>View</th>
|
44 |
+
</tr>
|
45 |
+
</thead>
|
46 |
+
<tbody>
|
47 |
+
<tr>
|
48 |
+
<td>1</td>
|
49 |
+
<td>Warehouse</td>
|
50 |
+
<td>http://193.203.162.39:9090/nxt-wms/userWarehouse/fetchWarehouseForUserId</td>
|
51 |
+
<td>Admin</td>
|
52 |
+
<td><button class="btn btn-primary viewButton">View</button></td>
|
53 |
+
</tr>
|
54 |
+
<tr>
|
55 |
+
<td>2</td>
|
56 |
+
<td>customer</td>
|
57 |
+
<td>http://193.203.162.39:9090/nxt-wms/userCustomer/fetchCustomerForUserId</td>
|
58 |
+
<td>Admin</td>
|
59 |
+
<td><button class="btn btn-primary viewButton">View</button></td>
|
60 |
+
</tr>
|
61 |
+
<tr>
|
62 |
+
<td>3</td>
|
63 |
+
<td>SKU</td>
|
64 |
+
<td>http://193.203.162.39:9090/nxt-wms/sku/autoComplete</td>
|
65 |
+
<td>Admin</td>
|
66 |
+
<td><button class="btn btn-primary viewButton">View</button></td>
|
67 |
+
</tr>
|
68 |
+
<tr>
|
69 |
+
<td>4</td>
|
70 |
+
<td>ASN</td>
|
71 |
+
<td>http://193.203.162.39:9090/nxt-wms/trnHeader</td>
|
72 |
+
<td>Admin</td>
|
73 |
+
<td><button class="btn btn-primary viewButton">View</button></td>
|
74 |
+
</tr>
|
75 |
+
</tbody>
|
76 |
+
</table>
|
77 |
+
</div>
|
78 |
+
</div>
|
79 |
+
</div>
|
80 |
+
</div>
|
81 |
+
</div>
|
82 |
+
</section>
|
83 |
+
</div>
|
84 |
+
</div>
|
85 |
+
|
86 |
+
<!-- Modal -->
|
87 |
+
<div class="modal fade" id="addModal" tabindex="-1" role="dialog" aria-labelledby="addModalLabel" aria-hidden="true">
|
88 |
+
<div class="modal-dialog" role="document">
|
89 |
+
<div class="modal-content">
|
90 |
+
<div class="modal-header">
|
91 |
+
<h5 class="modal-title" id="addModalLabel">Add API details</h5>
|
92 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
93 |
+
<span aria-hidden="true">×</span>
|
94 |
+
</button>
|
95 |
+
</div>
|
96 |
+
<div class="modal-body">
|
97 |
+
<form>
|
98 |
+
<div class="form-group">
|
99 |
+
<label for="APIName">API Name</label>
|
100 |
+
<input type="text" class="form-control" id="APIName" name="APIName" required>
|
101 |
+
</div>
|
102 |
+
<div class="form-group">
|
103 |
+
<label for="APIEndpoint">API Endpoint</label>
|
104 |
+
<input type="text"class="form-control" id="APIEndpoint" name="APIEndpoint" rows="3" required></textarea>
|
105 |
+
</div>
|
106 |
+
<div class="form-group">
|
107 |
+
<label for="Auth_Bearer">Auth/Bearer token</label>
|
108 |
+
<input type="text" class="form-control" id="Auth_Bearer" name="Auth_Bearer" required>
|
109 |
+
</div>
|
110 |
+
<div class="form-group">
|
111 |
+
<label for="Inputjson">Input Parameters</label>
|
112 |
+
<input type="text" class="form-control" id="Inputjson" name="Inputjson" required>
|
113 |
+
</div>
|
114 |
+
<div class="form-group">
|
115 |
+
<label for="OutputJson">Output Json</label>
|
116 |
+
<input type="text" class="form-control" id="OutputJson" name="OutputJson" required>
|
117 |
+
</div>
|
118 |
+
<div class="form-group">
|
119 |
+
<label for="Description">Description</label>
|
120 |
+
<textarea class="form-control" id="Description" name="Description" rows="3" required></textarea>
|
121 |
+
</div>
|
122 |
+
</form>
|
123 |
+
</div>
|
124 |
+
<div class="modal-footer">
|
125 |
+
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
126 |
+
<button type="button" id="save" onclick="save_file()" class="btn btn-primary">Save</button>
|
127 |
+
</div>
|
128 |
+
</div>
|
129 |
+
</div>
|
130 |
+
</div>
|
131 |
+
|
132 |
+
|
133 |
+
<!-- Include DataTables JS and your custom script -->
|
134 |
+
<script src="https://cdn.datatables.net/1.10.25/js/jquery.dataTables.min.js"></script>
|
135 |
+
<script src="https://cdn.datatables.net/1.10.25/js/dataTables.bootstrap4.min.js"></script>
|
136 |
+
<script>
|
137 |
+
$(document).ready(function() {
|
138 |
+
// Initialize DataTable
|
139 |
+
$('#knowledgeTable').DataTable();
|
140 |
+
|
141 |
+
// Show modal function
|
142 |
+
$('#add').on('click', function() {
|
143 |
+
$('#addModal').modal('show');
|
144 |
+
});
|
145 |
+
|
146 |
+
// Your save file function here
|
147 |
+
async function save_file() {
|
148 |
+
alert('Save button clicked');
|
149 |
+
// Your save file logic goes here
|
150 |
+
}
|
151 |
+
});
|
152 |
+
</script>
|
153 |
+
|
154 |
+
</body>
|
155 |
+
</html>
|
templates/base.html
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html>
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<title>{% block title %}Your Application{% endblock %}</title>
|
6 |
+
<!-- AdminLTE CSS -->
|
7 |
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css">
|
8 |
+
<!-- Optionally, you can add custom CSS files here -->
|
9 |
+
{% block head %}{% endblock %}
|
10 |
+
</head>
|
11 |
+
<body class="{% block body_class %}{% endblock %}">
|
12 |
+
<div class="wrapper">
|
13 |
+
<!-- Header -->
|
14 |
+
{% block header %}
|
15 |
+
<!-- You can include a header here -->
|
16 |
+
{% endblock %}
|
17 |
+
|
18 |
+
<!-- Content Wrapper. Contains page content -->
|
19 |
+
<div class="content-wrapper">
|
20 |
+
<!-- Main content -->
|
21 |
+
<section class="content">
|
22 |
+
<div class="container-fluid">
|
23 |
+
{% block content %}{% endblock %}
|
24 |
+
</div>
|
25 |
+
</section>
|
26 |
+
</div>
|
27 |
+
|
28 |
+
<!-- Footer -->
|
29 |
+
{% block footer %}
|
30 |
+
<!-- You can include a footer here -->
|
31 |
+
{% endblock %}
|
32 |
+
</div>
|
33 |
+
<!-- AdminLTE JS -->
|
34 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>
|
35 |
+
<!-- Optionally, you can add custom JS files here -->
|
36 |
+
{% block scripts %}{% endblock %}
|
37 |
+
</body>
|
38 |
+
</html>
|
templates/chatbot.html
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!-- jinja2 html page with chatbot functionality using adminlte3 theme -->
|
2 |
+
<html>
|
3 |
+
<body>
|
4 |
+
<form id="myform">
|
5 |
+
<div class="content-wrapper">
|
6 |
+
<section class="content-header">
|
7 |
+
<div class="container-fluid">
|
8 |
+
<div class="row mb-2">
|
9 |
+
<div class="col-sm-6">
|
10 |
+
<h1>Chatbot</h1>
|
11 |
+
</div>
|
12 |
+
|
13 |
+
</div>
|
14 |
+
</div>
|
15 |
+
</section>
|
16 |
+
|
17 |
+
<section class="content">
|
18 |
+
<div class="container-fluid">
|
19 |
+
<div class="row">
|
20 |
+
<div class="col-md-8 offset-md-2">
|
21 |
+
<div class="card card-primary">
|
22 |
+
<div class="card-header">
|
23 |
+
<h3 class="card-title">RedmindGPT</h3>
|
24 |
+
</div>
|
25 |
+
<div class="card-body">
|
26 |
+
<div id="chat-container">
|
27 |
+
<div class="chat-messages">
|
28 |
+
<!-- Chat messages will be dynamically added here -->
|
29 |
+
</div>
|
30 |
+
<div class="chat-input">
|
31 |
+
<input type="text" class="form-control" name="user_question" id="user_question" placeholder="Type your message...">
|
32 |
+
<button id="send-button" class="form-control" onclick="clickform();">Send</button>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
+
</div>
|
40 |
+
</section>
|
41 |
+
</div>
|
42 |
+
</form>
|
43 |
+
|
44 |
+
<script>
|
45 |
+
const chatContainer = document.getElementById('chat-container');
|
46 |
+
const userInput = document.getElementById('user_question');
|
47 |
+
const sendButton = document.getElementById('send-button');
|
48 |
+
|
49 |
+
function clickform() {
|
50 |
+
|
51 |
+
|
52 |
+
var userquestion = document.getElementById('user_question').value;
|
53 |
+
|
54 |
+
|
55 |
+
var xhr = new XMLHttpRequest();
|
56 |
+
var myForm = document.getElementById('myform');
|
57 |
+
var formData = new FormData(myForm);
|
58 |
+
xhr.open("POST", "/chat_with_agent", true);
|
59 |
+
xhr.send(formData);
|
60 |
+
alert('sent');
|
61 |
+
|
62 |
+
xhr.onreadystatechange = function() {
|
63 |
+
if (xhr.readyState === XMLHttpRequest.DONE) {
|
64 |
+
if (xhr.status === 200) {
|
65 |
+
// Successfully received a response
|
66 |
+
alert(xhr.responseText);
|
67 |
+
console.log(xhr.responseText);
|
68 |
+
//chatContainer.innerHTML += '<div class="chat-message"><div class="chat-message-content"><p>'+userquestion+ '\n' + xhr.responseText + '</p></div></div>';
|
69 |
+
} else {
|
70 |
+
// There was a problem with the request
|
71 |
+
alert('There was a problem with the request.');
|
72 |
+
console.error('Error:', xhr.statusText);
|
73 |
+
}
|
74 |
+
}
|
75 |
+
};
|
76 |
+
}
|
77 |
+
</script>
|
78 |
+
</body>
|
79 |
+
</html>
|
templates/chatpage.html
ADDED
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html>
|
3 |
+
<head>
|
4 |
+
<title>Chatbot</title>
|
5 |
+
<!-- Include the necessary CSS and JS files for the AdminLTE3 theme -->
|
6 |
+
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css">
|
7 |
+
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"></script>
|
8 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"></script>
|
9 |
+
</head>
|
10 |
+
<body class="hold-transition sidebar-mini">
|
11 |
+
<div class="wrapper">
|
12 |
+
<!-- Side Pane -->
|
13 |
+
{% include 'sidepane.html' %}
|
14 |
+
<form id="myform">
|
15 |
+
<!-- Content Wrapper. Contains page content -->
|
16 |
+
<div class="content-wrapper">
|
17 |
+
<section class="content">
|
18 |
+
<div class="container-fluid">
|
19 |
+
<div class="row">
|
20 |
+
<div class="col-md-12">
|
21 |
+
<div class="card">
|
22 |
+
<div class="card-body">
|
23 |
+
<h5 class="card-title">Chat History</h5>
|
24 |
+
<textarea class="form-control" id="chatHistory" readonly></textarea>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
</div>
|
29 |
+
</div>
|
30 |
+
</section>
|
31 |
+
</div>
|
32 |
+
|
33 |
+
<!-- Form -->
|
34 |
+
<div class="container-fluid">
|
35 |
+
<div class="row" style="width:50%">
|
36 |
+
<div class="col-md-3"></div>
|
37 |
+
<div class="col-md-6" style="margin-left: 90px;">
|
38 |
+
<div class="input-group">
|
39 |
+
<input type="text" class="form-control" name="user_question" id="user_question" placeholder="Enter your question">
|
40 |
+
<button type="button" class="btn btn-primary" onclick="submitQuestion()">Submit</button>
|
41 |
+
</div>
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
</div>
|
45 |
+
</div>
|
46 |
+
</form>
|
47 |
+
<script>
|
48 |
+
function submitQuestion() {
|
49 |
+
// Get the user's question from the input box
|
50 |
+
var question = document.getElementById("user_question").value;
|
51 |
+
|
52 |
+
// Call the API with the user's question and get the response
|
53 |
+
var xhr = new XMLHttpRequest();
|
54 |
+
var myForm = document.getElementById('myform');
|
55 |
+
var formData = new FormData(myForm);
|
56 |
+
xhr.open("POST", "/chat_with_agent", true);
|
57 |
+
xhr.send(formData);
|
58 |
+
//alert('sent');
|
59 |
+
|
60 |
+
xhr.onreadystatechange = function() {
|
61 |
+
if (xhr.readyState === XMLHttpRequest.DONE) {
|
62 |
+
if (xhr.status === 200) {
|
63 |
+
// Successfully received a response
|
64 |
+
//alert(xhr.responseText);
|
65 |
+
console.log(xhr.responseText);
|
66 |
+
// Append the user's question and the response to the chat history
|
67 |
+
var chatHistory = document.getElementById("chatHistory");
|
68 |
+
chatHistory.value += "User: " + question + "\n";
|
69 |
+
chatHistory.value += "Chatbot: " + xhr.responseText + "\n";
|
70 |
+
|
71 |
+
// Clear the input box
|
72 |
+
document.getElementById("user_question").value = "";
|
73 |
+
//chatContainer.innerHTML += '<div class="chat-message"><div class="chat-message-content"><p>'+userquestion+ '\n' + xhr.responseText + '</p></div></div>';
|
74 |
+
} else {
|
75 |
+
// There was a problem with the request
|
76 |
+
alert('There was a problem with the request.');
|
77 |
+
console.error('Error:', xhr.statusText);
|
78 |
+
}
|
79 |
+
}
|
80 |
+
};
|
81 |
+
|
82 |
+
|
83 |
+
|
84 |
+
|
85 |
+
|
86 |
+
|
87 |
+
|
88 |
+
}
|
89 |
+
</script>
|
90 |
+
</body>
|
91 |
+
</html>
|
templates/company_profile.html
ADDED
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>Company Profile</title>
|
7 |
+
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
8 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
|
9 |
+
<!-- Include AdminLTE CSS -->
|
10 |
+
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css">
|
11 |
+
<!-- Include DataTables CSS -->
|
12 |
+
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.25/css/dataTables.bootstrap4.min.css">
|
13 |
+
|
14 |
+
<style>
|
15 |
+
.container {
|
16 |
+
margin-top: 50px;
|
17 |
+
max-width: 600px;
|
18 |
+
padding: 40px;
|
19 |
+
border: 1px solid #ccc;
|
20 |
+
border-radius: 5px;
|
21 |
+
//background-color: #fff;
|
22 |
+
position: relative;
|
23 |
+
z-index: 1;
|
24 |
+
}
|
25 |
+
|
26 |
+
.container::before {
|
27 |
+
content: '';
|
28 |
+
position: absolute;
|
29 |
+
top: 50%;
|
30 |
+
left: 50%;
|
31 |
+
transform: translate(-50%, -50%);
|
32 |
+
background: url('..\static\img\redmindlogo3.jpg') no-repeat center center;
|
33 |
+
background-size: contain;
|
34 |
+
opacity: 0.1;
|
35 |
+
width: 100%;
|
36 |
+
height: 100%;
|
37 |
+
z-index: -1;
|
38 |
+
}
|
39 |
+
|
40 |
+
.form-group {
|
41 |
+
margin-bottom: 20px;
|
42 |
+
}
|
43 |
+
|
44 |
+
.form-group label {
|
45 |
+
font-weight: bold;
|
46 |
+
margin-bottom: 5px;
|
47 |
+
display: block;
|
48 |
+
}
|
49 |
+
|
50 |
+
.form-group input, .form-group select {
|
51 |
+
width: 100%;
|
52 |
+
padding: 10px;
|
53 |
+
border: 1px solid #ccc;
|
54 |
+
border-radius: 4px;
|
55 |
+
}
|
56 |
+
|
57 |
+
.btn-primary {
|
58 |
+
margin-right: 10px;
|
59 |
+
color: black;
|
60 |
+
font-size: 16px;
|
61 |
+
font-weight: bold;
|
62 |
+
}
|
63 |
+
|
64 |
+
h2 {
|
65 |
+
text-align: center;
|
66 |
+
margin-bottom: 40px;
|
67 |
+
}
|
68 |
+
|
69 |
+
.btn-container {
|
70 |
+
text-align: center;
|
71 |
+
margin-top: 0px;
|
72 |
+
color: white;
|
73 |
+
}
|
74 |
+
</style>
|
75 |
+
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.25/css/dataTables.bootstrap4.min.css">
|
76 |
+
<!-- Include jQuery -->
|
77 |
+
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
78 |
+
<!-- Include DataTables JS -->
|
79 |
+
<script src="https://cdn.datatables.net/1.10.25/js/jquery.dataTables.min.js"></script>
|
80 |
+
<script src="https://cdn.datatables.net/1.10.25/js/dataTables.bootstrap4.min.js"></script>
|
81 |
+
<!-- Include AdminLTE JS -->
|
82 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>
|
83 |
+
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" />
|
84 |
+
<link href="https://cdn.jsdelivr.net/npm/@ttskch/[email protected]/dist/select2-bootstrap4.min.css" rel="stylesheet" />
|
85 |
+
</head>
|
86 |
+
|
87 |
+
<body>
|
88 |
+
{% include 'sidepane.html' %}
|
89 |
+
<div class="container mt-5">
|
90 |
+
<h2>Company Profile</h2>
|
91 |
+
<form id="companyProfileForm" class="needs-validation" novalidate>
|
92 |
+
<div class="form-group">
|
93 |
+
<label for="company_name">Company Name</label>
|
94 |
+
<input type="text" id="company_name" name="company_name" class="form-control">
|
95 |
+
</div>
|
96 |
+
<div class="form-group">
|
97 |
+
<label for="company_code">Company Code</label>
|
98 |
+
<input type="text" id="company_code" name="company_code" class="form-control">
|
99 |
+
</div>
|
100 |
+
<div class="form-group">
|
101 |
+
<label for="domain">Domain/Business</label>
|
102 |
+
<input type="text" id="domain" name="domain" class="form-control">
|
103 |
+
</div>
|
104 |
+
<div class="form-group">
|
105 |
+
<label for="llm_tools">LLM Tools</label>
|
106 |
+
<select id="llm_tools" name="llm_tools[]" class="form-control" multiple>
|
107 |
+
<option value="tool1">Database</option>
|
108 |
+
<option value="tool2">Static Documents</option>
|
109 |
+
<option value="tool3">API</option>
|
110 |
+
<!-- Add more options as needed -->
|
111 |
+
</select>
|
112 |
+
</div>
|
113 |
+
<div class="btn-container">
|
114 |
+
<button type="submit" class="btn btn-primary">Save</button>
|
115 |
+
<button type="reset" class="btn btn-primary">Clear</button>
|
116 |
+
</div>
|
117 |
+
</form>
|
118 |
+
</div>
|
119 |
+
{% include 'footer.html' %}
|
120 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>
|
121 |
+
<script>
|
122 |
+
$(document).ready(function() {
|
123 |
+
// Initialize Select2 for multi-select dropdown
|
124 |
+
$('#llm_tools').select2({
|
125 |
+
theme: 'bootstrap4',
|
126 |
+
placeholder: 'Select LLM Tools',
|
127 |
+
allowClear: true
|
128 |
+
});
|
129 |
+
|
130 |
+
$('#companyProfileForm').on('submit', function(event) {
|
131 |
+
event.preventDefault();
|
132 |
+
alert('Data saved successfully!');
|
133 |
+
});
|
134 |
+
});
|
135 |
+
</script>
|
136 |
+
</body>
|
137 |
+
|
138 |
+
</html>
|
templates/dashboard.html
ADDED
@@ -0,0 +1,142 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html>
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<title>Dashboard</title>
|
6 |
+
<!-- AdminLTE CSS -->
|
7 |
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/admin-lte/3.1.0/css/adminlte.min.css">
|
8 |
+
</head>
|
9 |
+
|
10 |
+
<body class="hold-transition sidebar-mini">
|
11 |
+
<div class="wrapper">
|
12 |
+
<!-- Main Sidebar -->
|
13 |
+
<aside class="main-sidebar sidebar-dark-primary elevation-4">
|
14 |
+
<!-- Sidebar -->
|
15 |
+
<div class="sidebar">
|
16 |
+
<!-- Sidebar Menu -->
|
17 |
+
<nav class="mt-2">
|
18 |
+
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
|
19 |
+
<!-- Navigation Links -->
|
20 |
+
<li class="nav-item">
|
21 |
+
<a href="#" class="nav-link">
|
22 |
+
<i class="nav-icon fas fa-home"></i>
|
23 |
+
<p>Dashboard</p>
|
24 |
+
</a>
|
25 |
+
</li>
|
26 |
+
<li class="nav-item">
|
27 |
+
<a href="{{ url_for('company_profile') }}" class="nav-link">
|
28 |
+
<i class="nav-icon fas fa-cogs"></i>
|
29 |
+
<p>Company Profile</p>
|
30 |
+
</a>
|
31 |
+
</li>
|
32 |
+
<li class="nav-item">
|
33 |
+
<a href="{{ url_for('knowledgebase') }}" class="nav-link">
|
34 |
+
<i class="nav-icon fas fa-cogs"></i>
|
35 |
+
<p>KnowledgeBase</p>
|
36 |
+
</a>
|
37 |
+
</li>
|
38 |
+
<li class="nav-item">
|
39 |
+
<a href="{{ url_for('data_connectors') }}" class="nav-link">
|
40 |
+
<i class="nav-icon fas fa-home"></i>
|
41 |
+
<p>Data Connectors</p>
|
42 |
+
</a>
|
43 |
+
</li>
|
44 |
+
<li class="nav-item">
|
45 |
+
<a href="{{ url_for('API_connectors') }}" class="nav-link">
|
46 |
+
<i class="nav-icon fas fa-users"></i>
|
47 |
+
<p>API Connectors</p>
|
48 |
+
</a>
|
49 |
+
</li>
|
50 |
+
<li class="nav-item">
|
51 |
+
<a href="#" class="nav-link">
|
52 |
+
<i class="nav-icon fas fa-cogs"></i>
|
53 |
+
<p>Prompt Templates</p>
|
54 |
+
</a>
|
55 |
+
</li>
|
56 |
+
<!-- <li class="nav-item">
|
57 |
+
<a href="#" class="nav-link">
|
58 |
+
<i class="nav-icon fas fa-cogs"></i>
|
59 |
+
<p>LLM Settings</p>
|
60 |
+
</a>
|
61 |
+
|
62 |
+
</li>-->
|
63 |
+
<li class="nav-item">
|
64 |
+
<a href="{{ url_for('chatbot') }}" class="nav-link">
|
65 |
+
<i class="nav-icon fas fa-cogs"></i>
|
66 |
+
<p>Chat</p>
|
67 |
+
</a>
|
68 |
+
</li>
|
69 |
+
|
70 |
+
<!-- Add more navigation links here -->
|
71 |
+
</ul>
|
72 |
+
</nav>
|
73 |
+
<!-- /.sidebar-menu -->
|
74 |
+
</div>
|
75 |
+
<!-- /.sidebar -->
|
76 |
+
</aside>
|
77 |
+
|
78 |
+
<!-- Content Wrapper -->
|
79 |
+
<div class="content-wrapper">
|
80 |
+
<!-- Main content -->
|
81 |
+
<section class="content">
|
82 |
+
<!-- Project Information -->
|
83 |
+
<div class="container-fluid">
|
84 |
+
<h3 style="text-align: center; margin-bottom:40px;">REDMINDGPT</h>
|
85 |
+
</div>
|
86 |
+
</section>
|
87 |
+
<section class="content">
|
88 |
+
<div class="container-fluid">
|
89 |
+
|
90 |
+
<div class="row">
|
91 |
+
<div class="col-lg-4 col-6">
|
92 |
+
|
93 |
+
<div class="small-box bg-info">
|
94 |
+
<div class="inner">
|
95 |
+
<h3>4 </h3>
|
96 |
+
<h4> KnowledgeBase</h4>
|
97 |
+
</div>
|
98 |
+
<div class="icon">
|
99 |
+
<i class="ion ion-bag"></i>
|
100 |
+
</div>
|
101 |
+
</div>
|
102 |
+
</div>
|
103 |
+
|
104 |
+
<div class="col-lg-4 col-6">
|
105 |
+
|
106 |
+
<div class="small-box bg-success">
|
107 |
+
<div class="inner">
|
108 |
+
<h3>1</h3>
|
109 |
+
<h4>Data connectors</h4>
|
110 |
+
</div>
|
111 |
+
<div class="icon">
|
112 |
+
<i class="ion ion-stats-bars"></i>
|
113 |
+
</div>
|
114 |
+
|
115 |
+
</div>
|
116 |
+
</div>
|
117 |
+
|
118 |
+
<div class="col-lg-4 col-6">
|
119 |
+
|
120 |
+
<div class="small-box bg-warning">
|
121 |
+
<div class="inner">
|
122 |
+
<h3>4 </h3>
|
123 |
+
<h4>API Connectors</h4>
|
124 |
+
</div>
|
125 |
+
<div class="icon">
|
126 |
+
<i class="ion ion-person-add"></i>
|
127 |
+
</div>
|
128 |
+
|
129 |
+
</div>
|
130 |
+
</div>
|
131 |
+
<!-- /.content -->
|
132 |
+
</div>
|
133 |
+
<!-- /.content-wrapper -->
|
134 |
+
</div>
|
135 |
+
<!-- ./wrapper -->
|
136 |
+
|
137 |
+
<!-- AdminLTE JS -->
|
138 |
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/admin-lte/3.1.0/js/adminlte.min.js"></script>
|
139 |
+
|
140 |
+
</body>
|
141 |
+
|
142 |
+
</html>
|
templates/data_connectors.html
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>Data Connectors</title>
|
7 |
+
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
8 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
|
9 |
+
<!-- Include AdminLTE CSS -->
|
10 |
+
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css">
|
11 |
+
<!-- Include DataTables CSS -->
|
12 |
+
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.25/css/dataTables.bootstrap4.min.css">
|
13 |
+
|
14 |
+
<style>
|
15 |
+
html, body {
|
16 |
+
height: 90%;
|
17 |
+
margin: 0;
|
18 |
+
display: flex;
|
19 |
+
flex-direction: column;
|
20 |
+
}
|
21 |
+
body {
|
22 |
+
display: flex;
|
23 |
+
flex-direction: column;
|
24 |
+
}
|
25 |
+
.main-content {
|
26 |
+
flex: 1;
|
27 |
+
display: flex;
|
28 |
+
flex-direction: column;
|
29 |
+
align-items: center;
|
30 |
+
justify-content: flex-start;
|
31 |
+
padding: 20px;
|
32 |
+
}
|
33 |
+
.container {
|
34 |
+
margin-top: 50px;
|
35 |
+
max-width: 600px;
|
36 |
+
padding: 40px;
|
37 |
+
border: 1px solid #ccc;
|
38 |
+
border-radius: 5px;
|
39 |
+
//background-color: #fff;
|
40 |
+
position: relative;
|
41 |
+
z-index: 1;
|
42 |
+
}
|
43 |
+
.form-group {
|
44 |
+
margin-bottom: 20px;
|
45 |
+
}
|
46 |
+
.form-group label {
|
47 |
+
font-weight: bold;
|
48 |
+
margin-top: 10px;
|
49 |
+
margin-bottom: 5px;
|
50 |
+
display: block;
|
51 |
+
}
|
52 |
+
.form-group input, .form-group select, .form-group textarea {
|
53 |
+
width: 100%;
|
54 |
+
height: auto;
|
55 |
+
padding: 10px;
|
56 |
+
border: 1px solid #ccc;
|
57 |
+
border-radius: 4px;
|
58 |
+
}
|
59 |
+
.btn-primary {
|
60 |
+
margin-right: 10px;
|
61 |
+
color: black;
|
62 |
+
font-size: 16px;
|
63 |
+
font-weight: bold;
|
64 |
+
}
|
65 |
+
h2 {
|
66 |
+
text-align: center;
|
67 |
+
margin-bottom: 30px;
|
68 |
+
}
|
69 |
+
.btn-container {
|
70 |
+
text-align: center;
|
71 |
+
margin-top: 30px;
|
72 |
+
// margin-bottom: 20px;
|
73 |
+
color: white;
|
74 |
+
}
|
75 |
+
#selectedTables ,#labelselected {
|
76 |
+
display: none;
|
77 |
+
}
|
78 |
+
#saveBtn1{
|
79 |
+
display: none;
|
80 |
+
margin: 0 auto;
|
81 |
+
}
|
82 |
+
footer {
|
83 |
+
position: relative;
|
84 |
+
bottom: 0;
|
85 |
+
width: 100%;
|
86 |
+
color: black;
|
87 |
+
text-align: right;
|
88 |
+
padding-right: 245px;
|
89 |
+
padding-top: 10px;
|
90 |
+
background-color: #f8f9fa;
|
91 |
+
border-top: 1px solid #ccc;
|
92 |
+
}
|
93 |
+
</style>
|
94 |
+
</head>
|
95 |
+
<body>
|
96 |
+
{% include 'sidepane.html' %}
|
97 |
+
<div class="container mt-2">
|
98 |
+
<h2>Data Connectors</h2>
|
99 |
+
<form id="companyProfileForm" class="needs-validation" novalidate>
|
100 |
+
<div class="form-group">
|
101 |
+
<label for="database">Database</label>
|
102 |
+
<select type="text" id="database" name="database" class="form-control">
|
103 |
+
<option value="" selected>Select</option>
|
104 |
+
<option value="Postgress">Postgress</option>
|
105 |
+
<option value="mysql">Mysql</option>
|
106 |
+
</select>
|
107 |
+
</div>
|
108 |
+
|
109 |
+
<div class="form-group">
|
110 |
+
<label for="server">Server IP</label>
|
111 |
+
<input type="text" id="server" name="server" class="form-control">
|
112 |
+
</div>
|
113 |
+
<div class="form-group">
|
114 |
+
<label for="port">Port</label>
|
115 |
+
<input type="text" id="port" name="port" class="form-control">
|
116 |
+
</div>
|
117 |
+
<div class="form-group">
|
118 |
+
<label for="databaseName">Database Name</label>
|
119 |
+
<select type="text" id="databaseName" name="databaseName" class="form-control">
|
120 |
+
<option value="" selected>Select</option>
|
121 |
+
<option value="Warehouse">Warehouse</option>
|
122 |
+
</select>
|
123 |
+
</div>
|
124 |
+
<div class="form-group">
|
125 |
+
<label for="username">UserName</label>
|
126 |
+
<input type="text" id="username" name="username" class="form-control">
|
127 |
+
</div>
|
128 |
+
<div class="form-group">
|
129 |
+
<label for="password">Password</label>
|
130 |
+
<input type="text" id="password" name="password" class="form-control">
|
131 |
+
</div>
|
132 |
+
<div class="btn-container">
|
133 |
+
<button type="button" id="connectBtn" class="btn btn-primary">Connect</button>
|
134 |
+
<button type="reset" class="btn btn-primary">Clear</button>
|
135 |
+
</div>
|
136 |
+
<div id="schema-table-section" style="display: none;">
|
137 |
+
<div class="form-group">
|
138 |
+
<div class="row">
|
139 |
+
<div class="col">
|
140 |
+
<label for="schemas">Available Schemas</label>
|
141 |
+
<select type="text" id="schemas" name="schemas" class="form-control">
|
142 |
+
<option value="" selected>Select</option>
|
143 |
+
<option value="schema1">Lookup</option>
|
144 |
+
<option value="schema2">Public</option>
|
145 |
+
<option value="schema3">Tenant_default</option>
|
146 |
+
</select>
|
147 |
+
</div>
|
148 |
+
<div class="col">
|
149 |
+
<label for="tables">Available Tables</label>
|
150 |
+
<select type="text" id="tables" name="tables" class="form-control" multiple>
|
151 |
+
<option value="" selected>Select</option>
|
152 |
+
<option value="customer_master">customer_master</option>
|
153 |
+
<option value="efs_company_master">efs_company_master</option>
|
154 |
+
<option value="efs_group_company_master">efs_group_company_master</option>
|
155 |
+
<option value="efs_region_master">efs_region_master</option>
|
156 |
+
<option value="party_address_detail">party_address_detail</option>
|
157 |
+
<option value="wms_warehouse_master">wms_warehouse_master</option>
|
158 |
+
</select>
|
159 |
+
</div>
|
160 |
+
</div>
|
161 |
+
</div>
|
162 |
+
<div class="form-group">
|
163 |
+
<label id="labelselected" for="selectedTables">Selected Tables</label>
|
164 |
+
<textarea id="selectedTables" class="form-control" rows="5" readonly></textarea>
|
165 |
+
</div>
|
166 |
+
</div>
|
167 |
+
<div class="mt-5" id="table-container">
|
168 |
+
<!-- Table will be dynamically inserted here -->
|
169 |
+
</div>
|
170 |
+
<div class="btn-container">
|
171 |
+
<button type="button" id="saveBtn1" class="btn btn-primary">Save</button>
|
172 |
+
</div>
|
173 |
+
</form>
|
174 |
+
</div>
|
175 |
+
<footer>
|
176 |
+
{% include 'footer.html' %}
|
177 |
+
</footer>
|
178 |
+
<!-- Bootstrap JS (Optional, if you need JavaScript functionality) -->
|
179 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
|
180 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>
|
181 |
+
|
182 |
+
<script>
|
183 |
+
$(document).ready(function() {
|
184 |
+
$('#connectBtn').on('click', function(event) {
|
185 |
+
event.preventDefault();
|
186 |
+
alert('Connected!');
|
187 |
+
$('#schema-table-section').show();
|
188 |
+
$('#saveBtn1').show();
|
189 |
+
});
|
190 |
+
|
191 |
+
// Handle Save button click
|
192 |
+
$('#saveBtn1').on('click', function(event) {
|
193 |
+
event.preventDefault();
|
194 |
+
const selectedTables = $('#tables').val();
|
195 |
+
if (selectedTables.length > 0) {
|
196 |
+
// Show the textarea and populate with selected tables
|
197 |
+
$('#selectedTables').empty();
|
198 |
+
selectedTables.forEach(table => {
|
199 |
+
$('#selectedTables').append(table + '\n');
|
200 |
+
});
|
201 |
+
$('#selectedTables').show();
|
202 |
+
$('#labelselected').show();
|
203 |
+
|
204 |
+
alert('Data saved successfully!');
|
205 |
+
} else {
|
206 |
+
alert('Please select at least one table.');
|
207 |
+
}
|
208 |
+
});
|
209 |
+
});
|
210 |
+
</script>
|
211 |
+
|
212 |
+
</body>
|
213 |
+
|
214 |
+
</html>
|
templates/failure.html
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!-- templates/failure.html -->
|
2 |
+
<!DOCTYPE html>
|
3 |
+
<html>
|
4 |
+
<head>
|
5 |
+
<title>Login Failed</title>
|
6 |
+
</head>
|
7 |
+
<body>
|
8 |
+
<h1>Login Failed. Please try again.</h1>
|
9 |
+
</body>
|
10 |
+
</html>
|
templates/footer.html
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!-- footer.html -->
|
2 |
+
|
3 |
+
<!--
|
4 |
+
This is the HTML code for the footer section of a web page.
|
5 |
+
It displays the version number and copyright information.
|
6 |
+
|
7 |
+
HTML Structure:
|
8 |
+
- The footer element has a class of "main-footer".
|
9 |
+
- Inside the footer, there is a div element with classes "float-right" and "d-none d-sm-block".
|
10 |
+
- Inside the div, there is a bold tag (<b>) displaying the version number.
|
11 |
+
- After the div, there is a strong tag (<strong>) displaying the copyright information.
|
12 |
+
- The copyright information includes the year and a link to the company's website.
|
13 |
+
|
14 |
+
Example Usage:
|
15 |
+
<footer class="main-footer">
|
16 |
+
<div class="float-right d-none d-sm-block">
|
17 |
+
<b>Version</b> 3.0.5
|
18 |
+
</div>
|
19 |
+
<strong>© 2023 <a href="https://yourcompany.com">Your Company</a>.</strong> All rights reserved.
|
20 |
+
</footer>
|
21 |
+
-->
|
22 |
+
<footer class="main-footer" style="position: absolute; bottom: 0; width: 100%; color: black; text-align: right; padding-right:245px ;">
|
23 |
+
<div class="container-fluid">
|
24 |
+
<a href="https://redmindtechnologies.com" target="_blank" style="color: black; text-decoration: none;">Visit Redmind Technologies at https://redmindtechnologies.com</a>
|
25 |
+
</div>
|
26 |
+
</footer>
|
templates/index.html
ADDED
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!--
|
2 |
+
This is the login page template for the RedMindGPT application.
|
3 |
+
It contains a login form where users can enter their username and password to sign in.
|
4 |
+
The form includes validation to ensure that both fields are filled out before submission.
|
5 |
+
The page also includes styling using CSS and utilizes the AdminLTE and Font Awesome libraries for additional design elements.
|
6 |
+
-->
|
7 |
+
|
8 |
+
<!DOCTYPE html>
|
9 |
+
<html lang="en">
|
10 |
+
<head>
|
11 |
+
<meta charset="UTF-8">
|
12 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
13 |
+
<style>
|
14 |
+
/* CSS styles for the login page */
|
15 |
+
.login-box-msg {
|
16 |
+
color: grey;
|
17 |
+
font-size: larger;
|
18 |
+
font-weight: bold;
|
19 |
+
}
|
20 |
+
|
21 |
+
.remember-me {
|
22 |
+
text-align: center;
|
23 |
+
}
|
24 |
+
</style>
|
25 |
+
<title>RedMindGPT</title>
|
26 |
+
<!-- AdminLTE CSS -->
|
27 |
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css">
|
28 |
+
<!-- Font Awesome -->
|
29 |
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
|
30 |
+
</head>
|
31 |
+
<body class="hold-transition login-page" style="background-image: url('static/img/AI.jpg'); background-size: cover;">
|
32 |
+
<div class="login-box">
|
33 |
+
<div class="card">
|
34 |
+
<!-- Logo -->
|
35 |
+
<div style="align-items: center;">
|
36 |
+
<a href="#" style="color: blue;
|
37 |
+
font-size: 30px;
|
38 |
+
font-weight: bold;
|
39 |
+
margin-left: 80px;
|
40 |
+
margin-top: 20px;
|
41 |
+
"><b>RedMindGPT</b></a>
|
42 |
+
</div>
|
43 |
+
<form action='/validate-user' name='loginForm' method="post" onsubmit="return validateForm()">
|
44 |
+
<div class="card-body login-card-body">
|
45 |
+
<p class="login-box-msg">Sign in</p>
|
46 |
+
<div class="input-group mb-3">
|
47 |
+
<input type="text" class="form-control" placeholder="Username" name="username" required>
|
48 |
+
<div class="input-group-append">
|
49 |
+
<div class="input-group-text">
|
50 |
+
<span class="fas fa-user"></span>
|
51 |
+
</div>
|
52 |
+
</div>
|
53 |
+
</div>
|
54 |
+
<div class="input-group mb-3">
|
55 |
+
<input type="password" class="form-control" placeholder="Password" name="password" required>
|
56 |
+
<div class="input-group-append">
|
57 |
+
<div class="input-group-text">
|
58 |
+
<span class="fas fa-lock"></span>
|
59 |
+
</div>
|
60 |
+
</div>
|
61 |
+
</div>
|
62 |
+
<div class="row" style="align-content: center;">
|
63 |
+
<div class="col-8">
|
64 |
+
<div class="icheck-primary">
|
65 |
+
<input type="checkbox" id="remember">
|
66 |
+
<label for="remember">
|
67 |
+
Remember Me
|
68 |
+
</label>
|
69 |
+
</div>
|
70 |
+
</div>
|
71 |
+
</div>
|
72 |
+
<div class="row" style="align-content: center;">
|
73 |
+
<div class="col-4">
|
74 |
+
<button type="submit" class="btn btn-primary btn-block">Sign In</button>
|
75 |
+
</div>
|
76 |
+
<div class="col-4">
|
77 |
+
<button type="reset" class="btn btn-secondary btn-block">Clear</button>
|
78 |
+
</div>
|
79 |
+
</div>
|
80 |
+
</div>
|
81 |
+
</form>
|
82 |
+
</div>
|
83 |
+
</div>
|
84 |
+
<!-- jQuery -->
|
85 |
+
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
86 |
+
<!-- Bootstrap 4 -->
|
87 |
+
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.bundle.min.js"></script>
|
88 |
+
<!-- AdminLTE App -->
|
89 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>
|
90 |
+
<script>
|
91 |
+
// JavaScript function to validate the login form
|
92 |
+
function validateForm() {
|
93 |
+
//alert("Validating form");
|
94 |
+
var username = document.forms["loginForm"]["username"].value;
|
95 |
+
var password = document.forms["loginForm"]["password"].value;
|
96 |
+
if (username == "" || password == "") {
|
97 |
+
alert("Username and Password must be filled out");
|
98 |
+
return false;
|
99 |
+
}
|
100 |
+
}
|
101 |
+
</script>
|
102 |
+
</body>
|
103 |
+
</html>
|
templates/knowledgebase.html
ADDED
@@ -0,0 +1,229 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html>
|
3 |
+
<head>
|
4 |
+
<title>Knowledge Base</title>
|
5 |
+
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
6 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
|
7 |
+
<!-- Include AdminLTE CSS -->
|
8 |
+
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/adminlte.min.css">
|
9 |
+
<!-- Include DataTables CSS -->
|
10 |
+
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.25/css/dataTables.bootstrap4.min.css">
|
11 |
+
<!-- Include AdminLTE JS -->
|
12 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/adminlte.min.js"></script>
|
13 |
+
<!-- Include DataTables JS -->
|
14 |
+
<script src="https://cdn.datatables.net/1.10.25/js/jquery.dataTables.min.js"></script>
|
15 |
+
<script src="https://cdn.datatables.net/1.10.25/js/dataTables.bootstrap4.min.js"></script>
|
16 |
+
<style>
|
17 |
+
body {
|
18 |
+
background-color: transparent !important;
|
19 |
+
}
|
20 |
+
.content-wrapper {
|
21 |
+
background-color: transparent !important;
|
22 |
+
text-align: center;
|
23 |
+
}
|
24 |
+
.wrapper {
|
25 |
+
background-color: transparent !important;
|
26 |
+
}
|
27 |
+
.modal-content {
|
28 |
+
background-color: #fff;
|
29 |
+
}
|
30 |
+
h1 {
|
31 |
+
text-align: center;
|
32 |
+
margin-bottom: 40px;
|
33 |
+
}
|
34 |
+
/* Adjust table width to full container width */
|
35 |
+
.card-body {
|
36 |
+
padding: 0;
|
37 |
+
}
|
38 |
+
.table {
|
39 |
+
width: 100%;
|
40 |
+
}
|
41 |
+
</style>
|
42 |
+
</head>
|
43 |
+
<body>
|
44 |
+
{% include 'sidepane.html' %}
|
45 |
+
|
46 |
+
<div class="wrapper" style="position: relative; top: 0;">
|
47 |
+
<!-- Content Wrapper. Contains page content -->
|
48 |
+
<div class="content-wrapper">
|
49 |
+
<!-- Content Header (Page header) -->
|
50 |
+
<div class="content-header">
|
51 |
+
<div class="container-fluid">
|
52 |
+
<div class="row mb-2">
|
53 |
+
<div class="col-12 d-flex justify-content-between align-items-center">
|
54 |
+
<h1 class="m-0 text-center" style="flex-grow: 1;">Knowledge Base</h1>
|
55 |
+
<button class="btn btn-primary" id="add">Add</button>
|
56 |
+
</div>
|
57 |
+
</div>
|
58 |
+
</div>
|
59 |
+
</div>
|
60 |
+
<!-- Main content -->
|
61 |
+
<section class="content">
|
62 |
+
<div class="container-fluid">
|
63 |
+
<div class="row">
|
64 |
+
<div class="col-12">
|
65 |
+
<div class="card">
|
66 |
+
<div class="card-body">
|
67 |
+
<div class="table-responsive">
|
68 |
+
<table id="knowledgeTable" class="table table-bordered table-striped">
|
69 |
+
<thead>
|
70 |
+
<tr>
|
71 |
+
<th>Sno</th>
|
72 |
+
<th>Document Name</th>
|
73 |
+
<th>Document Description</th>
|
74 |
+
<th>Document Version</th>
|
75 |
+
<th>VectorDB Flag</th>
|
76 |
+
<th>View</th>
|
77 |
+
</tr>
|
78 |
+
</thead>
|
79 |
+
<tbody>
|
80 |
+
<tr>
|
81 |
+
<td>1</td>
|
82 |
+
<td>NewAge eWMS BusinessRequirementsDocument_V1.9 - Inbound</td>
|
83 |
+
<td>GRN Inbound</td>
|
84 |
+
<td>1.9</td>
|
85 |
+
<td>Yes</td>
|
86 |
+
<td>
|
87 |
+
<button class="btn btn-primary viewButton">View</button>
|
88 |
+
</td>
|
89 |
+
</tr>
|
90 |
+
<tr>
|
91 |
+
<td>2</td>
|
92 |
+
<td>NewAge eWMS BusinessRequirementsDocument_V2.3 - Inbound</td>
|
93 |
+
<td>GRN Inbound</td>
|
94 |
+
<td>2.3</td>
|
95 |
+
<td>No</td>
|
96 |
+
<td>
|
97 |
+
<button class="btn btn-primary viewButton">View</button>
|
98 |
+
</td>
|
99 |
+
</tr>
|
100 |
+
<tr>
|
101 |
+
<td>3</td>
|
102 |
+
<td>NewAge eWMS BusinessRequirementsDocument_V1.9 - Outbound</td>
|
103 |
+
<td>GRN Outbound</td>
|
104 |
+
<td>1.9</td>
|
105 |
+
<td>Yes</td>
|
106 |
+
<td>
|
107 |
+
<button class="btn btn-primary viewButton">View</button>
|
108 |
+
</td>
|
109 |
+
</tr>
|
110 |
+
<tr>
|
111 |
+
<td>4</td>
|
112 |
+
<td>NewAge eWMS BusinessRequirementsDocument_V2.2 - Outboundbound</td>
|
113 |
+
<td>ASN Outbound</td>
|
114 |
+
<td>2.2</td>
|
115 |
+
<td>No</td>
|
116 |
+
<td>
|
117 |
+
<button class="btn btn-primary viewButton">View</button>
|
118 |
+
</td>
|
119 |
+
</tr>
|
120 |
+
</tbody>
|
121 |
+
</table>
|
122 |
+
</div>
|
123 |
+
</div>
|
124 |
+
</div>
|
125 |
+
</div>
|
126 |
+
</div>
|
127 |
+
</div>
|
128 |
+
</section>
|
129 |
+
<!-- /.content -->
|
130 |
+
</div>
|
131 |
+
<!-- /.content-wrapper -->
|
132 |
+
|
133 |
+
<!-- Modal -->
|
134 |
+
<div class="modal fade" id="addModal" tabindex="-1" role="dialog" aria-labelledby="addModalLabel" aria-hidden="true">
|
135 |
+
<div class="modal-dialog" role="document">
|
136 |
+
<div class="modal-content">
|
137 |
+
<div class="modal-header">
|
138 |
+
<h5 class="modal-title" id="addModalLabel">Add Document</h5>
|
139 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
140 |
+
<span aria-hidden="true">×</span>
|
141 |
+
</button>
|
142 |
+
</div>
|
143 |
+
<div class="modal-body">
|
144 |
+
<form id="myForm">
|
145 |
+
<div class="form-group">
|
146 |
+
<label for="file">Upload File</label>
|
147 |
+
<input type="file" class="form-control-file" id="file" name="file" accept=".pdf,.doc,.docx">
|
148 |
+
</div>
|
149 |
+
<div class="form-group">
|
150 |
+
<label for="document_name">Document Name</label>
|
151 |
+
<input type="text" class="form-control" id="document_name" name="document_name" required>
|
152 |
+
</div>
|
153 |
+
<div class="form-group">
|
154 |
+
<label for="document_description">Document Description</label>
|
155 |
+
<textarea class="form-control" id="document_description" name="document_description" rows="3" required></textarea>
|
156 |
+
</div>
|
157 |
+
<div class="form-group">
|
158 |
+
<label for="department">Department</label>
|
159 |
+
<input type="text" class="form-control" id="department" name="department" required>
|
160 |
+
</div>
|
161 |
+
<div class="form-group">
|
162 |
+
<label for="version">Version</label>
|
163 |
+
<input type="text" class="form-control" id="version" name="version" required>
|
164 |
+
</div>
|
165 |
+
<div class="form-group">
|
166 |
+
<label for="last_updated">Last Updated</label>
|
167 |
+
<input type="text" class="form-control" id="last_updated" name="last_updated" required>
|
168 |
+
</div>
|
169 |
+
|
170 |
+
</div>
|
171 |
+
<div class="modal-footer">
|
172 |
+
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
173 |
+
<button type="button" id="save" onclick="save_file()" class="btn btn-primary">Save</button>
|
174 |
+
</div>
|
175 |
+
</form>
|
176 |
+
</div>
|
177 |
+
</div>
|
178 |
+
</div>
|
179 |
+
</div>
|
180 |
+
<!-- ./wrapper -->
|
181 |
+
|
182 |
+
<!-- Footer -->
|
183 |
+
{% include 'footer.html' %}
|
184 |
+
<!-- End footer -->
|
185 |
+
|
186 |
+
<!-- JavaScript to handle modal display -->
|
187 |
+
<script>
|
188 |
+
$(document).ready(function() {
|
189 |
+
// Show modal function
|
190 |
+
$('#add').on('click', function() {
|
191 |
+
$('#addModal').modal('show');
|
192 |
+
});
|
193 |
+
$('.modal-footer .btn-secondary').on('click', function() {
|
194 |
+
$('#addModal').modal('hide');
|
195 |
+
});
|
196 |
+
|
197 |
+
});
|
198 |
+
|
199 |
+
// Your save file function here
|
200 |
+
function save_file() {
|
201 |
+
alert('Save button clicked');
|
202 |
+
// Call the API with the user's question and get the response
|
203 |
+
var xhr = new XMLHttpRequest();
|
204 |
+
var myForm = document.getElementById('myForm');
|
205 |
+
var formData = new FormData(myForm);
|
206 |
+
alert('Save button');
|
207 |
+
xhr.open("POST", "/upload_file", true);
|
208 |
+
xhr.send(formData);
|
209 |
+
alert('sent');
|
210 |
+
|
211 |
+
xhr.onreadystatechange = function() {
|
212 |
+
if (xhr.readyState === XMLHttpRequest.DONE) {
|
213 |
+
if (xhr.status === 200) {
|
214 |
+
// Successfully received a response
|
215 |
+
//alert(xhr.responseText);
|
216 |
+
console.log(xhr.responseText);
|
217 |
+
// Append the user's question and the response to the chat history
|
218 |
+
} else {
|
219 |
+
// There was a problem with the request
|
220 |
+
alert('There was a problem with the request.');
|
221 |
+
console.error('Error:', xhr.statusText);
|
222 |
+
}
|
223 |
+
}
|
224 |
+
};
|
225 |
+
|
226 |
+
}
|
227 |
+
</script>
|
228 |
+
</body>
|
229 |
+
</html>
|
templates/sidepane.html
ADDED
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!-- sidepane.html -->
|
2 |
+
|
3 |
+
<!-- This file represents the sidepane component of a web application. It contains the navigation menu and sidebar. -->
|
4 |
+
|
5 |
+
<nav class="main-header navbar navbar-expand navbar-white navbar-light" style="text-align: center;">
|
6 |
+
<div class="container-fluid d-flex justify-content-center align-items-center">
|
7 |
+
<img src="..\static\img\redmindlogo3.jpg" alt="Logo" style="width: 80px; height: auto; margin-right: 10px;">
|
8 |
+
|
9 |
+
<h2 style="text-align: center; margin-bottom: 0;">Redmind GPT</h2>
|
10 |
+
</div>
|
11 |
+
<!-- Left navbar links -->
|
12 |
+
<ul class="navbar-nav">
|
13 |
+
<li class="nav-item">
|
14 |
+
<a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
|
15 |
+
</li>
|
16 |
+
</ul>
|
17 |
+
</nav>
|
18 |
+
|
19 |
+
<!-- Main Sidebar Container -->
|
20 |
+
<aside class="main-sidebar sidebar-dark-primary elevation-4" style="width: 200px;">
|
21 |
+
<!-- Sidebar -->
|
22 |
+
<div class="sidebar">
|
23 |
+
<!-- Sidebar Menu -->
|
24 |
+
<nav class="mt-2">
|
25 |
+
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
|
26 |
+
<!-- Navigation Links -->
|
27 |
+
<li class="nav-item">
|
28 |
+
<a href="#" class="nav-link">
|
29 |
+
<i class="nav-icon fas fa-home"></i>
|
30 |
+
<p>Dashboard</p>
|
31 |
+
</a>
|
32 |
+
</li>
|
33 |
+
<li class="nav-item">
|
34 |
+
<a href="{{ url_for('company_profile') }}" class="nav-link">
|
35 |
+
<i class="nav-icon fas fa-users"></i>
|
36 |
+
<p>Company Profile</p>
|
37 |
+
</a>
|
38 |
+
</li>
|
39 |
+
<li class="nav-item">
|
40 |
+
<a href="{{ url_for('knowledgebase') }}" class="nav-link">
|
41 |
+
<i class="nav-icon fas fa-cogs"></i>
|
42 |
+
<p>KnowledgeBase</p>
|
43 |
+
</a>
|
44 |
+
</li>
|
45 |
+
<li class="nav-item">
|
46 |
+
<a href="{{ url_for('data_connectors') }}" class="nav-link">
|
47 |
+
<i class="nav-icon fas fa-home"></i>
|
48 |
+
<p>Data Connectors</p>
|
49 |
+
</a>
|
50 |
+
</li>
|
51 |
+
<li class="nav-item">
|
52 |
+
<a href="{{ url_for('API_connectors') }}" class="nav-link">
|
53 |
+
<i class="nav-icon fas fa-users"></i>
|
54 |
+
<p>API Connectors</p>
|
55 |
+
</a>
|
56 |
+
</li>
|
57 |
+
<li class="nav-item">
|
58 |
+
<a href="#" class="nav-link">
|
59 |
+
<i class="nav-icon fas fa-cogs"></i>
|
60 |
+
<p>Prompt Templates</p>
|
61 |
+
</a>
|
62 |
+
</li>
|
63 |
+
<li class="nav-item">
|
64 |
+
<a href="{{ url_for('chatbot') }}" class="nav-link">
|
65 |
+
<i class="nav-icon fas fa-cogs"></i>
|
66 |
+
<p>Chatbot</p>
|
67 |
+
</a>
|
68 |
+
</li>
|
69 |
+
<!--<li class="nav-item">
|
70 |
+
<a href="#" class="nav-link">
|
71 |
+
<i class="nav-icon fas fa-cogs"></i>
|
72 |
+
<p>LLM Settings</p>
|
73 |
+
</a>
|
74 |
+
<ul class="nav nav-treeview">
|
75 |
+
<li class="nav-item">
|
76 |
+
<a href="#" class="nav-link">
|
77 |
+
<i class="far fa-circle nav-icon"></i>
|
78 |
+
<p>Sublink 1</p>
|
79 |
+
</a>
|
80 |
+
</li>
|
81 |
+
<li class="nav-item">
|
82 |
+
<a href="#" class="nav-link">
|
83 |
+
<i class="far fa-circle nav-icon"></i>
|
84 |
+
<p>Sublink 2</p>
|
85 |
+
</a>
|
86 |
+
</li>
|
87 |
+
<!-- Add more sublinks here -->
|
88 |
+
</ul>
|
89 |
+
</li> -->
|
90 |
+
|
91 |
+
<!-- Add more navigation links here -->
|
92 |
+
</ul>
|
93 |
+
</nav>
|
94 |
+
<!-- /.sidebar-menu -->
|
95 |
+
</div>
|
96 |
+
<!-- /.sidebar -->
|
97 |
+
</aside>
|
98 |
+
|
99 |
+
|
100 |
+
<!-- AdminLTE JS -->
|
101 |
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/admin-lte/3.1.0/js/adminlte.min.js"></script>
|
templates/success.html
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!-- templates/success.html -->
|
2 |
+
<!DOCTYPE html>
|
3 |
+
<html>
|
4 |
+
<head>
|
5 |
+
<title>Login Success</title>
|
6 |
+
</head>
|
7 |
+
<body>
|
8 |
+
<h1>Login Successful!</h1>
|
9 |
+
</body>
|
10 |
+
</html>
|
vectordb/openai_dbstore/DPS_School_Content.docx_1dcd3827e8e5f7a08a9c5233de3c47cc.metadata.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"filename": "DPS_School_Content.docx", "document_name": "DSP school Doc", "document_description": "We are elaburate the DSP school details form this doc", "department": "Primary section department", "version": "1234567890", "last_updated": "23-06-2024", "hash": "1dcd3827e8e5f7a08a9c5233de3c47cc", "upload_date": "2024-06-23T14:52:44.654077", "file_path": "/home/rajesh/redmind/python/code/redmindgen/vectordb/openai_dbstore/DPS_School_Content.docx_1dcd3827e8e5f7a08a9c5233de3c47cc.vectorstore", "file_size": 233747, "content_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"}
|
vectordb/openai_dbstore/DPS_School_Content.docx_1dcd3827e8e5f7a08a9c5233de3c47cc.vectorstore/index.faiss
ADDED
Binary file (6.19 kB). View file
|
|
vectordb/openai_dbstore/DPS_School_Content.docx_1dcd3827e8e5f7a08a9c5233de3c47cc.vectorstore/index.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:58a2bdac1ced6fb8e495489010e58f1a5b779ca6ae50be6752a23e675c02f838
|
3 |
+
size 11327
|
vectordb/openai_dbstore/Future of Digital Freight Forwarders - BLOG.pdf_a3cfd1d6c83cfcd45146ec7c13b1d98d.metadata.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"filename": "Future of Digital Freight Forwarders - BLOG.pdf", "document_name": "Digital Freight Forwarders", "document_description": "Future of Digital Freight Forwarders", "department": "Freight", "version": "1.0", "last_updated": "20/06/2024", "hash": "a3cfd1d6c83cfcd45146ec7c13b1d98d", "upload_date": "2024-06-24T08:05:41.007505", "file_path": "/home/rajesh/redmind/python/code/redmindgen/vectordb/openai_dbstore/Future of Digital Freight Forwarders - BLOG.pdf_a3cfd1d6c83cfcd45146ec7c13b1d98d.vectorstore", "file_size": 100197, "content_type": "application/pdf"}
|
vectordb/openai_dbstore/Future of Digital Freight Forwarders - BLOG.pdf_a3cfd1d6c83cfcd45146ec7c13b1d98d.vectorstore/index.faiss
ADDED
Binary file (6.19 kB). View file
|
|
vectordb/openai_dbstore/Future of Digital Freight Forwarders - BLOG.pdf_a3cfd1d6c83cfcd45146ec7c13b1d98d.vectorstore/index.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:e3591019b239fce4301b1d66a78306d38b3edba9beabd44daf9d48362ed56a5f
|
3 |
+
size 5403
|
vectordb/openai_dbstore/documents/Inbound.pdf_1dd51058ba4a11db1c9773ce16dfc175.metadata.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"filename": "Inbound.pdf", "document_name": "inbound", "document_description": "inbound", "department": "warehouse", "version": "1", "last_updated": "01.01.2025", "hash": "1dd51058ba4a11db1c9773ce16dfc175", "upload_date": "2024-07-22T12:52:08.315686", "file_path": "C:/lakshmi/RedmindGPT/Fastapi_sample/vectordb/openai_dbstore/documents\\Inbound.pdf_1dd51058ba4a11db1c9773ce16dfc175.vectorstore", "file_size": 161577, "content_type": "application/pdf"}
|
vectordb/openai_dbstore/documents/Inbound.pdf_1dd51058ba4a11db1c9773ce16dfc175.vectorstore/index.faiss
ADDED
Binary file (6.19 kB). View file
|
|
vectordb/openai_dbstore/documents/Inbound.pdf_1dd51058ba4a11db1c9773ce16dfc175.vectorstore/index.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:bd2422790291df76f1a4c98728866ce6537d286f2cf8854248fcf1826d49a4ea
|
3 |
+
size 18876
|
vectordb/openai_dbstore/documents/NewAge (1).pdf_e4fb1ef3fb0aed5f99dbf218f2aa62af.metadata.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"filename": "NewAge (1).pdf", "document_name": "newage", "document_description": "newage", "department": "warehouse", "version": "1", "last_updated": "01.01.2023", "hash": "e4fb1ef3fb0aed5f99dbf218f2aa62af", "upload_date": "2024-07-22T12:50:44.009785", "file_path": "C:/lakshmi/RedmindGPT/Fastapi_sample/vectordb/openai_dbstore/documents\\NewAge (1).pdf_e4fb1ef3fb0aed5f99dbf218f2aa62af.vectorstore", "file_size": 1044446, "content_type": "application/pdf"}
|
vectordb/openai_dbstore/documents/NewAge (1).pdf_e4fb1ef3fb0aed5f99dbf218f2aa62af.vectorstore/index.faiss
ADDED
Binary file (30.8 kB). View file
|
|
vectordb/openai_dbstore/documents/NewAge (1).pdf_e4fb1ef3fb0aed5f99dbf218f2aa62af.vectorstore/index.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:aa973b7de7e20e5426be49ebf137336fb27a4ce5a55e23de3069f08c7f28161a
|
3 |
+
size 20392
|