Sari la conținut

Introducerea Motorului Nostru de Horoscopuri

Motorul nostru de horoscopuri este un runtime astrologic determinist, conceput pentru produse reale, nu pentru generarea de text amuzant. Combină calculul Swiss Ephemeris, activarea strictă a factorilor și redare editorială, astfel încât aplicația dvs. să primească rezultate stabile, explicabile și de înaltă calitate.

Nucleu al Motorului Determinism Moduri Limbaj

Pe Ce Lucrați

În timpul execuției, motorul calculează starea reală a cerului și asamblează sens din factorii astrologici activati. Pentru payload-uri identice, rezultatele rămân stabile, byte cu byte. Când sunt furnizate intrări personalizate, vectorii la nivel de casă și context de naștere se activează pentru a produce diferențe specifice utilizatorului.

Acest lucru oferă echipei dvs.:

  • Rezultate predictibile pentru testare, QA și caching – cererile identice returnează întotdeauna același JSON.
  • Compoziție a raportului explicabilă prin urmărirea factor_details în fiecare secțiune.
  • Un flux curat de la rapoarte simple la rapoarte personalizate premium.
  • Adâncime conștientă de perioadă – stive zilnice (5-6 factori), săptămânale (10), lunare (11) și anuale (13) cu ponderi explicite.

Arhitectura în general

Arhitectură completă a motorului

Arhitectură completă a motorului de horoscop

Arhitectură Cerere-Răspuns

Arhitectură Cerere-Răspuns pentru horoscop

Pipeline Deterministic

  1. Porthăul validează autentificarea, limitele și politica cererilor.
  2. Validarea contractului de cerere aplică schema și opțiunile acceptate.
  3. Motorul rezolvă sursa semnului, fereastra temporală și configurația ephemerisului.
  4. Swiss Ephemeris calculează pozițiile, aspectele și casele (când este eligibil).
  5. Stratul de agregare preia perioada, extrage evenimentele (aspecte, intrări, stații, lunării, eclipse), și clasifică factorii.
  6. Motorul de interpretare mapează specificațiile factorilor la conținut editorial folosind o ordine fixă, ponderi explicite și selecție stabilă a variantei hash.
  7. Motorul editorial generează narațiunile secțiunilor din pachetele de conținut V2 cu compoziția specifică perioadei (deschidere → schimbare → rezultat).
  8. Porthăul returnează payload-ul motorului plus învelișuri enterprise (_enterprise, _api_metadata_) pentru metadate de integrare.

Garantii de Determinism

Determinismul nu este un accident — acesta este aplicat la fiecare nivel:

Garantie Mecanism de Aplicare
Același payload → aceiași factori Ordinea explicită a factorilor pe perioadă + ponderi fixe
Aceiași factori → aceleași variante de conținut Selecție stabilă de index hash SHA-256
Aceleași variante → aceeași formulare Ciclul deterministic al frazelor din pachetele de conținut V2
Aceeași formulare → JSON identic Consistența revizuirii editoriale + eliminarea liniilor de respirație între secțiuni adiacente

Acest lucru înseamnă că puteți calcula hash-ul a două cereri independente cu același corp și obține aceeași ieșire, permițând stocarea eficientă, testarea regresivă QA și depanarea reproductibilă.

Rapoarte Publice vs Personalizate

Ambele sunt moduri valide pentru producție. Diferența nu este calitatea; este profunzimea activării.

Modul Public (Bazat pe Semn Zodiacal)

Furnizați doar un semn zodiacal și o dată. Motorul produce o lectură stabilă și comună pentru toți utilizatorii cu acel semn în acea perioadă.

  • Ideal pentru feed-uri de public larg și stocare eficientă din punct de vedere al costurilor (12 semne × 4 perioade × 365 zile = ~17.520 de cache-uri unice zilnice)
  • Fără calcule ale caselor — atribuțiile rising_sign, house_cusps și corpului house sunt null
  • Potrivit pentru implementare rapidă, horoscopuri de tip revistă și niveluri freemium

Mod Personalizat (Bazat pe data nașterii)

