instagram_bot / README.md
mattysaints's picture
feat: swap backend from HF Inference Providers to Groq direct (free tier)
8e0729b verified
|
Raw
History Blame Contribute Delete
2.45 kB
metadata
title: IG Comment Gen
emoji: 💬
colorFrom: indigo
colorTo: pink
sdk: docker
app_port: 7860
pinned: false
license: mit
short_description: AI-generated Instagram comments (Italian, fitness niche)

IG Comment Gen

Space che genera un singolo commento breve e naturale per un post Instagram, dato:

  • caption del post
  • media_type (photo / video / reel / carousel / igtv)
  • target_username (opzionale, per personalizzare)
  • hint (opzionale, contesto di tono/nicchia)
  • language (default: Italian)

Chiamato da instagram-bot-custom (GramAddict) come sostituto della vecchia integrazione Gemini in ai_comment.py.

Backend

Usa Groq API direttamente (api.groq.com/openai/v1, OpenAI-compat) con cascata modelli:

  1. llama-3.3-70b-versatile — primary, qualità top, ~300-500ms
  2. llama-3.1-8b-instant — fallback: velocissimo, per rate-limit del 70B
  3. gemma2-9b-it — fallback 2, alternativa se Llama è giù

Free tier Groq: 14,400 richieste/giorno su Llama 3.3 70B, largamente sufficiente per un bot IG a 60-90 commenti/giorno.

Se tutti falliscono, l'endpoint risponde { "comment": null } e il bot ricade sul suo comments_list.txt.

Secrets richiesti (HF Space Settings → Repository secrets)

Nome Obbligatorio Descrizione
GROQ_API_KEY Groq API key (free tier). Crea su https://console.groq.com/keys.
SPACE_API_KEY Se settato, l'endpoint /api/generate richiede header Authorization: Bearer <SPACE_API_KEY>. Senza, l'endpoint è aperto (comodo per test iniziale).

API

POST /api/generate

{
  "caption": "3 anni di allenamento continuo, ecco i risultati...",
  "media_type": "reel",
  "target_username": "il.pump.quotidiano",
  "hint": "coach fitness, tono cameratesco",
  "language": "Italian"
}

Response:

{
  "comment": "3 anni di costanza si vedono tutti in questo confronto",
  "model_used": "openai/gpt-oss-120b:fastest",
  "latency_ms": 612,
  "attempts": 1
}

Errori (400/401/503): { "comment": null, "error": "..." }.

Uso locale (test)

export HF_TOKEN=hf_xxx
pip install -r requirements.txt
python app.py
# UI Gradio su http://localhost:7860, API su http://localhost:7860/api/generate

Regole del prompt

14 regole assertive che replicano lo stile che serve al bot (no emoji, no #, no !, no first-person, no complimenti generici). Vedi app.py_build_prompt.