kenken999 commited on
Commit
b18eae1
1 Parent(s): 2f55e64
controllers/ai/.gpteng/memory/logs/chat/Chat.py ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from mysite.libs.utilities import chat_with_interpreter, completion, process_file,no_process_file
3
+ from interpreter import interpreter
4
+ import mysite.interpreter.interpreter_config # インポートするだけで設定が適用されます
5
+ import duckdb
6
+
7
+ def format_response(chunk, full_response):
8
+ # Message
9
+ if chunk["type"] == "message":
10
+ full_response += chunk.get("content", "")
11
+ if chunk.get("end", False):
12
+ full_response += "\n"
13
+
14
+ # Code
15
+ if chunk["type"] == "code":
16
+ if chunk.get("start", False):
17
+ full_response += "```python\n"
18
+ full_response += chunk.get("content", "").replace("`", "")
19
+ if chunk.get("end", False):
20
+ full_response += "\n```\n"
21
+
22
+ # Output
23
+ if chunk["type"] == "confirmation":
24
+ if chunk.get("start", False):
25
+ full_response += "```python\n"
26
+ full_response += chunk.get("content", {}).get("code", "")
27
+ if chunk.get("end", False):
28
+ full_response += "```\n"
29
+
30
+ # Console
31
+ if chunk["type"] == "console":
32
+ if chunk.get("start", False):
33
+ full_response += "```python\n"
34
+ if chunk.get("format", "") == "active_line":
35
+ console_content = chunk.get("content", "")
36
+ if console_content is None:
37
+ full_response += "No output available on console."
38
+ if chunk.get("format", "") == "output":
39
+ console_content = chunk.get("content", "")
40
+ full_response += console_content
41
+ if chunk.get("end", False):
42
+ full_response += "\n```\n"
43
+
44
+ # Image
45
+ if chunk["type"] == "image":
46
+ if chunk.get("start", False) or chunk.get("end", False):
47
+ full_response += "\n"
48
+ else:
49
+ image_format = chunk.get("format", "")
50
+ if image_format == "base64.png":
51
+ image_content = chunk.get("content", "")
52
+ if image_content:
53
+ image = Image.open(BytesIO(base64.b64decode(image_content)))
54
+ new_image = Image.new("RGB", image.size, "white")
55
+ new_image.paste(image, mask=image.split()[3])
56
+ buffered = BytesIO()
57
+ new_image.save(buffered, format="PNG")
58
+ img_str = base64.b64encode(buffered.getvalue()).decode()
59
+ full_response += f"![Image](data:image/png;base64,{img_str})\n"
60
+
61
+ return full_response
62
+
63
+
64
+ # Set the environment variable.
65
+ def chat_with_interpreter(
66
+ message, history, a=None, b=None, c=None, d=None
67
+ ): # , openai_api_key):
68
+ # Set the API key for the interpreter
69
+ # interpreter.llm.api_key = openai_api_key
70
+ interpreter.messages = []
71
+ if message == "reset":
72
+ interpreter.reset()
73
+ return "Interpreter reset", history
74
+ full_response = ""
75
+ # add_conversation(history,20)
76
+ user_entry = {"role": "user", "type": "message", "content": message}
77
+ #messages.append(user_entry)
78
+ # Call interpreter.chat and capture the result
79
+ # message = message + "\nシンタックスを確認してください。"
80
+ # result = interpreter.chat(message)
81
+ for chunk in interpreter.chat(message, display=False, stream=True):
82
+ # print(chunk)
83
+ # output = '\n'.join(item['content'] for item in result if 'content' in item)
84
+ full_response = format_response(chunk, full_response)
85
+ yield full_response # chunk.get("content", "")
86
+ no_process_file(message,"ai")
87
+ # Extract the 'content' field from all elements in the result
88
+
89
+ yield full_response
90
+ return full_response, history
91
+
92
+ PLACEHOLDER = """
93
+ <div style="padding: 30px; text-align: center; display: flex; flex-direction: column; align-items: center;">
94
+ <img src="https://ysharma-dummy-chat-app.hf.space/file=/tmp/gradio/8e75e61cc9bab22b7ce3dec85ab0e6db1da5d107/Meta_lockup_positive%20primary_RGB.jpg" style="width: 80%; max-width: 550px; height: auto; opacity: 0.55; ">
95
+ <h1 style="font-size: 28px; margin-bottom: 2px; opacity: 0.55;">Meta llama3</h1>
96
+ <p style="font-size: 18px; margin-bottom: 2px; opacity: 0.65;">Ask me anything...</p>
97
+ </div>
98
+ """
99
+
100
+ chatbot = gr.Chatbot(height=650, placeholder=PLACEHOLDER, label="Gradio ChatInterface")
101
+
102
+
103
+
104
+ gradio_interface = gr.ChatInterface(
105
+ fn=chat_with_interpreter,
106
+ chatbot=chatbot,
107
+ fill_height=True,
108
+ additional_inputs_accordion=gr.Accordion(
109
+ label="⚙️ Parameters", open=False, render=False
110
+ ),
111
+ additional_inputs=[
112
+ gr.Slider(
113
+ minimum=0,
114
+ maximum=1,
115
+ step=0.1,
116
+ value=0.95,
117
+ label="Temperature",
118
+ render=False,
119
+ ),
120
+ gr.Slider(
121
+ minimum=128,
122
+ maximum=4096,
123
+ step=1,
124
+ value=512,
125
+ label="Max new tokens",
126
+ render=False,
127
+ ),
128
+ ],
129
+ # democs,
130
+ examples=[
131
+ ["HTMLのサンプルを作成して"],
132
+ [
133
+ "CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_sft.yaml"
134
+ ],
135
+ ],
136
+ cache_examples=False,
137
+ )
routers/database → controllers/ai/.gpteng/memory/logs/chat/__init__.py RENAMED
File without changes
{routers → controllers/ai/.gpteng/memory/logs/chats}/OpenInterpreter.py RENAMED
File without changes
routers/document → controllers/ai/.gpteng/memory/logs/chats/__init__.py RENAMED
File without changes
controllers/ai/.gpteng/memory/logs/greet/greet.py ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ def greet(name):
4
+ return "Hello " + name + "!"
5
+
6
+ gradio_interface = gr.Interface(fn=greet, inputs="textbox", outputs="textbox")
controllers/ai/.gpteng/memory/logs/postg/.gpteng/memory/logs/all_output.txt ADDED
@@ -0,0 +1,298 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ 2024-06-07T12:30:21.592285
3
+ ================================ System Message ================================
4
+
5
+ You will get instructions for code to write.
6
+ You will write a very long answer. Make sure that every detail of the architecture is, in the end, implemented as code.
7
+ Think step by step and reason yourself to the correct decisions to make sure we get it right.
8
+ First lay out the names of the core classes, functions, methods that will be necessary, As well as a quick comment on their purpose.
9
+
10
+ You will output the content of each file necessary to achieve the goal, including ALL code.
11
+ Represent files like so:
12
+
13
+ FILENAME
14
+ ```
15
+ CODE
16
+ ```
17
+
18
+ The following tokens must be replaced like so:
19
+ FILENAME is the lowercase combined path and file name including the file extension
20
+ CODE is the code in the file
21
+
22
+ Example representation of a file:
23
+
24
+ src/hello_world.py
25
+ ```
26
+ print("Hello World")
27
+ ```
28
+
29
+ Do not comment on what every file does. Please note that the code should be fully functional. No placeholders.
30
+
31
+
32
+ You will start with the "entrypoint" file, then go to the ones that are imported by that file, and so on.
33
+ Please note that the code should be fully functional. No placeholders.
34
+
35
+ Follow a language and framework appropriate best practice file naming convention.
36
+ Make sure that files contain all imports, types etc. The code should be fully functional. Make sure that code in different files are compatible with each other.
37
+ Ensure to implement all code, if you are unsure, write a plausible implementation.
38
+ Include module dependency or package manager dependency definition file.
39
+ Before you finish, double check that all parts of the architecture is present in the files.
40
+
41
+ When you are done, write finish with "this concludes a fully working implementation".
42
+
43
+ Useful to know:
44
+ Almost always put different classes in different files.
45
+ Always use the programming language the user asks for.
46
+ For Python, you always create an appropriate requirements.txt file.
47
+ For NodeJS, you always create an appropriate package.json file.
48
+ Always add a comment briefly describing the purpose of the function definition.
49
+ Add comments explaining very complex bits of logic.
50
+ Always follow the best practices for the requested languages for folder/file structure and how to package the project.
51
+
52
+
53
+ Python toolbelt preferences:
54
+ - pytest
55
+ - dataclasses
56
+
57
+
58
+ ================================ Human Message =================================
59
+
60
+ Request: gradioで下記のpostgressのCRUD画面を作成して
61
+ postgresql://miyataken999:[email protected]/neondb?sslmode=require
62
+
63
+ テーブルは下記
64
+ CREATE TABLE rides (
65
+ ride_id SERIAL PRIMARY KEY,
66
+ rideable_type VARCHAR(50) NOT NULL,
67
+ start_station_id INT,
68
+ start_station_name VARCHAR(255),
69
+ end_station_id INT,
70
+ end_station_name VARCHAR(255),
71
+ started_at VARCHAR(255),
72
+ ended_at VARCHAR(255),
73
+ member_casual VARCHAR(50) NOT NULL
74
+
75
+ ================================== Ai Message ==================================
76
+
77
+ Here is the implementation of a CRUD (Create, Read, Update, Delete) interface using Gradio and PostgreSQL.
78
+
79
+ **requirements.txt**
80
+ ```
81
+ gradio
82
+ psycopg2-binary
83
+ ```
84
+
85
+ **models/ride.py**
86
+ ```
87
+ from dataclasses import dataclass
88
+
89
+ @dataclass
90
+ class Ride:
91
+ ride_id: int
92
+ rideable_type: str
93
+ start_station_id: int
94
+ start_station_name: str
95
+ end_station_id: int
96
+ end_station_name: str
97
+ started_at: str
98
+ ended_at: str
99
+ member_casual: str
100
+ ```
101
+
102
+ **database.py**
103
+ ```
104
+ import psycopg2
105
+
106
+ def connect_to_db():
107
+ conn = psycopg2.connect(
108
+ dbname="neondb",
109
+ user="miyataken999",
110
+ password="yz1wPf4KrWTm",
111
+ host="ep-odd-mode-93794521.us-east-2.aws.neon.tech",
112
+ port=5432,
113
+ sslmode="require"
114
+ )
115
+ return conn
116
+
117
+ def create_ride(ride: Ride):
118
+ conn = connect_to_db()
119
+ cur = conn.cursor()
120
+ cur.execute("INSERT INTO rides (rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual) VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING ride_id",
121
+ (ride.rideable_type, ride.start_station_id, ride.start_station_name, ride.end_station_id, ride.end_station_name, ride.started_at, ride.ended_at, ride.member_casual))
122
+ ride_id = cur.fetchone()[0]
123
+ conn.commit()
124
+ cur.close()
125
+ conn.close()
126
+ return ride_id
127
+
128
+ def read_rides():
129
+ conn = connect_to_db()
130
+ cur = conn.cursor()
131
+ cur.execute("SELECT * FROM rides")
132
+ rides = cur.fetchall()
133
+ conn.close()
134
+ return rides
135
+
136
+ def read_ride(ride_id: int):
137
+ conn = connect_to_db()
138
+ cur = conn.cursor()
139
+ cur.execute("SELECT * FROM rides WHERE ride_id = %s", (ride_id,))
140
+ ride = cur.fetchone()
141
+ conn.close()
142
+ return ride
143
+
144
+ def update_ride(ride: Ride):
145
+ conn = connect_to_db()
146
+ cur = conn.cursor()
147
+ cur.execute("UPDATE rides SET rideable_type = %s, start_station_id = %s, start_station_name = %s, end_station_id = %s, end_station_name = %s, started_at = %s, ended_at = %s, member_casual = %s WHERE ride_id = %s",
148
+ (ride.rideable_type, ride.start_station_id, ride.start_station_name, ride.end_station_id, ride.end_station_name, ride.started_at, ride.ended_at, ride.member_casual, ride.ride_id))
149
+ conn.commit()
150
+ cur.close()
151
+ conn.close()
152
+
153
+ def delete_ride(ride_id: int):
154
+ conn = connect_to_db()
155
+ cur = conn.cursor()
156
+ cur.execute("DELETE FROM rides WHERE ride_id = %s", (ride_id,))
157
+ conn.commit()
158
+ cur.close()
159
+ conn.close()
160
+ ```
161
+
162
+ **gradio_app.py**
163
+ ```
164
+ import gradio as gr
165
+ from models.ride import Ride
166
+ from database import create_ride, read_rides, read_ride, update_ride, delete_ride
167
+
168
+ def create_ride_interface():
169
+ with gr.Blocks() as create_ride_interface:
170
+ with gr.Row():
171
+ rideable_type = gr.Textbox(label="Rideable Type")
172
+ start_station_id = gr.Number(label="Start Station ID")
173
+ start_station_name = gr.Textbox(label="Start Station Name")
174
+ end_station_id = gr.Number(label="End Station ID")
175
+ end_station_name = gr.Textbox(label="End Station Name")
176
+ started_at = gr.Textbox(label="Started At")
177
+ ended_at = gr.Textbox(label="Ended At")
178
+ member_casual = gr.Textbox(label="Member Casual")
179
+ create_button = gr.Button("Create Ride")
180
+ output = gr.Textbox(label="Ride ID")
181
+
182
+ def create_ride_click(rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual):
183
+ ride = Ride(rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual)
184
+ ride_id = create_ride(ride)
185
+ return str(ride_id)
186
+
187
+ create_button.click(fn=create_ride_click, inputs=[rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual], outputs=output)
188
+
189
+ return create_ride_interface
190
+
191
+ def read_rides_interface():
192
+ with gr.Blocks() as read_rides_interface:
193
+ read_button = gr.Button("Read Rides")
194
+ output = gr.Dataframe(label="Rides")
195
+
196
+ def read_rides_click():
197
+ rides = read_rides()
198
+ return [rides]
199
+
200
+ read_button.click(fn=read_rides_click, outputs=output)
201
+
202
+ return read_rides_interface
203
+
204
+ def read_ride_interface():
205
+ with gr.Blocks() as read_ride_interface:
206
+ ride_id = gr.Number(label="Ride ID")
207
+ read_button = gr.Button("Read Ride")
208
+ output = gr.Dataframe(label="Ride")
209
+
210
+ def read_ride_click(ride_id):
211
+ ride = read_ride(ride_id)
212
+ return [ride]
213
+
214
+ read_button.click(fn=read_ride_click, inputs=[ride_id], outputs=output)
215
+
216
+ return read_ride_interface
217
+
218
+ def update_ride_interface():
219
+ with gr.Blocks() as update_ride_interface:
220
+ ride_id = gr.Number(label="Ride ID")
221
+ rideable_type = gr.Textbox(label="Rideable Type")
222
+ start_station_id = gr.Number(label="Start Station ID")
223
+ start_station_name = gr.Textbox(label="Start Station Name")
224
+ end_station_id = gr.Number(label="End Station ID")
225
+ end_station_name = gr.Textbox(label="End Station Name")
226
+ started_at = gr.Textbox(label="Started At")
227
+ ended_at = gr.Textbox(label="Ended At")
228
+ member_casual = gr.Textbox(label="Member Casual")
229
+ update_button = gr.Button("Update Ride")
230
+ output = gr.Textbox(label="Ride ID")
231
+
232
+ def update_ride_click(ride_id, rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual):
233
+ ride = Ride(ride_id, rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual)
234
+ update_ride(ride)
235
+ return str(ride_id)
236
+
237
+ update_button.click(fn=update_ride_click, inputs=[ride_id, rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual], outputs=output)
238
+
239
+ return update_ride_interface
240
+
241
+ def delete_ride_interface():
242
+ with gr.Blocks() as delete_ride_interface:
243
+ ride_id = gr.Number(label="Ride ID")
244
+ delete_button = gr.Button("Delete Ride")
245
+ output = gr.Textbox(label="Ride ID")
246
+
247
+ def delete_ride_click(ride_id):
248
+ delete_ride(ride_id)
249
+ return str(ride_id)
250
+
251
+ delete_button.click(fn=delete_ride_click, inputs=[ride_id], outputs=output)
252
+
253
+ return delete_ride_interface
254
+
255
+ if __name__ == "__main__":
256
+ create_ride_interface = create_ride_interface()
257
+ read_rides_interface = read_rides_interface()
258
+ read_ride_interface = read_ride_interface()
259
+ update_ride_interface = update_ride_interface()
260
+ delete_ride_interface = delete_ride_interface()
261
+
262
+ gr.Interface(
263
+ fn=create_ride_interface,
264
+ inputs="all",
265
+ outputs="all",
266
+ title="Create Ride"
267
+ ).launch()
268
+
269
+ gr.Interface(
270
+ fn=read_rides_interface,
271
+ inputs="all",
272
+ outputs="all",
273
+ title="Read Rides"
274
+ ).launch()
275
+
276
+ gr.Interface(
277
+ fn=read_ride_interface,
278
+ inputs="all",
279
+ outputs="all",
280
+ title="Read Ride"
281
+ ).launch()
282
+
283
+ gr.Interface(
284
+ fn=update_ride_interface,
285
+ inputs="all",
286
+ outputs="all",
287
+ title="Update Ride"
288
+ ).launch()
289
+
290
+ gr.Interface(
291
+ fn=delete_ride_interface,
292
+ inputs="all",
293
+ outputs="all",
294
+ title="Delete Ride"
295
+ ).launch()
296
+ ```
297
+
298
+ This concludes a fully working implementation.
controllers/ai/.gpteng/memory/logs/postg/.gpteng/memory/logs/gen_entrypoint_chat.txt ADDED
@@ -0,0 +1,241 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ 2024-06-07T12:30:47.038029
3
+ ================================ System Message ================================
4
+
5
+ You will get information about a codebase that is currently on disk in the current folder.
6
+ The user will ask you to write a script that runs the code in a specific way.
7
+ You will answer with code blocks that include all the necessary terminal commands.
8
+ Do not install globally. Do not use sudo.
9
+ Do not explain the code, just give the commands.
10
+ Do not use placeholders, use example values (like . for a folder argument) if necessary.
11
+
12
+
13
+ ================================ Human Message =================================
14
+
15
+
16
+ Make a unix script that
17
+ a) installs dependencies
18
+ b) runs all necessary parts of the codebase (in parallel if necessary)
19
+
20
+ Information about the codebase:
21
+
22
+ ```
23
+ File: requirements.txt
24
+ 1 gradio
25
+ 2 psycopg2-binary
26
+
27
+ File: models/ride.py
28
+ 1 from dataclasses import dataclass
29
+ 2
30
+ 3 @dataclass
31
+ 4 class Ride:
32
+ 5 ride_id: int
33
+ 6 rideable_type: str
34
+ 7 start_station_id: int
35
+ 8 start_station_name: str
36
+ 9 end_station_id: int
37
+ 10 end_station_name: str
38
+ 11 started_at: str
39
+ 12 ended_at: str
40
+ 13 member_casual: str
41
+
42
+ File: database.py
43
+ 1 import psycopg2
44
+ 2
45
+ 3 def connect_to_db():
46
+ 4 conn = psycopg2.connect(
47
+ 5 dbname="neondb",
48
+ 6 user="miyataken999",
49
+ 7 password="yz1wPf4KrWTm",
50
+ 8 host="ep-odd-mode-93794521.us-east-2.aws.neon.tech",
51
+ 9 port=5432,
52
+ 10 sslmode="require"
53
+ 11 )
54
+ 12 return conn
55
+ 13
56
+ 14 def create_ride(ride: Ride):
57
+ 15 conn = connect_to_db()
58
+ 16 cur = conn.cursor()
59
+ 17 cur.execute("INSERT INTO rides (rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual) VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING ride_id",
60
+ 18 (ride.rideable_type, ride.start_station_id, ride.start_station_name, ride.end_station_id, ride.end_station_name, ride.started_at, ride.ended_at, ride.member_casual))
61
+ 19 ride_id = cur.fetchone()[0]
62
+ 20 conn.commit()
63
+ 21 cur.close()
64
+ 22 conn.close()
65
+ 23 return ride_id
66
+ 24
67
+ 25 def read_rides():
68
+ 26 conn = connect_to_db()
69
+ 27 cur = conn.cursor()
70
+ 28 cur.execute("SELECT * FROM rides")
71
+ 29 rides = cur.fetchall()
72
+ 30 conn.close()
73
+ 31 return rides
74
+ 32
75
+ 33 def read_ride(ride_id: int):
76
+ 34 conn = connect_to_db()
77
+ 35 cur = conn.cursor()
78
+ 36 cur.execute("SELECT * FROM rides WHERE ride_id = %s", (ride_id,))
79
+ 37 ride = cur.fetchone()
80
+ 38 conn.close()
81
+ 39 return ride
82
+ 40
83
+ 41 def update_ride(ride: Ride):
84
+ 42 conn = connect_to_db()
85
+ 43 cur = conn.cursor()
86
+ 44 cur.execute("UPDATE rides SET rideable_type = %s, start_station_id = %s, start_station_name = %s, end_station_id = %s, end_station_name = %s, started_at = %s, ended_at = %s, member_casual = %s WHERE ride_id = %s",
87
+ 45 (ride.rideable_type, ride.start_station_id, ride.start_station_name, ride.end_station_id, ride.end_station_name, ride.started_at, ride.ended_at, ride.member_casual, ride.ride_id))
88
+ 46 conn.commit()
89
+ 47 cur.close()
90
+ 48 conn.close()
91
+ 49
92
+ 50 def delete_ride(ride_id: int):
93
+ 51 conn = connect_to_db()
94
+ 52 cur = conn.cursor()
95
+ 53 cur.execute("DELETE FROM rides WHERE ride_id = %s", (ride_id,))
96
+ 54 conn.commit()
97
+ 55 cur.close()
98
+ 56 conn.close()
99
+
100
+ File: gradio_app.py
101
+ 1 import gradio as gr
102
+ 2 from models.ride import Ride
103
+ 3 from database import create_ride, read_rides, read_ride, update_ride, delete_ride
104
+ 4
105
+ 5 def create_ride_interface():
106
+ 6 with gr.Blocks() as create_ride_interface:
107
+ 7 with gr.Row():
108
+ 8 rideable_type = gr.Textbox(label="Rideable Type")
109
+ 9 start_station_id = gr.Number(label="Start Station ID")
110
+ 10 start_station_name = gr.Textbox(label="Start Station Name")
111
+ 11 end_station_id = gr.Number(label="End Station ID")
112
+ 12 end_station_name = gr.Textbox(label="End Station Name")
113
+ 13 started_at = gr.Textbox(label="Started At")
114
+ 14 ended_at = gr.Textbox(label="Ended At")
115
+ 15 member_casual = gr.Textbox(label="Member Casual")
116
+ 16 create_button = gr.Button("Create Ride")
117
+ 17 output = gr.Textbox(label="Ride ID")
118
+ 18
119
+ 19 def create_ride_click(rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual):
120
+ 20 ride = Ride(rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual)
121
+ 21 ride_id = create_ride(ride)
122
+ 22 return str(ride_id)
123
+ 23
124
+ 24 create_button.click(fn=create_ride_click, inputs=[rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual], outputs=output)
125
+ 25
126
+ 26 return create_ride_interface
127
+ 27
128
+ 28 def read_rides_interface():
129
+ 29 with gr.Blocks() as read_rides_interface:
130
+ 30 read_button = gr.Button("Read Rides")
131
+ 31 output = gr.Dataframe(label="Rides")
132
+ 32
133
+ 33 def read_rides_click():
134
+ 34 rides = read_rides()
135
+ 35 return [rides]
136
+ 36
137
+ 37 read_button.click(fn=read_rides_click, outputs=output)
138
+ 38
139
+ 39 return read_rides_interface
140
+ 40
141
+ 41 def read_ride_interface():
142
+ 42 with gr.Blocks() as read_ride_interface:
143
+ 43 ride_id = gr.Number(label="Ride ID")
144
+ 44 read_button = gr.Button("Read Ride")
145
+ 45 output = gr.Dataframe(label="Ride")
146
+ 46
147
+ 47 def read_ride_click(ride_id):
148
+ 48 ride = read_ride(ride_id)
149
+ 49 return [ride]
150
+ 50
151
+ 51 read_button.click(fn=read_ride_click, inputs=[ride_id], outputs=output)
152
+ 52
153
+ 53 return read_ride_interface
154
+ 54
155
+ 55 def update_ride_interface():
156
+ 56 with gr.Blocks() as update_ride_interface:
157
+ 57 ride_id = gr.Number(label="Ride ID")
158
+ 58 rideable_type = gr.Textbox(label="Rideable Type")
159
+ 59 start_station_id = gr.Number(label="Start Station ID")
160
+ 60 start_station_name = gr.Textbox(label="Start Station Name")
161
+ 61 end_station_id = gr.Number(label="End Station ID")
162
+ 62 end_station_name = gr.Textbox(label="End Station Name")
163
+ 63 started_at = gr.Textbox(label="Started At")
164
+ 64 ended_at = gr.Textbox(label="Ended At")
165
+ 65 member_casual = gr.Textbox(label="Member Casual")
166
+ 66 update_button = gr.Button("Update Ride")
167
+ 67 output = gr.Textbox(label="Ride ID")
168
+ 68
169
+ 69 def update_ride_click(ride_id, rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual):
170
+ 70 ride = Ride(ride_id, rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual)
171
+ 71 update_ride(ride)
172
+ 72 return str(ride_id)
173
+ 73
174
+ 74 update_button.click(fn=update_ride_click, inputs=[ride_id, rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual], outputs=output)
175
+ 75
176
+ 76 return update_ride_interface
177
+ 77
178
+ 78 def delete_ride_interface():
179
+ 79 with gr.Blocks() as delete_ride_interface:
180
+ 80 ride_id = gr.Number(label="Ride ID")
181
+ 81 delete_button = gr.Button("Delete Ride")
182
+ 82 output = gr.Textbox(label="Ride ID")
183
+ 83
184
+ 84 def delete_ride_click(ride_id):
185
+ 85 delete_ride(ride_id)
186
+ 86 return str(ride_id)
187
+ 87
188
+ 88 delete_button.click(fn=delete_ride_click, inputs=[ride_id], outputs=output)
189
+ 89
190
+ 90 return delete_ride_interface
191
+ 91
192
+ 92 if __name__ == "__main__":
193
+ 93 create_ride_interface = create_ride_interface()
194
+ 94 read_rides_interface = read_rides_interface()
195
+ 95 read_ride_interface = read_ride_interface()
196
+ 96 update_ride_interface = update_ride_interface()
197
+ 97 delete_ride_interface = delete_ride_interface()
198
+ 98
199
+ 99 gr.Interface(
200
+ 100 fn=create_ride_interface,
201
+ 101 inputs="all",
202
+ 102 outputs="all",
203
+ 103 title="Create Ride"
204
+ 104 ).launch()
205
+ 105
206
+ 106 gr.Interface(
207
+ 107 fn=read_rides_interface,
208
+ 108 inputs="all",
209
+ 109 outputs="all",
210
+ 110 title="Read Rides"
211
+ 111 ).launch()
212
+ 112
213
+ 113 gr.Interface(
214
+ 114 fn=read_ride_interface,
215
+ 115 inputs="all",
216
+ 116 outputs="all",
217
+ 117 title="Read Ride"
218
+ 118 ).launch()
219
+ 119
220
+ 120 gr.Interface(
221
+ 121 fn=update_ride_interface,
222
+ 122 inputs="all",
223
+ 123 outputs="all",
224
+ 124 title="Update Ride"
225
+ 125 ).launch()
226
+ 126
227
+ 127 gr.Interface(
228
+ 128 fn=delete_ride_interface,
229
+ 129 inputs="all",
230
+ 130 outputs="all",
231
+ 131 title="Delete Ride"
232
+ 132 ).launch()
233
+
234
+ ```
235
+
236
+ ================================== Ai Message ==================================
237
+
238
+ ```
239
+ python -m pip install -r requirements.txt
240
+ python gradio_app.py
241
+ ```
controllers/ai/.gpteng/memory/logs/postg/DataBase.py ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import psycopg2
3
+ from dataclasses import dataclass, field
4
+ from typing import List, Optional
5
+ from mysite.interpreter.process import no_process_file,process_file
6
+
7
+ @dataclass
8
+ class Ride:
9
+ ride_id: Optional[int] = field(default=None)
10
+ rideable_type: str = ''
11
+ start_station_id: int = 0
12
+ start_station_name: str = ''
13
+ end_station_id: int = 0
14
+ end_station_name: str = ''
15
+ started_at: str = ''
16
+ ended_at: str = ''
17
+ member_casual: str = ''
18
+
19
+ def connect_to_db():
20
+ conn = psycopg2.connect(
21
+ dbname="neondb",
22
+ user="miyataken999",
23
+ password="yz1wPf4KrWTm",
24
+ host="ep-odd-mode-93794521.us-east-2.aws.neon.tech",
25
+ port=5432,
26
+ sslmode="require"
27
+ )
28
+ return conn
29
+
30
+ def create_ride(ride: Ride):
31
+ conn = connect_to_db()
32
+ cur = conn.cursor()
33
+ cur.execute("INSERT INTO rides (rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual) VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING ride_id",
34
+ (ride.rideable_type, ride.start_station_id, ride.start_station_name, ride.end_station_id, ride.end_station_name, ride.started_at, ride.ended_at, ride.member_casual))
35
+ ride_id = cur.fetchone()[0]
36
+ conn.commit()
37
+ cur.close()
38
+ conn.close()
39
+ return ride_id
40
+
41
+ def read_rides():
42
+ conn = connect_to_db()
43
+ cur = conn.cursor()
44
+ cur.execute("SELECT * FROM rides")
45
+ rides = cur.fetchall()
46
+ conn.close()
47
+ return rides
48
+
49
+ def read_ride(ride_id: int):
50
+ conn = connect_to_db()
51
+ cur = conn.cursor()
52
+ cur.execute("SELECT * FROM rides WHERE ride_id = %s", (ride_id,))
53
+ ride = cur.fetchone()
54
+ conn.close()
55
+ return ride
56
+
57
+ def update_ride(ride: Ride):
58
+ conn = connect_to_db()
59
+ cur = conn.cursor()
60
+ no_process_file(ride.start_station_name,"ai")
61
+ cur.execute("UPDATE rides SET rideable_type = %s, start_station_id = %s, start_station_name = %s, end_station_id = %s, end_station_name = %s, started_at = %s, ended_at = %s, member_casual = %s WHERE ride_id = %s",
62
+ (ride.rideable_type, ride.start_station_id, ride.start_station_name, ride.end_station_id, ride.end_station_name, ride.started_at, ride.ended_at, ride.member_casual, ride.ride_id))
63
+ conn.commit()
64
+ cur.close()
65
+ conn.close()
66
+
67
+ def delete_ride(ride_id: int):
68
+ conn = connect_to_db()
69
+ cur = conn.cursor()
70
+ cur.execute("DELETE FROM rides WHERE ride_id = %s", (ride_id,))
71
+ conn.commit()
72
+ cur.close()
73
+ conn.close()
74
+
75
+ #def crud_interface():
76
+ with gr.Blocks() as gradio_interface:
77
+ with gr.Row():
78
+ rideable_type = gr.Textbox(label="Rideable Type")
79
+ start_station_id = gr.Number(label="Start Station ID")
80
+ start_station_name = gr.Textbox(label="Start Station Name")
81
+ end_station_id = gr.Number(label="End Station ID")
82
+ end_station_name = gr.Textbox(label="End Station Name")
83
+ started_at = gr.Textbox(label="Started At")
84
+ ended_at = gr.Textbox(label="Ended At")
85
+ member_casual = gr.Textbox(label="Member Casual")
86
+ ride_id = gr.Number(label="Ride ID (for update/delete)", value=-1, interactive=False)
87
+
88
+ create_button = gr.Button("Create Ride")
89
+ update_button = gr.Button("Update Ride")
90
+ delete_button = gr.Button("Delete Ride")
91
+ read_button = gr.Button("Read Rides")
92
+ output = gr.Dataframe(headers=["Ride ID", "Rideable Type", "Start Station ID", "Start Station Name", "End Station ID", "End Station Name", "Started At", "Ended At", "Member Casual"])
93
+
94
+ def create_ride_click(rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual):
95
+ ride = Ride(
96
+ rideable_type=rideable_type,
97
+ start_station_id=start_station_id,
98
+ start_station_name=start_station_name,
99
+ end_station_id=end_station_id,
100
+ end_station_name=end_station_name,
101
+ started_at=started_at,
102
+ ended_at=ended_at,
103
+ member_casual=member_casual
104
+ )
105
+ create_ride(ride)
106
+ return [[r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]] for r in read_rides()]
107
+
108
+ def update_ride_click(ride_id, rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual):
109
+ ride = Ride(
110
+ ride_id=int(ride_id),
111
+ rideable_type=rideable_type,
112
+ start_station_id=start_station_id,
113
+ start_station_name=start_station_name,
114
+ end_station_id=end_station_id,
115
+ end_station_name=end_station_name,
116
+ started_at=started_at,
117
+ ended_at=ended_at,
118
+ member_casual=member_casual
119
+ )
120
+ update_ride(ride)
121
+ return [[r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]] for r in read_rides()]
122
+
123
+ def delete_ride_click(ride_id):
124
+ delete_ride(int(ride_id))
125
+ return [[r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]] for r in read_rides()]
126
+
127
+ def read_rides_click():
128
+ return [[r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]] for r in read_rides()]
129
+
130
+ def load_ride_details(evt: gr.SelectData):
131
+ row_index = evt.index[0] if isinstance(evt.index, list) else evt.index
132
+ rides = read_rides()
133
+ selected_row = rides[row_index]
134
+ ride_id = selected_row[0]
135
+ ride = read_ride(ride_id)
136
+ if ride:
137
+ return ride[1], ride[2], ride[3], ride[4], ride[5], ride[6], ride[7], ride[8], ride[0]
138
+ return "", 0, "", 0, "", "", "", "", -1
139
+
140
+ create_button.click(fn=create_ride_click,
141
+ inputs=[rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual],
142
+ outputs=output)
143
+ update_button.click(fn=update_ride_click,
144
+ inputs=[ride_id, rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual],
145
+ outputs=output)
146
+ delete_button.click(fn=delete_ride_click, inputs=ride_id, outputs=output)
147
+ read_button.click(fn=read_rides_click, outputs=output)
148
+
149
+ output.select(fn=load_ride_details, inputs=None, outputs=[rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual, ride_id])
150
+
151
+ #return interface
152
+
153
+ #d1 = crud_interface()
154
+ #d1.launch()
controllers/ai/.gpteng/memory/logs/postg/__init__.py ADDED
File without changes
controllers/ai/.gpteng/memory/logs/postg/database.py ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import psycopg2
3
+ from dataclasses import dataclass, field
4
+ from typing import List, Optional
5
+
6
+ @dataclass
7
+ class Ride:
8
+ ride_id: Optional[int] = field(default=None)
9
+ rideable_type: str = ''
10
+ start_station_id: int = 0
11
+ start_station_name: str = ''
12
+ end_station_id: int = 0
13
+ end_station_name: str = ''
14
+ started_at: str = ''
15
+ ended_at: str = ''
16
+ member_casual: str = ''
17
+
18
+ def connect_to_db():
19
+ conn = psycopg2.connect(
20
+ dbname="neondb",
21
+ user="miyataken999",
22
+ password="yz1wPf4KrWTm",
23
+ host="ep-odd-mode-93794521.us-east-2.aws.neon.tech",
24
+ port=5432,
25
+ sslmode="require"
26
+ )
27
+ return conn
28
+
29
+ def create_ride(ride: Ride):
30
+ conn = connect_to_db()
31
+ cur = conn.cursor()
32
+ cur.execute("INSERT INTO rides (rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual) VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING ride_id",
33
+ (ride.rideable_type, ride.start_station_id, ride.start_station_name, ride.end_station_id, ride.end_station_name, ride.started_at, ride.ended_at, ride.member_casual))
34
+ ride_id = cur.fetchone()[0]
35
+ conn.commit()
36
+ cur.close()
37
+ conn.close()
38
+ return ride_id
39
+
40
+ def read_rides():
41
+ conn = connect_to_db()
42
+ cur = conn.cursor()
43
+ cur.execute("SELECT * FROM rides")
44
+ rides = cur.fetchall()
45
+ conn.close()
46
+ return rides
47
+
48
+ def read_ride(ride_id: int):
49
+ conn = connect_to_db()
50
+ cur = conn.cursor()
51
+ cur.execute("SELECT * FROM rides WHERE ride_id = %s", (ride_id,))
52
+ ride = cur.fetchone()
53
+ conn.close()
54
+ return ride
55
+
56
+ def update_ride(ride: Ride):
57
+ conn = connect_to_db()
58
+ cur = conn.cursor()
59
+ cur.execute("UPDATE rides SET rideable_type = %s, start_station_id = %s, start_station_name = %s, end_station_id = %s, end_station_name = %s, started_at = %s, ended_at = %s, member_casual = %s WHERE ride_id = %s",
60
+ (ride.rideable_type, ride.start_station_id, ride.start_station_name, ride.end_station_id, ride.end_station_name, ride.started_at, ride.ended_at, ride.member_casual, ride.ride_id))
61
+ conn.commit()
62
+ cur.close()
63
+ conn.close()
64
+
65
+ def delete_ride(ride_id: int):
66
+ conn = connect_to_db()
67
+ cur = conn.cursor()
68
+ cur.execute("DELETE FROM rides WHERE ride_id = %s", (ride_id,))
69
+ conn.commit()
70
+ cur.close()
71
+ conn.close()
72
+
73
+ def crud_interface():
74
+ with gr.Blocks() as interface:
75
+ with gr.Row():
76
+ rideable_type = gr.Textbox(label="Rideable Type")
77
+ start_station_id = gr.Number(label="Start Station ID")
78
+ start_station_name = gr.Textbox(label="Start Station Name")
79
+ end_station_id = gr.Number(label="End Station ID")
80
+ end_station_name = gr.Textbox(label="End Station Name")
81
+ started_at = gr.Textbox(label="Started At")
82
+ ended_at = gr.Textbox(label="Ended At")
83
+ member_casual = gr.Textbox(label="Member Casual")
84
+ ride_id = gr.Number(label="Ride ID (for update/delete)", value=-1)
85
+
86
+ create_button = gr.Button("Create Ride")
87
+ update_button = gr.Button("Update Ride")
88
+ delete_button = gr.Button("Delete Ride")
89
+ read_button = gr.Button("Read Rides")
90
+ output = gr.Dataframe(headers=["Ride ID", "Rideable Type", "Start Station ID", "Start Station Name", "End Station ID", "End Station Name", "Started At", "Ended At", "Member Casual"])
91
+
92
+ def create_ride_click(rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual):
93
+ ride = Ride(
94
+ rideable_type=rideable_type,
95
+ start_station_id=start_station_id,
96
+ start_station_name=start_station_name,
97
+ end_station_id=end_station_id,
98
+ end_station_name=end_station_name,
99
+ started_at=started_at,
100
+ ended_at=ended_at,
101
+ member_casual=member_casual
102
+ )
103
+ create_ride(ride)
104
+ return [[r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]] for r in read_rides()]
105
+
106
+ def update_ride_click(ride_id, rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual):
107
+ ride = Ride(
108
+ ride_id=int(ride_id),
109
+ rideable_type=rideable_type,
110
+ start_station_id=start_station_id,
111
+ start_station_name=start_station_name,
112
+ end_station_id=end_station_id,
113
+ end_station_name=end_station_name,
114
+ started_at=started_at,
115
+ ended_at=ended_at,
116
+ member_casual=member_casual
117
+ )
118
+ update_ride(ride)
119
+ return [[r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]] for r in read_rides()]
120
+
121
+ def delete_ride_click(ride_id):
122
+ delete_ride(int(ride_id))
123
+ return [[r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]] for r in read_rides()]
124
+
125
+ def read_rides_click():
126
+ return [[r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]] for r in read_rides()]
127
+
128
+ create_button.click(fn=create_ride_click,
129
+ inputs=[rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual],
130
+ outputs=output)
131
+ update_button.click(fn=update_ride_click,
132
+ inputs=[ride_id, rideable_type, start_station_id, start_station_name, end_station_id, end_station_name, started_at, ended_at, member_casual],
133
+ outputs=output)
134
+ delete_button.click(fn=delete_ride_click, inputs=ride_id, outputs=output)
135
+ read_button.click(fn=read_rides_click, outputs=output)
136
+
137
+ return interface
138
+
139
+ #d1 = crud_interface()
140
+ #d1.launch()
controllers/ai/.gpteng/memory/logs/postg/models/ride.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from dataclasses import dataclass
2
+
3
+ @dataclass
4
+ class Ride:
5
+ rideable_type: str
6
+ start_station_id: int
7
+ end_station_id: int
8
+ ride_id: int = None
9
+ start_station_name: str = None
10
+ end_station_name: str = None
11
+ started_at: str = None
12
+ ended_at: str = None
13
+ member_casual: str = None
controllers/ai/.gpteng/memory/logs/postg/prompt ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ gradioで下記のpostgressのCRUD画面を作成して
2
+ postgresql://miyataken999:[email protected]/neondb?sslmode=require
3
+
4
+ テーブルは下記
5
+ CREATE TABLE rides (
6
+ ride_id SERIAL PRIMARY KEY,
7
+ rideable_type VARCHAR(50) NOT NULL,
8
+ start_station_id INT,
9
+ start_station_name VARCHAR(255),
10
+ end_station_id INT,
11
+ end_station_name VARCHAR(255),
12
+ started_at VARCHAR(255),
13
+ ended_at VARCHAR(255),
14
+ member_casual VARCHAR(50) NOT NULL
controllers/ai/.gpteng/memory/logs/postg/requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ gradio
2
+ psycopg2-binary
controllers/ai/.gpteng/memory/logs/postg/run.sh ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ python -m pip install -r requirements.txt
2
+ python gradio_app.py
controllers/ai/.gpteng/memory/logs/router/__init__.py ADDED
File without changes
controllers/ai/.gpteng/memory/logs/router/router.py ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ from fastapi import APIRouter, Depends
2
+
3
+ router = APIRouter(prefix="/routerssample", tags=["choices"])
4
+
5
+ @router.get("/sample")
6
+ def test():
7
+ return True
controllers/ai/.gpteng/memory/logs/test/.gpteng/memory/logs/all_output.txt ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ 2024-06-06T08:15:25.594683
3
+ ================================ System Message ================================
4
+
5
+ You will get instructions for code to write.
6
+ You will write a very long answer. Make sure that every detail of the architecture is, in the end, implemented as code.
7
+ Think step by step and reason yourself to the correct decisions to make sure we get it right.
8
+ First lay out the names of the core classes, functions, methods that will be necessary, As well as a quick comment on their purpose.
9
+
10
+ You will output the content of each file necessary to achieve the goal, including ALL code.
11
+ Represent files like so:
12
+
13
+ FILENAME
14
+ ```
15
+ CODE
16
+ ```
17
+
18
+ The following tokens must be replaced like so:
19
+ FILENAME is the lowercase combined path and file name including the file extension
20
+ CODE is the code in the file
21
+
22
+ Example representation of a file:
23
+
24
+ src/hello_world.py
25
+ ```
26
+ print("Hello World")
27
+ ```
28
+
29
+ Do not comment on what every file does. Please note that the code should be fully functional. No placeholders.
30
+
31
+
32
+ You will start with the "entrypoint" file, then go to the ones that are imported by that file, and so on.
33
+ Please note that the code should be fully functional. No placeholders.
34
+
35
+ Follow a language and framework appropriate best practice file naming convention.
36
+ Make sure that files contain all imports, types etc. The code should be fully functional. Make sure that code in different files are compatible with each other.
37
+ Ensure to implement all code, if you are unsure, write a plausible implementation.
38
+ Include module dependency or package manager dependency definition file.
39
+ Before you finish, double check that all parts of the architecture is present in the files.
40
+
41
+ When you are done, write finish with "this concludes a fully working implementation".
42
+
43
+ Useful to know:
44
+ Almost always put different classes in different files.
45
+ Always use the programming language the user asks for.
46
+ For Python, you always create an appropriate requirements.txt file.
47
+ For NodeJS, you always create an appropriate package.json file.
48
+ Always add a comment briefly describing the purpose of the function definition.
49
+ Add comments explaining very complex bits of logic.
50
+ Always follow the best practices for the requested languages for folder/file structure and how to package the project.
51
+
52
+
53
+ Python toolbelt preferences:
54
+ - pytest
55
+ - dataclasses
56
+
57
+
58
+ ================================ Human Message =================================
59
+
60
+ Request: y
61
+
62
+ ================================== Ai Message ==================================
63
+
64
+ I'm happy to help! However, I need more information about the project you want me to implement. Could you please provide more details about the project, such as:
65
+
66
+ * What is the project about? (e.g., web application, game, data analysis tool)
67
+ * What features does it need to have?
68
+ * Are there any specific technologies or frameworks you want me to use?
69
+ * Are there any specific requirements or constraints I should be aware of?
70
+
71
+ Once I have a better understanding of your project, I can start designing the architecture and implementing the code.
72
+
73
+ Please provide more information, and I'll be happy to help!
74
+
75
+ 2024-06-06T08:16:10.259654
76
+ ================================ System Message ================================
77
+
78
+ You will get instructions for code to write.
79
+ You will write a very long answer. Make sure that every detail of the architecture is, in the end, implemented as code.
80
+ Think step by step and reason yourself to the correct decisions to make sure we get it right.
81
+ First lay out the names of the core classes, functions, methods that will be necessary, As well as a quick comment on their purpose.
82
+
83
+ You will output the content of each file necessary to achieve the goal, including ALL code.
84
+ Represent files like so:
85
+
86
+ FILENAME
87
+ ```
88
+ CODE
89
+ ```
90
+
91
+ The following tokens must be replaced like so:
92
+ FILENAME is the lowercase combined path and file name including the file extension
93
+ CODE is the code in the file
94
+
95
+ Example representation of a file:
96
+
97
+ src/hello_world.py
98
+ ```
99
+ print("Hello World")
100
+ ```
101
+
102
+ Do not comment on what every file does. Please note that the code should be fully functional. No placeholders.
103
+
104
+
105
+ You will start with the "entrypoint" file, then go to the ones that are imported by that file, and so on.
106
+ Please note that the code should be fully functional. No placeholders.
107
+
108
+ Follow a language and framework appropriate best practice file naming convention.
109
+ Make sure that files contain all imports, types etc. The code should be fully functional. Make sure that code in different files are compatible with each other.
110
+ Ensure to implement all code, if you are unsure, write a plausible implementation.
111
+ Include module dependency or package manager dependency definition file.
112
+ Before you finish, double check that all parts of the architecture is present in the files.
113
+
114
+ When you are done, write finish with "this concludes a fully working implementation".
115
+
116
+ Useful to know:
117
+ Almost always put different classes in different files.
118
+ Always use the programming language the user asks for.
119
+ For Python, you always create an appropriate requirements.txt file.
120
+ For NodeJS, you always create an appropriate package.json file.
121
+ Always add a comment briefly describing the purpose of the function definition.
122
+ Add comments explaining very complex bits of logic.
123
+ Always follow the best practices for the requested languages for folder/file structure and how to package the project.
124
+
125
+
126
+ Python toolbelt preferences:
127
+ - pytest
128
+ - dataclasses
129
+
130
+
131
+ ================================ Human Message =================================
132
+
133
+ Request: y
134
+
135
+ ================================== Ai Message ==================================
136
+
137
+ I'm happy to help! However, I need more information about the project you want me to implement. Could you please provide more details about the project, such as:
138
+
139
+ * What is the project about? (e.g., web application, game, chatbot, etc.)
140
+ * What features do you want to implement?
141
+ * Are there any specific technologies or frameworks you want to use?
142
+ * Are there any specific requirements or constraints I should be aware of?
143
+
144
+ Once I have a better understanding of your project, I can start implementing it in Python.
145
+
146
+ Please provide more information, and I'll be happy to help!
controllers/ai/.gpteng/memory/logs/test/.gpteng/memory/logs/gen_entrypoint_chat.txt ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ 2024-06-06T08:15:26.181845
3
+ ================================ System Message ================================
4
+
5
+ You will get information about a codebase that is currently on disk in the current folder.
6
+ The user will ask you to write a script that runs the code in a specific way.
7
+ You will answer with code blocks that include all the necessary terminal commands.
8
+ Do not install globally. Do not use sudo.
9
+ Do not explain the code, just give the commands.
10
+ Do not use placeholders, use example values (like . for a folder argument) if necessary.
11
+
12
+
13
+ ================================ Human Message =================================
14
+
15
+
16
+ Make a unix script that
17
+ a) installs dependencies
18
+ b) runs all necessary parts of the codebase (in parallel if necessary)
19
+
20
+ Information about the codebase:
21
+
22
+ ```
23
+ ```
24
+
25
+ ================================== Ai Message ==================================
26
+
27
+ Here is a Unix script that installs dependencies and runs the codebase:
28
+ ```
29
+ #!/bin/bash
30
+
31
+ # Install dependencies
32
+ pip install -r requirements.txt
33
+
34
+ # Run the codebase
35
+ python -m main &
36
+ python -m worker &
37
+ python -m api
38
+
39
+ wait
40
+ ```
41
+ Note: This script assumes that the codebase has a `requirements.txt` file for dependencies, a `main.py` file as the main entry point, a `worker.py` file as a worker process, and an `api.py` file as the API server. Adjust the script according to your actual codebase structure.
42
+
43
+ 2024-06-06T08:16:10.822878
44
+ ================================ System Message ================================
45
+
46
+ You will get information about a codebase that is currently on disk in the current folder.
47
+ The user will ask you to write a script that runs the code in a specific way.
48
+ You will answer with code blocks that include all the necessary terminal commands.
49
+ Do not install globally. Do not use sudo.
50
+ Do not explain the code, just give the commands.
51
+ Do not use placeholders, use example values (like . for a folder argument) if necessary.
52
+
53
+
54
+ ================================ Human Message =================================
55
+
56
+
57
+ Make a unix script that
58
+ a) installs dependencies
59
+ b) runs all necessary parts of the codebase (in parallel if necessary)
60
+
61
+ Information about the codebase:
62
+
63
+ ```
64
+ ```
65
+
66
+ ================================== Ai Message ==================================
67
+
68
+ Here is a Unix script that installs dependencies and runs the codebase:
69
+ ```
70
+ #!/bin/bash
71
+
72
+ # Install dependencies
73
+ pip install -r requirements.txt
74
+
75
+ # Run the codebase
76
+ python -m main & python -m worker &
77
+ python -m api
78
+ ```
79
+ Note: This script assumes that the codebase has a `requirements.txt` file for dependencies, a `main.py` file as the main entry point, a `worker.py` file that can be run in parallel, and an `api.py` file that depends on the other two. Adjust the script according to your actual codebase structure.
mysite/asgi.py CHANGED
@@ -7,7 +7,7 @@ from fastapi.templating import Jinja2Templates
7
  from starlette.middleware.cors import CORSMiddleware
