File size: 4,542 Bytes
a143120 7fcf52f a143120 95c9859 8018de6 95c9859 7f7f9e6 bf3028a 79b31ff bf3028a 7fcf52f 79b31ff 7fcf52f 79b31ff 7fcf52f bf3028a 5cc9742 a61eaba 5cc9742 a143120 5cc9742 7fcf52f 5cc9742 7fcf52f 5cc9742 7fcf52f a143120 324ca83 a143120 324ca83 a143120 324ca83 a143120 7fcf52f 324ca83 a143120 324ca83 a143120 324ca83 a143120 7fcf52f 324ca83 a143120 324ca83 a143120 324ca83 a143120 7fcf52f 324ca83 a143120 324ca83 a143120 324ca83 a143120 7fcf52f 324ca83 7fcf52f ea718cf a143120 324ca83 a143120 7decab9 7fcf52f a143120 324ca83 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
from flask import Flask, jsonify, request
from webscout import WEBS
from webscout.LLM import LLM
app = Flask(__name__)
@app.route('/search', methods=['POST'])
def WEBScout2_search_search():
data = request.get_json()
if 'query' not in data:
return jsonify({'error': 'Query parameter missing'})
query = data['query']
limit = data.get('limit', 10) # Default limit to 10 if not provided
WEBS_instance = WEBS() # Instantiate WEBS without context manager
responses = []
for i, r in enumerate(WEBS_instance.text(query, region='wt-wt', safesearch='off', timelimit='y')):
responses.append(r)
return jsonify(responses)
@app.route('/int', methods=['GET'])
def WEBScout3_search_search_search_search():
query = request.args.get('q')
if not query:
return jsonify({'error': 'Query parameter missing'})
limit = request.args.get('limit', default=10, type=int) # Default limit to 10 if not provided
WEBS_instance = WEBS() # Instantiate WEBS without context manager
responses = []
for i, r in enumerate(WEBS_instance.text(query, region='wt-wt', safesearch='off', timelimit='y')):
if i == limit: # Use the custom limit
break
responses.append(r)
return jsonify(responses)
@app.route('/mws', methods=['POST'])
def WEBScout_search():
data = request.get_json()
if 'query' not in data:
return jsonify({'error': 'Query parameter missing'})
query = data['query']
WEBS_instance = WEBS() # Instantiate WEBS without context manager
responses = []
for i, r in enumerate(WEBS_instance.text(query, region='wt-wt', safesearch='off', timelimit='y')):
if i == 2: # Limiting the results to 2
break
responses.append(r)
return jsonify(responses)
@app.route('/health', methods=['GET'])
def health_check():
return jsonify({'status': 'ok'})
@app.route('/video', methods=['GET'])
def WEBScout_videos():
params = request.args
if 'keywords' not in params:
return jsonify({'error': 'Keywords parameter missing'})
keywords = params['keywords']
WEBS_instance = WEBS() # Instantiate WEBS without context manager
responses = []
for r in WEBS_instance.videos(
keywords,
region="wt-wt",
safesearch="off",
timelimit="w",
resolution="high",
duration="medium",
max_results=10,
):
responses.append(r)
return jsonify(responses)
@app.route('/img', methods=['GET'])
def WEBScout2_images():
params = request.args
if 'keywords' not in params:
return jsonify({'error': 'Keywords parameter missing'})
keywords = params['keywords']
WEBS_instance = WEBS() # Instantiate WEBS without context manager
responses = []
for r in WEBS_instance.images(
keywords,
region="wt-wt",
safesearch="off",
size=None,
type_image=None,
layout=None,
license_image=None,
max_results=10,
):
responses.append(r)
return jsonify(responses)
@app.route('/news', methods=['GET'])
def WEBScout_news():
params = request.args
if 'keywords' not in params:
return jsonify({'error': 'Keywords parameter missing'})
keywords = params['keywords']
WEBS_instance = WEBS() # Instantiate WEBS without context manager
responses = []
for r in WEBS_instance.news(
keywords,
region="wt-wt",
safesearch="off",
timelimit="m",
max_results=10
):
responses.append(r)
return jsonify(responses)
@app.route('/translate', methods=['GET'])
def WEBScout_translate():
params = request.args
if 'keywords' not in params or 'to' not in params:
return jsonify({'error': 'Keywords or target language parameter missing'})
keywords = params['keywords']
target_language = params['to']
WEBS_instance = WEBS() # Instantiate WEBS without context manager
translation = WEBS_instance.translate(keywords, to=target_language)
return jsonify(translation)
@app.route('/chat', methods=['POST'])
def chat_gpt():
user_input = request.json.get('message')
if user_input is None:
return jsonify({'error': 'Message parameter missing'})
llm = LLM("mistralai/Mixtral-8x7B-Instruct-v0.1") # Initialize the LLM class with a model
response = llm.mistral_chat([{"role": "user", "content": user_input}]) # Call the mistral_chat method
return jsonify({"response": response})
if __name__ == '__main__':
app.run(debug=True) |