hussein2000 commited on
Commit
3cfdd3f
·
verified ·
1 Parent(s): bc5e6c4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -36
app.py CHANGED
@@ -1,45 +1,55 @@
1
  from flask import Flask, request, jsonify
2
  import requests
3
- import json
4
 
5
  app = Flask(__name__)
6
 
7
- # Headers for you.com API
8
- headers = {
9
- "cookie": "uuid_guest=12653d55-2f42-4fbd-98bb-33edf8714123; uuid_guest_backup=12653d55-2f42-4fbd-98bb-33edf8714123; AF_DEFAULT_MEASUREMENT_STATUS=true; _ga=GA1.1.1620651973.1726065059; afUserId=26bc0a6c-f7b2-42bb-a950-16348632bbff-p; FPID=FPID2.2.rnWEp46VSGiozCeyM8uHn6Con89GxAFIKMqggZYT0wc%3D.1726065059; FPAU=1.2.1152748874.1726065189; DSR=eyJhbGciOiJSUzI1NiIsImtpZCI6IlNLMmpJbnU3SWpjMkp1eFJad1psWHBZRUpQQkFvIiwidHlwIjoiSldUIn0.eyJhbXIiOlsib2F1dGgiXSwiYXV0aDBJZCI6bnVsbCwiZHJuIjoiRFNSIiwiZW1haWwiOiJhbGhvb3JzaG9wcEBnbWFpbC5jb20iLCJleHAiOjE3NTc1MTQ3OTcsImdpdmVuTmFtZSI6IkFsaG9vciIsImlhdCI6MTcyNjA2NTE5NywiaXNzIjoiUDJqSW50dFJNdVhweVlaTWJWY3NjNEM5WjBSVCIsImxhc3ROYW1lIjoiU2hvcHAiLCJuYW1lIjoiQWxob29yIFNob3BwIiwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9hL0FDZzhvY0x5U3YxS3BqTEcyc1Mybjhsa3A3MGpJZGJ3VkNFMWpaM0Q5ZDhzdFI2bldvUlVvdz1zOTYtYyIsInN0eXRjaElkIjpudWxsLCJzdWIiOiJVMmx2ZXVFbTU0RmY3cDRBUXB5NU5FTURteXplIiwidGVuYW50SW52aXRhdGlvbiI6bnVsbCwidGVuYW50SW52aXRlciI6bnVsbCwidXNlcklkIjoiVTJsdmV1RW01NEZmN3A0QVFweTVORU1EbXl6ZSIsInZlcmlmaWVkRW1haWwiOnRydWV9.p5kyNNqq1ELBZ8AGhI6SsRccE_XPK04qE1DhBWI06D1MEksoETLlolHtr8yGUYABGMRtmnhGpiohkEsmaroia7ezQYe4z_vYbepnE0IsuhsH4H6BL8mBogPER6VrmeaEvgNzOGiqGNspMZkkNKPP46f5cZQfFYhPgVD2H_hhC2WlRhwzmA_KBOxSXDnHsuFYIv51aqkAyzUguL_IdG7CajMGkMBf4noTE_6IuBS18_tTUsTgcgMqecFbKfySSOSWMgLUIpZUI4_lNWP7shsvkDI7xsuATrGf7Ci08PyEo0UMmI44EduiZGuCRONuDlFrAYpkeGPZugBlr7SNaBYBVA; cf_clearance=AK7TQPxcsdpZipu2JajNb2pK1vMt8o7qG9YubF.3ltk-1727005917-1.2.1.1-6gpuUnk60M1itXRWZAf3xZyH5QaRTHSpCHXsZHx9zgSPOtJykF.1izJMMtQ69EB_0UajH5t8zW1wQO9cSvIdUv3N0IstSKJtN9OC3ijAF8EybbFNtUC.rlA2vevPjpVsR2N7NHGVuXR4OuMgZN9R3BcrhTjU3gpFJOiAZQlxImijFSA8mO7.BaxcU7X3e2w4HZB4c27lgzBM2oIBz12dMUVG0SB0_tDOHtAxpBltosI092lRuORu80C_3u6BfZZMYEjIuWKV3PqI0noMOb1jKIvUvb4jOBQ59sXqtvIgW2Xy1P6nyAmBd1enh5RXFVWTm0JQgv2TlfSoNSCIGPhu6FafbLYPxsaYrBtMEiCMlPOOoxezPuCBk0FeikQJsGu7U7r3D7GnhQZuiaHSpab3Nw; _clck=3hwjik%7C2%7Cfpe%7C0%7C1715; tdl_youpro=1020fccf1fab5bf2b1df65da9b6afb; safesearch_guest=Moderate; __cf_bm=uWp_2WLYSSHuuzntNdNUc_PmGQeJznDrQB8_2MU1x_Y-1731161652-1.0.1.1-XUzWj5B5kHJXH3x5cSEhon4sBylGd7e_3p346rNC_caRlEQYG9FEVbzJH_i5Uhv.3e0BJHVwUDB9ywcqiYG.pyQODExMNs_kTHywQFL.qdc; _cfuvid=c3P8i6gmopU4e4uMKNJmW42pnZlHaS.vtHB31WlfWrM-1731161652616-0.0.1.1-604800000; youpro_subscription=false; ab.storage.deviceId.dcee0642-d796-4a7b-9e56-a0108e133b07=g%3Abd7f481f-f2a4-2851-c570-f915decb5bd2%7Ce%3Aundefined%7Cc%3A1726065048731%7Cl%3A1731247844430; ab.storage.userId.dcee0642-d796-4a7b-9e56-a0108e133b07=g%3AU2lveuEm54Ff7p4AQpy5NEMDmyze%7Ce%3Aundefined%7Cc%3A1726065077561%7Cl%3A1731247844431; you_subscription=freemium; safesearch_b2a2fdf678a327a1f0d04c5a6944ed5165725553bb48ef436dd66c7908778261=Moderate; ld_context=%7B%22kind%22%3A%22user%22%2C%22key%22%3A%2212653d55-2f42-4fbd-98bb-33edf8714123%22%2C%22email%22%3A%22alhoorshopp%40gmail.com%22%2C%22country%22%3A%22FR%22%2C%22userAgent%22%3A%22Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F130.0.0.0%20Safari%2F537.36%22%2C%22secUserAgent%22%3A%22%5C%22Chromium%5C%22%3Bv%3D%5C%22130%5C%22%2C%20%5C%22Google%20Chrome%5C%22%3Bv%3D%5C%22130%5C%22%2C%20%5C%22Not%3FA_Brand%5C%22%3Bv%3D%5C%2299%5C%22%22%7D; youchat_personalization=true; youchat_smart_learn=true; daily_query_date=Sun%20Nov%2010%202024; _gcl_au=1.1.1532377395.1731247864; AF_SYNC=1731247870198; FPLC=Ch%2FKQHoC2NzzKJU%2Brw%2B6GvuHXQtDuIpn5jh1JqVumvhLNgkHCClz2HsmW%2FR%2BE2HwsqpKPHOdahm8NOFH4aYH0MIZF10pNLYoo9rOnKFH7o30b%2BlhBpd7ooIm300Nsw%3D%3D; _gtmeec=eyJlbSI6ImEwNDQwMmZkOTI4NGQ2NGY3NWM3ZTY5YzIxY2NmZGZjNDhhZDIzNzc5MDJiYmNlYjk2MDMwYWFkZTk1NzdlYmYiLCJjdCI6IjJhNWNhYzcwZTlmMTFhM2I0MmY2YmI0YjQzMmE0ZmUxNmE2ZWNlNDQ1ZjgzZTFiMjJmODQ4M2RkZTA3MGY2OGUiLCJzdCI6ImVhZGUxZTEyNjhlMjhlMzVhNGI3MWM2OTQyNjBjMDIyNGRhNGQ2NWZmZGI0MzVlNTA4MTM0NmZlYTQxMzVhODgiLCJ6cCI6IjJkN2RkY2Q0MTljMDM0OWUwN2QxZDU4NjVjMGJhMTRkODVhMjNlZWM3Yjc3NDU5NDVkNzhmOWJjZjMwZjA2YjAiLCJjb3VudHJ5IjoiNjdhZDhmNDFhN2JiMGExOGM0NWYzZWZkOGY2YTMyYmRjZDgzMmJjZjhmM2YyZWI0NDAwNmMwM2Q1MzA3NmUxOCJ9; guest_has_seen_legal_disclaimer=true; ai_model=gpt_4_turbo; FPGSID=1.1731161699.1731162270.G-WYGVQX1R23.-TeXogW_-KIFTs8v7LukiQ; DS=eyJhbGciOiJSUzI1NiIsImtpZCI6IlNLMmpJbnU3SWpjMkp1eFJad1psWHBZRUpQQkFvIiwidHlwIjoiSldUIn0.eyJhbXIiOlsib2F1dGgiXSwiYXV0aDBJZCI6bnVsbCwiZHJuIjoiRFMiLCJlbWFpbCI6ImFsaG9vcnNob3BwQGdtYWlsLmNvbSIsImV4cCI6MTczMzU4MTQ5MiwiZ2l2ZW5OYW1lIjoiQWxob29yIiwiaWF0IjoxNzMxMTYyMjkyLCJpc3MiOiJQMmpJbnR0Uk11WHB5WVpNYlZjc2M0QzlaMFJUIiwibGFzdE5hbWUiOiJTaG9wcCIsIm5hbWUiOiJBbGhvb3IgU2hvcHAiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jTHlTdjFLcGpMRzJzUzJuOGxrcDcwaklkYndWQ0UxalozRDlkOHN0UjZuV29SVW93PXM5Ni1jIiwicmV4cCI6IjIwMjUtMTEtMDhUMTQ6MjQ6NTJaIiwic3R5dGNoSWQiOm51bGwsInN1YiI6IlUybHZldUVtNTRGZjdwNEFRcHk1TkVNRG15emUiLCJ0ZW5hbnRJbnZpdGF0aW9uIjpudWxsLCJ0ZW5hbnRJbnZpdGVyIjpudWxsLCJ1c2VySWQiOiJVMmx2ZXVFbTU0RmY3cDRBUXB5NU5FTURteXplIiwidmVyaWZpZWRFbWFpbCI6dHJ1ZX0.WENvUj_r0MWLswS8blsSaB_mjGaWTSph83fYwTG6QAlGrRfnHAl6Tsbe7OVr4OmBdDWDma4kD_hfLq5dkR5YAhFeF7d1gvgD5wWjNBFFRdkUVJQwlJj9nSRnMPzteIGV0Ylp4xnAJGh_jWHieH_Jsv9Ki7TUFUUg4mMhp-CInur9eoZ6LIU0yRVR36_k-jDxz5COoe59nOAwV334DjHXGUgXmS61P0lu9d_t6sCTQIOfqzCPkNL1U2W20BfFVYX-uaYqPP8bHrKZc-gDLqzWmjar9UNF2HEHpKjciKlQpRoRVljO45c6zsQQUTmIaLkX1J6WiuWAf4sVcyJoy7VXsg; daily_query_count=10; total_query_count=10; _ga_2N7ZM9C56V=GS1.1.1731247871.3.1.1731248475.0.0.53253675; ab.storage.sessionId.dcee0642-d796-4a7b-9e56-a0108e133b07=g%3A8d743f0e-6468-492d-af13-cc8c6c73d54e%7Ce%3A1731250275904%7Cc%3A1731247844430%7Cl%3A1731248475904", # truncated for brevity
10
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"
11
- }
12
-
13
- @app.route('/get_response', methods=['POST'])
14
- def get_response():
15
- user_message = request.json.get('message')
16
- chat_history = request.json.get('chat_history')
17
 