8
 
9
  import gradio as gr
10
- from mysite.gradio.gradio_config import setup_gradio_interfaces
11
  from mysite.webhook.webhook import setup_webhook_routes,include_routers
12
  from mysite.database.database import setup_database_routes
13
  from mysite.config.asgi_config import init_django_app
 
7
  from starlette.middleware.cors import CORSMiddleware
8
 
9
  import gradio as gr
10
+ from routers.router import setup_gradio_interfaces
11
  from mysite.webhook.webhook import setup_webhook_routes,include_routers
12
  from mysite.database.database import setup_database_routes
13
  from mysite.config.asgi_config import init_django_app
routers/database.py DELETED
@@ -1,56 +0,0 @@
1
- import duckdb
2
- import pandas as pd
3
- from fastapi import FastAPI
4
- import gradio as gr
5
-
6
- con = duckdb.connect(database="./workspace/mydatabase.duckdb")
7
- con.execute("CREATE TABLE IF NOT EXISTS items (id INTEGER, name VARCHAR);")
8
-
9
- def setup_database_routes(app: FastAPI):
10
- def create_item(name):
11
- con.execute("INSERT INTO items (name) VALUES (?);", (name,))
12
- con.commit()
13
- return "Item created successfully!"
14
-
15
- def read_items():
16
- cursor = con.cursor()
17
- cursor.execute("SELECT * FROM items;")
18
- items = cursor.fetchall()
19
- df = pd.DataFrame(items, columns=["ID", "Name"])
20
- return df
21
-
22
- def update_item(id, name):
23
- con.execute("UPDATE items SET name = ? WHERE id = ?;", (name, id))
24
- con.commit()
25
- return "Item updated successfully!"
26
-
27
- def delete_item(id):
28
- con.execute("DELETE FROM items WHERE id = ?;", (id,))
29
- con.commit()
30
- return "Item deleted successfully!"
31
-
32
- with gr.Blocks() as appdb:
33
- gr.Markdown("CRUD Application")
34
- with gr.Row():
35
- with gr.Column():
36
- create_name = gr.Textbox(label="Create Item")
37
- create_btn = gr.Button("Create")
38
- with gr.Column():
39
- read_btn = gr.Button("Read Items")
40
- with gr.Row():
41
- with gr.Column():
42
- update_id = gr.Textbox(label="Update Item ID")
43
- update_name = gr.Textbox(label="Update Item Name")
44
- update_btn = gr.Button("Update")
45
- with gr.Column():
46
- delete_id = gr.Textbox(label="Delete Item ID")
47
- delete_btn = gr.Button("Delete")
48
- output_text = gr.Textbox(label="Output")
49
- output_table = gr.DataFrame(label="Items")
50
-
51
- create_btn.click(fn=create_item, inputs=create_name, outputs=output_text)
52
- read_btn.click(fn=read_items, outputs=output_table)
53
- update_btn.click(fn=update_item, inputs=[update_id, update_name], outputs=output_text)
54
- delete_btn.click(fn=delete_item, inputs=delete_id, outputs=output_text)
55
-
56
- app.mount("/db", appdb, name="database_app")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
routers/router.py CHANGED
@@ -6,12 +6,14 @@ import mysite.interpreter.interpreter_config # インポートするだけで
6
  import importlib
