ragV98 commited on
Commit
62a4bec
·
1 Parent(s): 71257bd

should work this time

Browse files
Files changed (1) hide show
  1. components/generators/daily_feed.py +32 -24
components/generators/daily_feed.py CHANGED
@@ -2,6 +2,7 @@ import os
2
  import sys
3
  import json
4
  import requests
 
5
 
6
  sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
7
 
@@ -35,36 +36,43 @@ def build_prompt(content: str, topic: str) -> str:
35
  )
36
 
37
  # 🧠 Send prompt to Mistral
38
- def call_mistral(prompt: str) -> str:
39
- if not prompt or len(prompt.strip()) < 10:
40
- print(f"⚠️ Skipping empty or invalid prompt:\n{prompt}\n")
41
- return None
42
-
43
- headers = {
44
- "Authorization": f"Bearer {HF_TOKEN}",
45
- "Content-Type": "application/json"
46
- }
 
47
  payload = {
48
- "inputs": prompt
 
 
 
 
49
  }
50
 
51
  try:
52
- response = requests.post(MISTRAL_URL, headers=headers, json=payload, timeout=20)
53
  response.raise_for_status()
54
- result = response.json()
55
- # HF sometimes returns raw string, sometimes list/dict
56
- if isinstance(result, dict) and "generated_text" in result:
57
- return result["generated_text"].strip()
58
- elif isinstance(result, list) and "generated_text" in result[0]:
59
- return result[0]["generated_text"].strip()
60
- elif "outputs" in result:
61
- return result["outputs"][0]["content"].strip()
62
- else:
63
- print(f"⚠️ Unexpected response format: {result}")
64
- return None
 
65
  except Exception as e:
66
- print(f"⚠️ Mistral error: {e}")
67
- return None
 
68
 
69
 
70
  # ✂️ Generate summaries per topic
 
2
  import sys
3
  import json
4
  import requests
5
+ from requests.exceptions import RequestException
6
 
7
  sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
8
 
 
36
  )
37
 
38
  # 🧠 Send prompt to Mistral
39
+ HEADERS = {
40
+ "Authorization": f"Bearer {HF_TOKEN}",
41
+ "Content-Type": "application/json"
42
+ }
43
+
44
+ def call_mistral(prompt: str, max_new_tokens: int = 128, temperature: float = 0.7) -> str:
45
+ """
46
+ Call Hugging Face Inference Endpoint hosting Mistral-7B.
47
+ Returns the generated summary, or empty string on failure.
48
+ """
49
  payload = {
50
+ "inputs": prompt,
51
+ "parameters": {
52
+ "max_new_tokens": max_new_tokens,
53
+ "temperature": temperature
54
+ }
55
  }
56
 
57
  try:
58
+ response = requests.post(MISTRAL_URL, headers=HEADERS, json=payload, timeout=60)
59
  response.raise_for_status()
60
+ data = response.json()
61
+
62
+ # Handle both list and dict output formats
63
+ if isinstance(data, list) and data:
64
+ return data[0].get("generated_text", "").strip()
65
+ if isinstance(data, dict) and "generated_text" in data:
66
+ return data["generated_text"].strip()
67
+
68
+ except RequestException as e:
69
+ print(" Mistral HF request failed:", str(e))
70
+ if e.response is not None:
71
+ print("↪️ Response:", e.response.text[:300])
72
  except Exception as e:
73
+ print(" Unexpected error:", str(e))
74
+
75
+ return ""
76
 
77
 
78
  # ✂️ Generate summaries per topic