18
- if not user_message:
19
- return jsonify({"error": "User message is required"}), 400
20
-
21
- # Construct the URL for you.com API request
22
- url = f"https://you.com/api/streamingSearch?page=1&count=10&safeSearch=Moderate&enable_worklow_generation_ux=true&domain=youchat&use_personalization_extraction=false&traceId=&selectedChatMode=user_mode_ed7a545e-d226-457d-8a92-c436153fe827&q=CHAT :{chat_history} user : {user_message}"
23
-
24
- # Send the request to you.com
25
- response = requests.get(url, headers=headers, stream=True)
26
-
27
- # Process the response
28
- model_response = ""
29
- for line in response.iter_lines():
30
- if line:
31
- decoded_line = line.decode('utf-8')
32
- if 'youChatToken' in decoded_line and 'data: ' in decoded_line:
33
- data = json.loads(decoded_line.split('data: ')[1])
34
- model_response += data["youChatToken"]
35
-
36
- # Clean up the response text
37
- model_response = model_response.replace(
38
- "#### You've hit your free quota for the Custom Agent. For more usage of the Custom Agent, learn more at: https://you.com/plans.\n\nAnswering your question without the Custom Agent:\n",
39
- ""
40
- ).replace("AI CORVO: ", "").replace("Ana: ", "").strip()
41
-
42
- return jsonify({"response": model_response})
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
 
