Spaces:
Runtime error
Runtime error
File size: 2,262 Bytes
41073c3 e31c2f9 6bf08a0 f97694d e31c2f9 6bf08a0 41073c3 6bf08a0 41073c3 6bf08a0 41073c3 6bf08a0 41073c3 6bf08a0 0a22369 41073c3 6bf08a0 41073c3 6bf08a0 0a22369 f97694d 6bf08a0 f97694d e31c2f9 f97694d e31c2f9 41073c3 6bf08a0 41073c3 f97694d 41073c3 f97694d 41073c3 6bf08a0 41073c3 | 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 | import os
import requests
import tempfile
from transformers import pipeline
# Use a safe writable temporary directory
cache_dir = os.path.join(tempfile.gettempdir(), "hf_cache")
os.environ["HF_HOME"] = cache_dir
os.makedirs(cache_dir, exist_ok=True)
# Load GPT-2 safely into tmp directory
try:
generator = pipeline(
"text-generation",
model="gpt2",
cache_dir=cache_dir,
local_files_only=False
)
except Exception as e:
generator = None
print("⚠️ GPT-2 model loading failed:", e)
def generate_description(country_name):
"""
Generate a simple English description about a country using GPT-2.
"""
if not generator:
return "⚠️ Model unavailable."
try:
prompt = f"Tell me about {country_name}."
result = generator(prompt, max_length=100, do_sample=True)
return result[0]["generated_text"].strip()
except Exception as e:
return f"⚠️ Error: {str(e)}"
def get_country_info(country_name):
"""
Get basic country info using REST Countries API.
"""
try:
url = f"https://restcountries.com/v3.1/name/{country_name}"
response = requests.get(url)
data = response.json()[0]
info = {
"Name": data.get("name", {}).get("common", "N/A"),
"Capital": ", ".join(data.get("capital", ["N/A"])),
"Region": data.get("region", "N/A"),
"Population": f'{data.get("population", 0):,}',
"Languages": ", ".join(data.get("languages", {}).values())
}
return info
except Exception as e:
return {"error": f"⚠️ Failed to retrieve country data."}
def translate_to_bangla(text):
"""
Translate English text to Bangla using LibreTranslate API.
"""
try:
response = requests.post(
"https://libretranslate.com/translate",
headers={"Content-Type": "application/json"},
json={
"q": text,
"source": "en",
"target": "bn",
"format": "text"
}
)
return response.json().get("translatedText", "⚠️ Translation failed.")
except Exception:
return "⚠️ Translation API error."
|