Spaces:
Sleeping
Sleeping
async def complete_gemini_async(infor, key, params={}): | |
question, sample = infor | |
prompt = f"Based on language and the answer of the following sample : {sample} \n Answer this the question : {question}" | |
data = { | |
"contents": [ | |
{ | |
"parts": [ | |
{ | |
"text":prompt | |
} | |
] | |
} | |
], | |
"generationConfig": { | |
"stopSequences": ["Title"], | |
"temperature": 1.0 if "temp" not in params else params["temp"], | |
"maxOutputTokens": 2048 if "max_length" not in params else params["max_length"], | |
"topP": 0.8 if "top_p" not in params else params["top_p"], | |
"topK": 10 if "top_k" not in params else params["top_k"] | |
} | |
} | |
params = {'key': key} | |
headers = {"Content-Type": "application/json"} | |
result = None | |
pass_data = { | |
"chat": prompt, | |
"key": key, | |
"params": params | |
} | |
try: | |
async with httpx.AsyncClient() as client: | |
url = rd.choice(gate_geminis) | |
result = await client.post(url, json=pass_data, timeout=120) | |
result.raise_for_status() | |
return result.json() | |
except requests.RequestException as e: | |
if e.status_code == 429: | |
await asyncio.sleep(10) | |
print(f"Error making Gemini API request: {e}") | |
async with httpx.AsyncClient() as client: | |
url = rd.choice(gate_geminis) | |
result = await client.post(url, json=data, timeout=120) | |
result.raise_for_status() | |
return result.json() | |