7
  import os
8
  import pkgutil
9
- from routers.chat.chat import demo44 as demo4
10
- from mysite.gradio.chat import chat
11
- from routers.postg.gradio_app import crud_interface
 
 
12
 
13
  def include_gradio_interfaces():
14
- package_dir = "/home/user/app/routers"
15
  gradio_interfaces = []
16
  gradio_names = set()
17
 
@@ -39,19 +41,25 @@ def include_gradio_interfaces():
39
  print(f"Collected Gradio Interfaces: {gradio_names}")
40
  return gradio_interfaces, list(gradio_names)
41
 
42
-
43
-
44
-
45
  def setup_gradio_interfaces():
46
 
 
 
 
 
 
 
 
 
 
47
 
48
- default_interfaces = [chat,demo4,democs,crud_interface()]#,demo]
49
- default_names = ["Chat","OpenInterpreter","仕様書から作成","Database",]#"demo"]
50
 
51
  gradio_interfaces, gradio_names = include_gradio_interfaces()
52
 
53
  all_interfaces = default_interfaces + gradio_interfaces
54
- all_names = default_names + gradio_names
55
 
56
  tabs = gr.TabbedInterface(all_interfaces, all_names)
57
  tabs.queue()
 
6
  import importlib
7
  import os
8
  import pkgutil
