srivatsavdamaraju commited on
Commit
a7196e4
·
verified ·
1 Parent(s): dae0c02

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +73 -0
app.py ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request, jsonify
2
+ import requests
3
+ import traceback
4
+
5
+ app = Flask(__name__)
6
+
7
+ # Function to query the external service
8
+ def query_external_service(query_text):
9
+ url = 'https://ig.aidtaas.com/python-pipelines/data/query'
10
+
11
+ headers = {
12
+ 'openai_key': 'sk-proj-9wbKIiDGVjsScdYKX3EZT3BlbkFJk55rhX7cN3MLyBskELdr',
13
+ 'Content-Type': 'application/json',
14
+ 'Authorization': 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3Ny1NUVdFRTNHZE5adGlsWU5IYmpsa2dVSkpaWUJWVmN1UmFZdHl5ejFjIn0.eyJleHAiOjE3MzQzNzU0MjksImlhdCI6MTczNDMzOTQyOSwianRpIjoiODU4N2Y4ZjctYjViMi00NWZhLWFlNWUtNTliYzc1MTE1YTYwIiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLXNlcnZpY2Uua2V5Y2xvYWsuc3ZjLmNsdXN0ZXIubG9jYWw6ODA4MC9yZWFsbXMvbWFzdGVyIiwiYXVkIjpbIkJPTFRaTUFOTl9CT1RfbW9iaXVzIiwiUEFTQ0FMX0lOVEVMTElHRU5DRV9tb2JpdXMiLCJNT05FVF9tb2JpdXMiLCJWSU5DSV9tb2JpdXMiLCJhY2NvdW50Il0sInN1YiI6IjJjZjc2ZTVmLTI2YWQtNGYyYy1iY2NjLWY0YmMxZTdiZmI2NCIsInR5cCI6IkJlYXJlciIsImF6cCI6IkhPTEFDUkFDWV9tb2JpdXMiLCJzaWQiOiIzMGI4ZTA4MS1mMmVhLTQ1YTItODVmOS0yNmMzZDM5NTQ5MzEiLCJhY3IiOiIxIiwiYWxsb3dlZC1vcmlnaW5zIjpbIi8qIl0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJkZWZhdWx0LXJvbGVzLW1hc3RlciIsIkhDWV9URU5BTlRfQ1VTVE9NIiwib2ZmbGluZV9hY2Nlc3MiLCJCT0JfVEVOQU5UX0NVU1RPTSIsInVtYV9hdXRob3JpemF0aW9uIiwiUElfVEVOQU5UX0NVU1RPTSIsIk1PTkVUX1RFTkFOVF9DVVNUT00iXX0sInJlc291cmNlX2FjY2VzcyI6eyJCT0xUWk1BTk5fQk9UX21vYml1cyI6eyJyb2xlcyI6WyJURU5BTlRfV09SS0ZMT1dfU1VTUEVORF9QUk9DRVNTX0RFRklOSVRJT04iLCJURU5BTlRfV09SS0ZMT1dfU1VTUEVORF9JTlNUQU5DRSIsIlRFTkFOVF9XT1JLRkxPV19SRVRSSUVWRV9BTEwiLCJURU5BTlRfV09SS0ZMT1dfQUNUSVZBVEVfSU5TVEFOQ0UiLCJURU5BTlRfV09SS0ZMT1dfRVhFQ1VURSIsIlRFTkFOVF9XT1JLRkxPV19SRVRSSUVWRV9IT01FIiwiVEVOQU5UX1dPUktGTE9XX1JFVFJJRVZFX1NVU1BFTkRFRF9QUk9DRVNTX0RFRlMiLCJURU5BTlRfV09SS0ZMT1dfQUNUSVZBVEVfUlVOX0pPQiIsIlRFTkFOVF9XT1JLRkxPV19TVEFUVVMiLCJURU5BTlRfV09SS0ZMT1dfQ1JFQVRFIiwiVEVOQU5UX1dPUktGTE9XX0FDVElWSVRZX0RBVEFfQ09VTlQiLCJCT0xUWk1BTk5fQk9UX1VTRVIiLCJURU5BTlRfV09SS0ZMT1dfREVQTE9ZX1ZFUlNJT04iLCJURU5BTlRfV09SS0ZMT1dfSU1QT1JUIiwiVEVOQU5UX1dPUktGTE9XX1VQREFURSIsIlRFTkFOVF9XT1JLRkxPV19ERVBMT1kiLCJURU5BTlRfV09SS0ZMT1dfU1VTUEVORF9SVU5fSk9CIiwiVEVOQU5UX1dPUktGTE9XX1JFVFJJRVZFIiwiVEVOQU5UX1dPUktGTE9XX0RFTEVURSIsIlRFTkFOVF9XT1JLRkxPV19UUklHR0VSX01FU1NBR0VfTElTVEVORVIiXX0sIkhPTEFDUkFDWV9tb2JpdXMiOnsicm9sZXMiOlsiVEVOQU5UX1BST0RVQ1RfUkVUUklFVkVfTUFTVEVSX0NPTkZJRyIsIlRFTkFOVF9JTlZJVEFUSU9OX1JFU1BPTkQiLCJURU5BTlRfTkVHT1RJQVRJT05fQVBQUk9WQUxfQlVZRVIiLCJURU5BTlRfSU5WSVRBVElPTl9SRVRSSUVWRSIsIlRFTkFOVF9PUkdBTklaQVRJT05fQ1JFQVRFIiwiVEVOQU5UX0NSRUFURV9URU5BTlQiLCJURU5BTlRfU1VCX0FMTElBTkNFX1JFVFJJRVZFIiwiVEVOQU5UX1BMQVRGT1JNX0NSRUFURSIsIkhPTEFDUkFDWV9VU0VSIiwiVEVOQU5UX1JBVEVDQVJEX0NSRUFURSIsIlRFTkFOVF9QTEFURk9STV9SRVRSSUVWRSIsIlRFTkFOVF9SRVRSSUVWRV9CWV9CVVlFUl9QTEFURk9STSIsIlRFTkFOVF9TVUJfQUxMSUFOQ0VfUkVUUklFVkVfQUxMIiwiVEVOQU5UX1BST0RVQ1RfUkVUUklFVkUiLCJURU5BTlRfQUNDT1VOVF9ERUxFVEUiLCJURU5BTlRfQUxMSUFOQ0VfUkVUUklFVkUiLCJURU5BTlRfUExBVEZPUk1fVVBEQVRFIiwiVEVOQU5UX0lOVklUQVRJT05fQ1JFQVRFIiwiVEVOQU5UX1JBVEVDQVJEX1JFVFJJRVZFIiwiVEVOQU5UX09SR0FOSVpBVElPTl9VUERBVEUiLCJURU5BTlRfUkFURUNBUkRfVVBEQVRFIiwiVEVOQU5UX09SR0FOSVpBVElPTl9ERUxFVEUiLCJURU5BTlRfUExBVEZPUk1fREVMRVRFIiwiVEVOQU5UX1BST0RVQ1RfQ1JFQVRFIiwiVEVOQU5UX1NVQl9BTExJQU5DRV9DUkVBVEUiLCJURU5BTlRfUkFURUNBUkRfREVMRVRFIiwiVEVOQU5UX0FDQ09VTlRfQ1JFQVRFIiwiVEVOQU5UX0lOVklUQVRJT05fVVBEQVRFIiwiVEVOQU5UX1JFVFJJRVZFX1RFTkFOVCIsIlRFTkFOVF9JTlZJVEFUSU9OX0RFTEVURSIsIlRFTkFOVF9ORUdPVElBVElPTl9BUFBST1ZBTF9TVVBFUl9BRE1JTiIsIlRFTkFOVF9ORUdPVElBVElPTl9SRVRSSUVWRV9BTExfQkVUV0VFTl9CVVlFUl9TRUxMRVIiLCJURU5BTlRfUkVUUklFVkVfVEVOQU5UX0FMTCIsIlRFTkFOVF9ORUdPVElBVElPTl9DUkVBVEUiLCJURU5BTlRfVVBEQVRFX1RFTkFOVCIsIlRFTkFOVF9PUkdBTklaQVRJT05fUkVUUklFVkUiLCJURU5BTlRfQUNDT1VOVF9VUERBVEUiLCJURU5BTlRfUFJPRFVDVF9ERUxFVEUiLCJURU5BTlRfU1VCX0FMTElBTkNFX0RFTEVURSIsIlRFTkFOVF9ORUdPVElBVElPTl9BUFBST1ZBTF9TRUxMRVIiLCJURU5BTlRfU1VCX0FMTElBTkNFX1VQREFURSIsIlRFTkFOVF9QUk9EVUNUX1VQREFURSIsIlRFTkFOVF9BQ0NPVU5UX1JFVFJJRVZFIiwiVEVOQU5UX05FR09USUFUSU9OX1JFVFJJRVZFIiwiVEVOQU5UX0RFTEVURV9URU5BTlQiXX0sIlBBU0NBTF9JTlRFTExJR0VOQ0VfbW9iaXVzIjp7InJvbGVzIjpbIlRFTkFOVF9DT05URVhUX0RFTEVURSIsIlRFTkFOVF9DT05URVhUX1VQREFURSIsIlRFTkFOVF9CSUdRVUVSWV9SRVRSSUVWRSIsIlRFTkFOVF9CSUdRVUVSWV9VUERBVEUiLCJURU5BTlRfVU5JVkVSU0VfQ1JFQVRFIiwiVEVOQU5UX0NPSE9SVFNfUkVUUklFVkUiLCJURU5BTlRfQklHUVVFUllfQ1JFQVRFIiwiVEVOQU5UX0JJR1FVRVJZX0VWQUxVQVRFIiwiVEVOQU5UX0NPSE9SVFNfVVBEQVRFIiwiVEVOQU5UX0NPTlRFWFRfUkVUUklFVkUiLCJURU5BTlRfVU5JVkVSU0VfUkVUUklFVkUiLCJURU5BTlRfQ09IT1JUU19FVkFMVUFURSIsIlRFTkFOVF9CSUdRVUVSWV9ERUxFVEUiLCJURU5BTlRfU0NIRU1BX0NSRUFURSIsIlBBU0NBTF9JTlRFTExJR0VOQ0VfVVNFUiIsIlRFTkFOVF9DT0hPUlRTX0NSRUFURSIsIlRFTkFOVF9TQ0hFTUFfVVBEQVRFIiwiVEVOQU5UX0NPTlRFWFRfQVBQUk9WRSIsIlRFTkFOVF9VTklWRVJTRV9VUERBVEUiLCJURU5BTlRfQklHUVVFUllfQVBQUk9WRSIsIlRFTkFOVF9TQ0hFTUFfUkVUUklFVkUiLCJURU5BTlRfU0NIRU1BX0FQUFJPVkUiLCJURU5BTlRfQ09OVEVYVF9FVkFMVUFURSIsIlRFTkFOVF9TQ0hFTUFfREVMRVRFIiwiVEVOQU5UX0NPTlRFWFRfQ1JFQVRFIiwiVEVOQU5UX1NDSEVNQV9EQVRBX1JFVFJJRVZFIiwiVEVOQU5UX1NDSEVNQV9EQVRBX0RFTEVURSIsIlRFTkFOVF9TQ0hFTUFfREFUQV9VUERBVEUiLCJURU5BTlRfQ09IT1JUU19ERUxFVEUiLCJURU5BTlRfVU5JVkVSU0VfREVMRVRFIiwiVEVOQU5UX1NDSEVNQV9EQVRBX0lOR0VTVElPTiIsIlRFTkFOVF9DT0hPUlRTX0FQUFJPVkUiXX0sIk1PTkVUX21vYml1cyI6eyJyb2xlcyI6WyJURU5BTlRfQVBQTEVUU19SRVRSSUVWRV9BTExfUFVCTElTSEVEIiwiVEVOQU5UX1dJREdFVFNfUkVUUklFVkVfRFJBRlQiLCJURU5BTlRfV0lER0VUU19VUERBVEUiLCJURU5BTlRfQVBQTEVUU19ERUxFVEUiLCJURU5BTlRfV0lER0VUU19ERUxFVEUiLCJURU5BTlRfUExVR0lOX0NBVEVHT1JZX1JFVFJJRVZFX0FMTCIsIlRFTkFOVF9BUFBMRVRTX1VQREFURV9ISVNUT1JZIiwiVEVOQU5UX0VYUEVSSUVOQ0VTX0NSRUFURSIsIlRFTkFOVF9XSURHRVRTX1JFVFJJRVZFX1BVQkxJU0giLCJURU5BTlRfUExVR0lOX0NBVEVHT1JZX0NSRUFURSIsIlRFTkFOVF9ERVBFTkRFTkNZX1JFVFJJRVZFX0FMTCIsIlRFTkFOVF9XSURHRVRTX1BVQkxJU0giLCJURU5BTlRfUkVUUklFVkVfRklFTERTX09GX1BVQkxJU0hFRCIsIlRFTkFOVF9FWFBFUklFTkNFU19VUERBVEUiLCJURU5BTlRfQVBQTEVUU19DUkVBVEUiLCJURU5BTlRfUExVR0lOU19ERUxFVEUiLCJURU5BTlRfQVBQTEVUU19SRVRSSUVWRV9BTExfRFJBRlQiLCJURU5BTlRfUExVR0lOU19VUERBVEUiLCJURU5BTlRfQVBQTEVUU19SRVRSSUVWRV9GUk9NX0hJU1RPUlkiLCJURU5BTlRfUkVUUklFVkVfRklFTERTX09GX0RSQUZUIiwiVEVOQU5UX0FQUExFVFNfUkVUUklFVkVfUFVCTElTSEVEIiwiVEVOQU5UX0FQUExFVFNfUFVCTElTSEVEIiwiVEVOQU5UX1dJREdFVFNfUkVUUklFVkUiLCJURU5BTlRfUExVR0lOX0NBVEVHT1JZX0RFTEVURSIsIlRFTkFOVF9QTFVHSU5fQ0FURUdPUllfUFVCTElTSCIsIlRFTkFOVF9QTFVHSU5fQ0FURUdPUllfREVMRVRFX0NPTVBfRlJPTSIsIlRFTkFOVF9SRVRSSUVWRV9QVUJMSVNIRUQiLCJURU5BTlRfUExVR0lOU19SRVRSSUVWRSIsIlRFTkFOVF9QTFVHSU5TX0NSRUFURSIsIlRFTkFOVF9XSURHRVRTX0NSRUFURSIsIlRFTkFOVF9BUFBMRVRTX1JFVFJJRVZFX0FMTF9QVUJMSVNIRURfVEhVTUJOQUlMUyIsIk1PTkVUX1VTRVIiLCJURU5BTlRfRVhQRVJJRU5DRVNfREVMRVRFIiwiVEVOQU5UX0VYUEVSSUVOQ0VTX1BVQkxJU0giLCJURU5BTlRfUkVUUklFVkVfRlJPTV9ISVNUT1JZIiwiVEVOQU5UX1BMVUdJTl9DQVRFR09SWV9VUERBVEUiXX0sIlZJTkNJX21vYml1cyI6eyJyb2xlcyI6WyJWSU5DSV9VU0VSIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJyZXF1ZXN0ZXJUeXBlIjoiVEVOQU5UIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsIm5hbWUiOiJBaWR0YWFzIEFpZHRhYXMiLCJ0ZW5hbnRJZCI6IjJjZjc2ZTVmLTI2YWQtNGYyYy1iY2NjLWY0YmMxZTdiZmI2NCIsInByZWZlcnJlZF91c2VybmFtZSI6InBhc3N3b3JkX3RlbmFudF9haWR0YWFzQGdhaWFuc29sdXRpb25zLmNvbSIsImdpdmVuX25hbWUiOiJBaWR0YWFzIiwiZmFtaWx5X25hbWUiOiJBaWR0YWFzIiwiZW1haWwiOiJwYXNzd29yZF90ZW5hbnRfYWlkdGFhc0BnYWlhbnNvbHV0aW9ucy5jb20ifQ.LitTBYDkk1Vrjbl9bW0YJdSJN8CZGelyFThLIOKd35yt3kMTHGqIktd0gP1GsfeLorgaOkhu0tPXmbY1WO_0c8J6HAeYOhpdIz69sIOT_qRmTVX35FFmxBw8UZx3SBkAdTaQUZu4k_NETt3v-wofewiU_AOrEv-y8ktTE0A-H9Z0eG-tmIKxd2uAsnXPb8CP_02biKPd4oK4ogTdefVGYrE_CdaLuJiKGeylRqkKUJLBvuDD_FcTwbCNeFFrh36Z1BxcHhbR4OjO1wOVUt_TlVNvKYlg8M4CCZb8qCffI-6yjm9sSPORnW-GXzNboqZnLxkvQgSZomHDOnOj2A25hg', # Replace with actual token
15
+ }
16
+
17
+ # Payload with default values for other parameters, only 'query_text' is dynamic
18
+ payload = {
19
+ "collection_name": "vatsav1",
20
+ "query_text": query_text,
21
+ "top_k": 10,
22
+ "tenant_id": "str", # Set this as needed, or get from input
23
+ "metadata_filter_map": {},
24
+ "doc_filter_map": {},
25
+ "projection_fields": [
26
+ "documents",
27
+ "distances",
28
+ "metadatas"
29
+ ]
30
+ }
31
+
32
+ try:
33
+ # Sending the request to the external service
34
+ response = requests.post(url, json=payload, headers=headers)
35
+
36
+ # Check if the response was successful (status code 200)
37
+ response.raise_for_status()
38
+
39
+ # Return the response as JSON
40
+ return response.json()
41
+
42
+ except requests.exceptions.HTTPError as http_err:
43
+ print(f"HTTP error occurred: {http_err}")
44
+ return {"error": "External API error", "message": str(http_err)}, 500
45
+ except Exception as err:
46
+ print(f"Other error occurred: {err}")
47
+ print(traceback.format_exc())
48
+ return {"error": "An error occurred", "message": str(err)}, 500
49
+
50
+
51
+ # API route to handle queries
52
+ @app.route('/input_query', methods=['POST'])
53
+ def input_query():
54
+ # Get query_text from the JSON request body
55
+ data = request.get_json()
56
+
57
+ if not data:
58
+ return jsonify({"error": "Invalid JSON"}), 400
59
+
60
+ query_text = data.get('query_text', '')
61
+
62
+ # Check if the query_text is provided
63
+ if not query_text:
64
+ return jsonify({"error": "query_text is required"}), 400
65
+
66
+ # Query the external service
67
+ response = query_external_service(query_text)
68
+
69
+ # Return the response from the external API
70
+ return jsonify(response)
71
+
72
+ if __name__ == '__main__':
73
+ app.run(debug=True)