44
  if __name__ == '__main__':
45
  app.run(host="0.0.0.0", port=7860)
 
1
  from flask import Flask, request, jsonify
2
  import requests
 
3
 
4
  app = Flask(__name__)
5
 
6
+ def get_mp3_voice(text, pubsub_topic):
7
+ # Set the request URL
8
+ url = "https://api.braininc.net/be/vectordb/tts"
 
 
 
 
 
 
 
9
 
10
+ # Define the headers
11
+ headers = {
12
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36",
13
+ "Content-Type": "application/json",
14
+ "Authorization": "token f082106b7f91d304eb2049fae9048160817425f1"
15
+ }
16
+
17
+ # Define the payload with required parameters
18
+ payload = {
19
+ "pubsub_topic": pubsub_topic,
20
+ "text": text
21
+ }
22
+
23
+ try:
24
+ # Send the POST request to the server
25
+ response = requests.post(url, json=payload, headers=headers)
26
+
27
+ # Check if the request was successful
28
+ if response.status_code == 200:
29
+ # Save the mp3 file
30
+ with open("output.mp3", "wb") as file:
31
+ file.write(response.content)
32
+ return "MP3 file saved as 'output.mp3'"
33
+ else:
34
+ return f"Request failed with status code {response.status_code}: {response.text}"
35
+
36
+ except requests.exceptions.RequestException as e:
37
+ return f"An error occurred: {e}"
38
+
39
+ @app.route('/generate-voice', methods=['POST'])
40
+ def generate_voice():
41
+ # Get text from request JSON
42
+ data = request.get_json()
43
+ text = data.get("text")
44
+
45
+ if not text:
46
+ return jsonify({"error": "No text provided"}), 400
47
+
48
+ # Call get_mp3_voice with the provided text and a static pubsub_topic
49
+ pubsub_topic = "/studios/739240/wsuid_new-edge-22_nodeid_editor-21/customApi/1731358894033"
50
+ result = get_mp3_voice(text, pubsub_topic)
51
+
52
+ return jsonify({"message": result})
53
 
54
  if __name__ == '__main__':
55
  app.run(host="0.0.0.0", port=7860)