9
+ #from routers.chat.chat import demo44 as demo4
10
+ #
11
+ #from routers.postg.gradio_app import crud_interface
12
+ #from routers.chats.chats import gradio_interface
13
+
14
 
15
  def include_gradio_interfaces():
16
+ package_dir = "/home/user/app/controllers"
17
  gradio_interfaces = []
18
  gradio_names = set()
19
 
 
41
  print(f"Collected Gradio Interfaces: {gradio_names}")
42
  return gradio_interfaces, list(gradio_names)
43
 
 
 
 
44
  def setup_gradio_interfaces():
45
 
46
+ democs = gr.Interface(
47
+ fn=process_file,
48
+ inputs=[
49
+ "file",
50
+ gr.Textbox(label="Additional Notes", lines=10),
51
+ gr.Textbox(label="Folder Name"),
52
+ ],
53
+ outputs="text",
54
+ )
55
 
56
+ default_interfaces = [democs]#,demo]
57
+ default_names = ["仕様書から作成","Chat","OpenInterpreter","DataBase"]#"demo"]
58
 
59
  gradio_interfaces, gradio_names = include_gradio_interfaces()
60
 
61
  all_interfaces = default_interfaces + gradio_interfaces
62
+ all_names = default_names# + gradio_names
63
 
64
  tabs = gr.TabbedInterface(all_interfaces, all_names)
65
  tabs.queue()