Furnizați contextul de naștere (birth_time, coordonate, fus orar) pentru a activa vectori mai profunzi. Două utilizatori cu același semn zodiacal pot primi editorialuri diferite deoarece poziționarea casei și semnul ascendent modifică scorurile factorilor.

  • Câmpuri obligatorii: birth_time (HH:MM) + birth_latitude + birth_longitude
  • Deblochează: semn ascendent, cusurile caselor, atribuirea planetelor către case și factorii de focalizare a caselor (daily_house_focus, weekly_house_focus, monthly_house_focus, yearly_house_focus)
  • Cel mai bun pentru abonamente premium și experiențe cu retenție ridicată
  • Suportă module de aplicație mai bogate și canale de personalizare

Model Editorial Bazat pe Factori

Motorul este alimentat de stive de factori explicite — drivere de interpretare deterministe calculate din instantanee celeste și agregarea perioadelor. Fiecare perioadă are un ordin definit al factorilor și ponderi explicite.

Stive de Factori pe Perioade

Perioadă Număr de Factori Factori Cheie
Zilnică 5-6 sun_in_sign, moon_in_sign, transits_archetypes, aspects, daily_house_focus
Săptămânală 10 weekly_moon_phase, planetary_focus, retrograde_archetypes, weekly_theme_archetypes, weekly_house_focus
Lunară 11 monthly_lunation_archetypes, eclipse_archetypes, outer_planet_focus, monthly_theme_archetypes, monthly_house_focus
Anuală 13 jupiter_in_sign, saturn_in_sign, nodal_axis, yearly_house_focus, yearly_theme_archetypes

Structuri suplimentare de rapoarte: - Planetă: planet_core_archetypes, planet_condition_archetypes, planet_house_focus, planet_sign_archetypes - Zi de Naștere: solar_return_tone, birthday_year_reset, natal_sun_house_year_theme - Aspect: structuri bazate pe aspect cu aspect dominant calculat sau suprascris - Transit: structuri bazate pe transit cu aspect dominant calculat sau suprascris

Fiecare factor are o greutate explicită (de exemplu, moon_in_sign: 1.15 zilnic, yearly_theme_archetypes: 1.30 anual) care influențează scorarea secțiunii și derivarea intensității.

Acest model evită derapajele aleatorii în text și menține tonul editorial legat de factorii calculați, cu o trasabilitate completă în factor_details.

Statistici Personale Zilnice pentru Aplicație (Horoscop Principal)

Pentru modul personalizat zilnic, motorul returnează blocuri bogate de statistici pregătite pentru aplicație la data.daily_personalized_stats. Acestea sunt ideale pentru carduri și widget-uri de sumar.Daily Stats Activation

Activare: period=daily și cererea personalizată de naștere include atât birth_time, cât și coordinates.

Blocuri cheie:

  • overall_pulse — scor compozit zilnic al vitalității
  • archetype_scores — descompunere în opt dimensiuni (wisdom, creativity, confidence, intuition, allure, romance, career, emotions)
  • harmony_discord — cei mai armoniosi și cei mai disonant factori de semne în top 4
  • elemental_balance — distribuția elementelor: foc/pământ/aer/apă
  • momentum_channels — semnale de momentum planetar

Controlul densității payload-ului:

  • daily_stats_detail: "full" pentru date complete ale graficului cu niveluri de încredere per bloc
  • daily_stats_detail: "compact" pentru payload-uri mai ușoare ale clientului (ideal pentru widget-uri mobile)

Puncte cheie de proiectare a cererii

Motorul suportă controale clare și tipizate pentru configurarea și comportamentul de afișare astrologice. Opțiuni comune includ:

Câmp Tip Scop
period string daily, weekly, monthly, yearly
sections array Domenii de viață de inclus (de exemplu, general, career, love_singles)
sign / birth string / object Sursa semnului (publică vs. personalizată)
target_date string Ancoră explicită pentru data (YYYY-MM-DD) pentru reproductibilitate
zodiac_system string tropical sau sidereal
ayanamsa string Sistem de offset sideral (lahiri, fagan_bradley, etc.)
house_system string placidus, whole_sign, equal, koch
node_type string true (real) sau mean (mediu) nod lunar
tenant_id string Cache namespace isolation for multi-tenant or A/B scenarios

