feat(model-comparison): Pełny kontekst NordaGPT

Dodano:
- Audyty GBP (Google Business Profile) - oceny, recenzje
- Audyty SEO (PageSpeed) - wyniki dla stron WWW
- Baza wiedzy ZOPK - elektrownia jądrowa, offshore wind, infrastruktura
- Zasada prywatności - nie podawać ukrytych danych kontaktowych

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Maciej Pienczyn 2026-01-29 09:18:51 +01:00
parent 3aa302d399
commit 2c13509cd1

88
app.py
View File

@ -7788,6 +7788,84 @@ def admin_model_comparison_run():
social_lines.append(line)
social_context = "Social media firm:\n" + "\n".join(social_lines[:30]) if social_lines else ""
# === GBP AUDITS (Google Business Profile) ===
from sqlalchemy import func
# Get latest audit per company
latest_audit_subq = db.query(
GBPAudit.company_id,
func.max(GBPAudit.audit_date).label('max_date')
).group_by(GBPAudit.company_id).subquery()
latest_audits = db.query(GBPAudit).join(
latest_audit_subq,
(GBPAudit.company_id == latest_audit_subq.c.company_id) &
(GBPAudit.audit_date == latest_audit_subq.c.max_date)
).options(joinedload(GBPAudit.company)).all()
gbp_lines = []
for audit in latest_audits:
if audit.company:
line = f"- {audit.company.name}: Kompletność {audit.completeness_score or 0}%"
if audit.review_count:
line += f", {audit.review_count} recenzji"
if audit.average_rating:
line += f", ocena {float(audit.average_rating):.1f}/5"
if audit.google_maps_url:
line += f" Maps: {audit.google_maps_url}"
gbp_lines.append(line)
gbp_context = "Audyty Google Business Profile:\n" + "\n".join(gbp_lines) if gbp_lines else ""
# === SEO AUDITS (PageSpeed) ===
seo_audits = db.query(CompanyWebsiteAnalysis).filter(
CompanyWebsiteAnalysis.pagespeed_seo_score.isnot(None)
).options(joinedload(CompanyWebsiteAnalysis.company)).all()
seo_lines = []
for audit in seo_audits:
if audit.company:
line = f"- {audit.company.name}: SEO {audit.pagespeed_seo_score or 0}/100"
if audit.pagespeed_performance_score:
line += f", Wydajność {audit.pagespeed_performance_score}/100"
if audit.pagespeed_accessibility_score:
line += f", Dostępność {audit.pagespeed_accessibility_score}/100"
if audit.seo_overall_score:
line += f", Ogólnie {audit.seo_overall_score}/100"
seo_lines.append(line)
seo_context = "Audyty SEO stron WWW:\n" + "\n".join(seo_lines) if seo_lines else ""
# === ZOPK KNOWLEDGE BASE ===
zopk_knowledge = """Baza wiedzy ZOPK (Zielony Okręg Przemysłowy Kaszubia):
ELEKTROWNIA JĄDROWA:
- Lokalizacja: Lubiatowo-Kopalino (gmina Choczewo)
- Inwestor: Polskie Elektrownie Jądrowe (PEJ)
- Partner technologiczny: Westinghouse (reaktory AP1000)
- Moc: 2 reaktory po 1150 MW (łącznie 2300 MW)
- Harmonogram: Budowa 2028-2035, uruchomienie 2035-2037
- Zatrudnienie: 3000 miejsc pracy (budowa), 900 stałych (eksploatacja)
OFFSHORE WIND (Morskie Farmy Wiatrowe):
- Baltic Power (Orlen + Northland): 1.2 GW, 76 turbin, ~25 km od Łeby
- Baltica 2 (PGE + Ørsted): 1.5 GW, na wschód od Łeby
- Baltica 3 (PGE + Ørsted): 1 GW
- Łączna moc planowana: 5.9 GW do 2030, 11 GW do 2040
- Port serwisowy: Ustka, Łeba (rozbudowa)
INFRASTRUKTURA TRANSPORTOWA:
- Via Pomerania: Droga S6 Szczecin-Gdańsk (w budowie)
- Droga Czerwona: S7 Gdańsk-Elbląg z Obwodnicą Metropolitalną
- PKM (Pomorska Kolej Metropolitalna): Rozwój sieci
INWESTYCJE PRZEMYSŁOWE:
- Kongsberg Maritime: Fabryka w Rumi (automatyzacja morska)
- Bałtycki Port Nowych Technologii: Gdynia
- Pomorska Specjalna Strefa Ekonomiczna: Ulgi podatkowe
IZBA NORDA BIZNES:
- Siedziba: Wejherowo
- Członkowie: 150 firm
- Cel: Networking, współpraca biznesowa, rozwój regionu"""
finally:
db.close()
@ -7800,6 +7878,9 @@ TWOJE MOŻLIWOŚCI:
- Śledzisz aktualności, wydarzenia i ogłoszenia B2B
- Możesz polecić firmy do współpracy na podstawie potrzeb użytkownika
- Śledzisz dyskusje na forum członków
- Znasz wyniki audytów Google Business Profile (oceny, recenzje)
- Znasz wyniki audytów SEO stron WWW firm
- Masz wiedzę o ZOPK (Zielony Okręg Przemysłowy Kaszubia) - elektrownia jądrowa, offshore wind, infrastruktura
=== BAZA FIRM ({total_count} aktywnych) ===
{companies_context}
@ -7820,11 +7901,18 @@ TWOJE MOŻLIWOŚCI:
{social_context}
{gbp_context}
{seo_context}
{zopk_knowledge}
=== ZASADY ODPOWIEDZI ===
- Odpowiadaj konkretnie, podając nazwy firm i dane kontaktowe
- Linkuj do profili firm na portalu: https://nordabiznes.pl/company/[slug]
- Jeśli pytanie dotyczy konkretnej firmy - podaj szczegóły z bazy
- Przy pytaniach o osoby - podaj stanowisko i firmę
- NIE podawaj danych kontaktowych osób, które je ukryły w ustawieniach prywatności
- Bądź pomocny i profesjonalny"""
# Generate new responses