perf: scoring de calidad en lote + fuentes YouTube/Reddit opcionales
Build & Deploy ResearchOwl / build-and-push (push) Successful in 6s
Build & Deploy ResearchOwl / build-and-push (push) Successful in 6s
#1 batch scoring (processor): - _score_quality_batch puntúa hasta 25 chunks por llamada a Claude en vez de una por chunk (una fuente de 19 chunks pasaba de 19 llamadas a 1) - parser robusto (último número por línea, padding neutro si faltan) - fallback por-chunk con Ollama si el batch falla #2 fuentes opcionales (config + scraper): - ENABLE_YOUTUBE / ENABLE_REDDIT, default False: la IP del homelab está bloqueada por Reddit (403) y YouTube (transcripts vacíos), eran peso muerto - se saltan también las URLs de yt/reddit descubiertas dentro de webs, sin gastar petición de red Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
972bd2f883
commit
2ffad8aad3
@@ -162,13 +162,16 @@ class ExhaustiveScraper:
|
||||
|
||||
async def seed(self):
|
||||
"""Initial broad search across multiple sources"""
|
||||
logger.info("Seeding research", topic=self.topic)
|
||||
logger.info("Seeding research", topic=self.topic,
|
||||
youtube=settings.enable_youtube, reddit=settings.enable_reddit)
|
||||
tasks = [
|
||||
self._seed_search(),
|
||||
self._seed_wikipedia(),
|
||||
self._seed_reddit(),
|
||||
self._seed_youtube(),
|
||||
]
|
||||
if settings.enable_reddit:
|
||||
tasks.append(self._seed_reddit())
|
||||
if settings.enable_youtube:
|
||||
tasks.append(self._seed_youtube())
|
||||
await asyncio.gather(*tasks, return_exceptions=True)
|
||||
|
||||
async def _generate_ddg_queries(self) -> list[str]:
|
||||
@@ -420,6 +423,14 @@ class ExhaustiveScraper:
|
||||
url = source["url"]
|
||||
source_id = source["id"]
|
||||
|
||||
# Saltar fuentes desactivadas (también las descubiertas dentro de
|
||||
# páginas web, no solo las del seed) sin gastar una petición de red.
|
||||
if ((source_type == "youtube" and not settings.enable_youtube) or
|
||||
(source_type == "reddit" and not settings.enable_reddit)):
|
||||
await self.db.update_source(source_id, status="skipped",
|
||||
error=f"{source_type} disabled")
|
||||
return 0
|
||||
|
||||
try:
|
||||
try:
|
||||
cached = await self.db.get_cached_content(url)
|
||||
|
||||
Reference in New Issue
Block a user