Garantiile de Formă a Răspunsului în Gateway

Rapoartele de răspuns ale gateway-ului trec prin datele motorului și adaugă wrapper-e:

  • _enterprise — informații despre nivelul planului, cotă și limită de utilizare
  • _api_metadata_ — informații despre endpoint, limbaje suportate și contextul cererii Pentru endpoint-urile de raportare bazate pe motor, _api_metadata_.supported_languages este disponibil doar în limba engleză:
    {
      "_api_metadata_": {
        "supported_languages": ["en"]
      }
    }
    

Politica de Limbă și Traducere

Funcționare în timp real: punctele de acces ale raportului, alimentate de motor, suportă în prezent doar lang=en. Acest lucru este intenționat pentru a menține nuanțele editoriale deterministe în producție, în timp ce fiabilitatea traducerii este gestionată separat. Stratul de asistență de traducere al gateway-ului (lang=en|es|de|fr|pt) oferă rezultate traduse la limita API pentru toate punctele de acces ale raportului care nu sunt legate de horoscop.

Flux de conținut: Pachete de conținut V2

Conținutul editorial este obținut din pachetele de conținut structurate V2 din depozitul de conținut al motorului.

În timpul execuției, depozitul de conținut selectează variantele determinist, folosind o lanț de revenire stabilă cu hash:

  1. Potrivire exactă (factor_type + factor_value + intensitate)
  2. Orice valoare pentru factor_type (factor_type + intensitate)
  3. Orice factor în secțiune (secțiune + intensitate)
  4. Șablon de revenire la secțiune

Această structură asigură varietatea editorială pe întregul spectru al intensităților, menținând în același timp reproductibilitatea pentru aceeași sursă.

Model de încredere: Nucleu închis + Open Source Lite

Motorul nostru principal de producție este open-source și optimizat pentru fiabilitate, profunzime și operațiuni gestionate la nivel de întreprindere. Include:

  • Rapoarte personalizate complete, care țin cont de toate aspectele (toate perioadele)
  • Rapoarte ciclice de naștere cu factori de return solar
  • Suite de rapoarte pentru planete, aspecte, tranzite, case și relația dintre planete și case
  • Hartă natală cu configurare SVG pentru afișarea cerului
  • Caching Redis, metrici, verificări de sănătate și scalare orizontală

Pentru a sprijini astrologii independente și evaluarea dezvoltatorilor, oferim și motorul open-source lite:

Utilizați OpAstro pentru a evalua calitatea motorului, pentru a explora logica de calcul a factorilor și pentru a verifica integrarea cu Swiss Ephemeris. Scalați la rutele enterprise NumerologyAPI pentru straturi de rapoarte mai bogate, acoperire mai largă a endpoint-urilor și operațiuni de producție gestionate.

Calea de Integrare

  1. Începeți cu rapoarte la nivel de semn, zilnice/săptămânale/lunare/anuale, folosind doar sign. Nu sunt necesare date despre naștere. Optimizarea stocării în cache.
  2. Adăugați câmpuri personalizate de naștere – furnizați birth_time + coordonate pentru a obține articole personalizate, ținând cont de casele astrologice.
  3. Stratificați familii de rapoarte specializate – planete, aspecte, transite și endpoint-uri pentru case pentru suprafețe mai profunde ale produsului.
  4. Adăugați endpoint-uri natale – JSON complet al hărții natale + cercul SVG pentru vizualizare și fluxuri de lucru avansate în astrologie.
  5. Optimizați cu secțiuni – solicitați doar sections de care are nevoie interfața dvs. (de exemplu, ["general", "career"]) pentru a reduce dimensiunea payload-ului.
  6. Utilizați tenant_id pentru izolarea cache-ului – separați nivelurile gratuite/premium sau variantele A/B fără poluare a cache-ului.

Strategia de Caching

Mod Eficiența Cache-ului Strategie
Public (doar la nivel de semn) Ridicat – ~17.520 de cache-uri unice zilnice Preîncălzirea pentru ziua următoare; TTL 1-4 ore
Personalizat (ținând cont de naștere) Mai scăzut – unic per utilizator Chei de cache per utilizator; TTL 24 de ore; Recomandat Redis

Următoarele lecturi