Spaces:
Sleeping
Sleeping
File size: 1,233 Bytes
a486fa6 13bcc0d a486fa6 13bcc0d a486fa6 13bcc0d a486fa6 13bcc0d a486fa6 13bcc0d a486fa6 13bcc0d |
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 |
import os
import requests
GROQ_URL = "https://api.groq.com/openai/v1/chat/completions"
SERP_URL = "https://serpapi.com/search"
class GroqClient:
def __init__(self, api_key=None):
self.api_key = api_key or os.getenv("GROQ_API_KEY")
if not self.api_key:
raise Exception("Set GROQ_API_KEY in Space secrets.")
self.headers = {"Authorization": f"Bearer {self.api_key}"}
def ask(self, messages, model, max_tokens=4096):
payload = {
"model": model,
"messages": messages,
"max_tokens": max_tokens,
"temperature": 0
}
r = requests.post(GROQ_URL, json=payload, headers=self.headers)
data = r.json()
try:
return data["choices"][0]["message"]["content"]
except:
return str(data)
class SerpClient:
def __init__(self, api_key=None):
self.api_key = api_key or os.getenv("SERPAPI_KEY")
if not self.api_key:
raise Exception("Set SERPAPI_KEY in Space secrets.")
def search(self, query):
params = {"q": query, "api_key": self.api_key}
r = requests.get(SERP_URL, params=params)
return r.json().get("organic_results", [])
|