zhangtao-whu's picture
Upload folder using huggingface_hub
476ac07 verified
raw
history blame
1.48 kB
# Copyright (c) OpenMMLab. All rights reserved.
import os
import sys
import requests
try:
SERPER_API_KEY = os.environ['SERPER_API_KEY']
except Exception:
print('Please obtain the `SERPER_API_KEY` from https://serper.dev and '
'set it using `export SERPER_API_KEY=xxx`.')
sys.exit(1)
def parse_results(results, k=10):
snippets = []
for result in results['organic'][:k]:
if 'snippet' in result:
snippets.append(result['snippet'])
for attribute, value in result.get('attributes', {}).items():
snippets.append(f'{attribute}: {value}.')
return snippets
def search(api_key, search_term, **kwargs):
headers = {
'X-API-KEY': api_key,
'Content-Type': 'application/json',
}
params = {
'q': search_term,
**{key: value
for key, value in kwargs.items() if value is not None},
}
try:
response = requests.post(
'https://google.serper.dev/search',
headers=headers,
params=params,
timeout=5)
except Exception as e:
return -1, str(e)
return response.status_code, response.json()
def Search(q, k=10):
status_code, response = search(SERPER_API_KEY, q)
if status_code != 200:
ret = 'None\n'
else:
text = parse_results(response, k=k)
ret = ''
for idx, res in enumerate(text):
ret += f"<|{idx+1}|>: '{res}'\n"
return ret