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.
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ă Cerere-Răspuns¶

Pipeline Deterministic¶
- Porthăul validează autentificarea, limitele și politica cererilor.
- Validarea contractului de cerere aplică schema și opțiunile acceptate.
- Motorul rezolvă sursa semnului, fereastra temporală și configurația ephemerisului.
- Swiss Ephemeris calculează pozițiile, aspectele și casele (când este eligibil).
- Stratul de agregare preia perioada, extrage evenimentele (aspecte, intrări, stații, lunării, eclipse), și clasifică factorii.
- Motorul de interpretare mapează specificațiile factorilor la conținut editorial folosind o ordine fixă, ponderi explicite și selecție stabilă a variantei hash.
- Motorul editorial generează narațiunile secțiunilor din pachetele de conținut V2 cu compoziția specifică perioadei (deschidere → schimbare → rezultat).
- 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 corpuluihousesuntnull - 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.
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ățiiarchetype_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 4elemental_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 blocdaily_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_languageseste disponibil doar în limba engleză:
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:
- Potrivire exactă (factor_type + factor_value + intensitate)
- Orice valoare pentru factor_type (factor_type + intensitate)
- Orice factor în secțiune (secțiune + intensitate)
- Ș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¶
- Î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. - 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. - Stratificați familii de rapoarte specializate – planete, aspecte, transite și endpoint-uri pentru case pentru suprafețe mai profunde ale produsului.
- Adăugați endpoint-uri natale – JSON complet al hărții natale + cercul SVG pentru vizualizare și fluxuri de lucru avansate în astrologie.
- Optimizați cu secțiuni – solicitați doar
sectionsde care are nevoie interfața dvs. (de exemplu,["general", "career"]) pentru a reduce dimensiunea payload-ului. - Utilizați
tenant_idpentru 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 |