Wprowadzenie do naszego silnika horoskopowego¶
Nasz silnik horoskopowy to deterministyczny system astrologiczny przeznaczony dla rzeczywistych produktów, a nie generowania tekstów w celach rozrywkowych. Łączy on obliczenia oparte na Swiss Ephemeris, rygorystyczne aktywowanie czynników oraz renderowanie redakcyjne, dzięki czemu Twoja aplikacja otrzymuje stabilny, zrozumiały i wysokiej jakości raport.
Na czym pracujecie¶
Podczas działania, silnik oblicza rzeczywiste stan nieba i tworzy znaczenie na podstawie aktywowanych czynników astrologicznych. Dla identycznych danych wejściowych, wyniki pozostają stabilne bit po bicie. Gdy podawane są dane personalizacyjne, aktywują się wektory na poziomie domu i kontekstu urodzenia, co pozwala na uzyskanie różnic specyficznych dla użytkownika.
To daje Twojemu zespołowi:- Przewidywalne wyniki dla testowania, kontroli jakości i buforowania – identyczne zapytania zawsze zwracają ten sam JSON. - Wyjaśniona składnia raportów dzięki śladom factor_details w każdej sekcji. - Czysta ścieżka od prostych raportów do spersonalizowanych, premium raportów. - Zorientowana na okres głębokość – dziennie (5-6 czynników), tygodniowo (10), miesięcznie (11) i rocznie (13) zestawy czynników z wyraźnymi wagami.
Architektura w Skrócie¶
Pełna architektura silnika¶

Architektura żądanie-odpowiedź¶

Deterministyczna Pipeline1. Brama weryfikuje uwierzytelnianie, limity i politykę żądania.¶
- Walidacja kontraktu żądania wymusza zaakceptowany schemat i opcje.
- Silnik określa źródło sygnału, okno czasu oraz konfigurację ephemeris.
- Swiss Ephemeris oblicza pozycje, aspekty i domy (w miarę możliwości).
- Warstwa agregacji pobiera dane z okresu, wyodrębnia zdarzenia (aspekty, wejścia, stacje, lunacje, zaćmienia) oraz klasyfikuje je.
- Silnik interpretacyjny mapuje specyfikację czynników na treść redakcyjną, wykorzystując ustaloną kolejność, wyraźne wagi i stabilny wybór wariantu haszowania.
- Silnik redakcyjny generuje narracje sekcji z pakietów treści V2, uwzględniając specyficzne dla okresu kompozycje (otwarcie → przesunięcie → rezultat).
- Brama zwraca payload silnika oraz opakowania firmowe (
_enterprise,_api_metadata_) do metadanych integracji.
Gwarancje determinizmu¶
Determinizm nie jest przypadkiem – jest on wymuszany na każdym poziomie:| Gwarancja | Mechanizm egzekwowania | |---|---| | Ten sam payload → te same czynniki | Wyraźne ustalanie kolejności czynników w okresie + stałe wagi | | Te same czynniki → te same warianty treści | Selekcja stabilnego indeksu hasha SHA-256 | | Te same warianty → ta sama fraza | Deterministyczne cyklowanie fraz z pakietów V2 | | Ta sama fraza → identyczny JSON | Spójność edytorskie rewizje + deduplikacja linii oddzielających sekcje |
Oznacza to, że można hasować dwie niezależne żądania z tym samym ciałem i uzyskać tę samą odpowiedź, co umożliwia niezawodne buforowanie, testy regresji QA oraz powtarzalną debugowanie.
Raporty publiczne vs. spersonalizowane¶
Oba tryby są poprawne w środowisku produkcyjnym. Różnica nie dotyczy jakości; dotyczy głębi aktywacji.
Tryb publiczny (oparty na znaku zodiaku)¶
Podaj tylko znak zodiaku i datę. Silnik generuje stabilną, współdzieloną interpretację dla wszystkich użytkowników z tym samym znakiem w danym okresie.
- Świetne rozwiązanie do szerokiego kanału odbiorców oraz efektywnego buforowania (12 znaków × 4 okresy × 365 dni = ~17 520 unikalnych dziennych buforów)
- Brak obliczeń domów — przypisanie
rising_sign,house_cuspsi ciałahouseodbywa się za pomocąnull - Doskonale sprawdza się w szybkim wdrażaniu, horoskopach w stylu magazynu oraz w wersjach freemium.### Tryb Personalizowany (Uwzględniający Datę Urodzenia)
Podaj kontekst urodzinowy (birth_time, współrzędne, strefa czasowa), aby aktywować bardziej szczegółowe wektory. Dwóch użytkowników z tym samym znakiem astrologicznym może otrzymywać różne artykuły, ponieważ położenie domu i znak ascendantu wpływają na ocenę czynników.
- Wymagane pola:
birth_time(HH:MM) +birth_latitude+birth_longitude - Umożliwia: znak ascendanta, 12 punktów domowych, przypisanie planet do domów oraz czynniki skupiające się na domach (
daily_house_focus,weekly_house_focus,monthly_house_focus,yearly_house_focus) - Najlepsze dla subskrypcji premium i wysokiej retencji użytkowników
- Obsługuje bogatsze moduły aplikacji i kanały personalizacji
Model Artykułów Oparty na Czynnikach¶
Silnik działa w oparciu o zestawy czynników – deterministyczne interpretacyjne mechanizmy obliczane z danych astronomicznych i agregacji okresów. Każdy okres ma zdefiniowaną kolejność czynników oraz określone wagi.
Zestawy Czynników dla Okresu| Okres | Liczba Czynników | Kluczowe Czynniki |¶
|---|---|---| | Dzienny | 5-6 | sun_in_sign, moon_in_sign, transits_archetypes, aspects, daily_house_focus | | Tygodniowy | 10 | weekly_moon_phase, planetary_focus, retrograde_archetypes, weekly_theme_archetypes, weekly_house_focus | | Miesięczny | 11 | monthly_lunation_archetypes, eclipse_archetypes, outer_planet_focus, monthly_theme_archetypes, monthly_house_focus | | Roczny | 13 | jupiter_in_sign, saturn_in_sign, nodal_axis, yearly_house_focus, yearly_theme_archetypes |
Dodatkowe rodziny raportów: - Planeta: planet_core_archetypes, planet_condition_archetypes, planet_house_focus, planet_sign_archetypes - Data urodzenia: solar_return_tone, birthday_year_reset, natal_sun_house_year_theme - Aspekt: Stacks oparte na aspekcie z obliczanymi lub nadpisywanymi dominującymi aspektami - Transit: Stacks oparte na transitach z obliczonymi lub nadpisywanymi dominującymi archetypami transitów
Każdy czynnik posiada przypisaną wagę (np. moon_in_sign: 1.15 (dziennie), yearly_theme_archetypes: 1.30 (rocznie)), która wpływa na ocenę sekcji i wyznaczanie intensywności.
Ten model zapobiega przypadkowym zmianom w tekście i utrzymuje ton redakcyjny związany z obliczanymi czynnikami, przy pełnej śledzalności w factor_details.
Codzienne statystyki aplikacji (Główny horoskop)¶
Dla trybu codziennych statystyk, silnik zwraca bogate bloki statystyczne gotowe do użycia w aplikacji w punkcie data.daily_personalized_stats. Są one idealne dla kart i widgetów podsumowujących.
Aktywacja: period=daily oraz spersonalizowany żądanie urodzeniowe obejmuje zarówno birth_time, jak i coordinates.
Kluczowe bloki:
overall_pulse— skomponowana dzienna ocena energiiarchetype_scores— osiemwymiarowa analiza (wisdom,creativity,confidence,intuition,allure,romance,career,emotions)harmony_discord— cztery najbardziej harmonijne i cztery najbardziej dysharmonijne znakielemental_balance— podział na elementy: ogień, ziemia, powietrze, wodamomentum_channels— sygnały związane z ruchem planet
Kontrola gęstości danych:
daily_stats_detail: "full"dla pełnych danych wykresu z poziomami pewności dla każdego blokudaily_stats_detail: "compact"dla lżejszych payloadów klienta (idealne dla widgetów mobilnych)
Kluczowe aspekty projektu żądania¶
Silnik obsługuje jasne, typowane kontrolki do konfiguracji i zachowania astrologicznego. Typowe opcje obejmują:``markdown | Pole | Typ | Cel | |---|---|---| |period| string |daily,weekly,monthly,yearly| |sections| array | Obszary życia do uwzględnienia (np.general,career,love_singles) | |sign/birth| string / obiekt | Źródło znaku (publiczne vs. spersonalizowane) | |target_date| string | Wyraźny znacznik daty (YYYY-MM-DD) dla zapewnienia powtarzalności | |zodiac_system| string |tropicallubsidereal| |ayanamsa| string | System przesunięcia sidereal (lahiri,fagan_bradleyitd.) | |house_system| string |placidus,whole_sign,equal,koch| |node_type| string | (rzeczywisty) węzeł księżycatruelub średni węzeł księżycamean| |tenant_id` | string | Izolacja przestrzeni nazw pamięci podręcznej dla scenariuszy wieloosobowych lub A/B |
Gwarancje kształtu odpowiedzi w bramie (Gateway)¶
Odpowiedzi raportowe z bramy przechodzą przez dane silnika i dodają obwolutry:
_enterprise— informacje o planie, limitach i ograniczeniach_api_metadata_— informacje o endpointach, obsługiwanych językach i kontekście żądania
Dla endpointów raportowych zasilanych przez silnik, _api_metadata_.supported_languages jest tylko w języku angielskim:
Polityka językowa i tłumaczeniowa¶
``Aktualne punkty końcowe raportów oparte na silniku obsługują tylkolang=en. Jest to celowe działanie, mające na celu zachowanie deterministycznych niuansów redakcyjnych w środowisku produkcyjnym, podczas gdy niezawodność tłumaczeń jest zarządzana oddzielnie. Warstwa pomocnicza tłumaczenia bramy (lang=en|es|de|fr|pt`) dostarcza przetłumaczone wyniki na granicy API dla wszystkich punktów końcowych raportów, które nie dotyczą horoskopu.
Potok treści: V2 zestawy treści¶
Treść redakcyjna pochodzi ze strukturalnych zestawów treści V2 w repozytorium treści silnika.
Podczas działania, repozytorium treści deterministycznie wybiera warianty za pomocą stabilnego wyboru hash'a z łańcuchem awaryjnym czterostopniowym:
- Dokładne dopasowanie (typ_czynnika + wartość_czynnika + intensywność)
- Wartość dla typu_czynnika (typ_czynnika + intensywność)
- Wartość dowolnego czynnika w sekcji (sekcja + intensywność)
- Szablon awaryjny dla sekcji
Ta struktura zapewnia różnorodność redakcyjną w zależności od intensywności, przy jednoczesnym zachowaniu możliwości reprodukcji dla tej samej wartości początkowej.
Model zaufania: Zamknięty rdzeń + Lekki Open Source¶
Naszy główny silnik produkcyjny jest oprogramowaniem zamkniętym i zoptymalizowany pod kątem niezawodności, głębokości i zarządzanych operacji dla przedsiębiorstw. Zawiera:- Pełne raporty uwzględniające wszystkie aspekty (wszystkie okresy) - Raporty cyklu urodzinowego z uwzględnieniem czynników solar return - Komplety raportów: planeta, aspekt, przejście, dom i relacja planety z domem - Narodowy wykres urodzeniowy z konfigurowalnym renderowaniem koła SVG - Cache Redis, metryki, sprawdzanie stanu oraz skalowanie poziome
Aby wesprzeć niezależnych astrologów i przeprowadzić ocenę, oferujemy również lekki silnik open-source:
Użyj OpAstro, aby ocenić jakość silnika, zbadać logikę obliczania czynników i zweryfikować integrację z Swiss Ephemeris. Skaluj do tras przedsiębiorstwa NumerologyAPI, aby uzyskać bogatsze warstwy raportów, szerszy zakres endpointów oraz zarządzane operacje produkcyjne.
Ścieżka Integracji1. Zacznij od raportów na poziomie publicznym – codzienne/tygodniowe/miesięczne/roczne, używając tylko sign. Dane urodzinowe nie są wymagane. Efektywne buforowanie.¶
- Dodaj spersonalizowane pola urodzeniowe – podaj
birth_time+ współrzędne, aby uzyskać zindywidualizowane artykuły uwzględniające aspekty domowe. - Dodaj rodziny raportów o specjalnym przeznaczeniu – planetarne, aspekty, przejścia i punkty domu dla głębszych możliwości produktu.
- Dodaj punkty domu – pełny JSON wykresu urodzeniowego + koło SVG do wizualizacji i zaawansowanych przepływów pracy astrologicznych.
- Optymalizuj z wykorzystaniem sekcji – żądaj tylko
sections, której potrzebuje Twój interfejs użytkownika (np.["general", "career"]), aby zmniejszyć rozmiar przesyłanych danych. - Użyj
tenant_iddo izolacji buforowania – oddzielone poziomy darmowe/premium lub warianty A/B testów bez zanieczyszczenia bufora.
Strategia Buforowania¶
| Tryb | Efektywność buforowania | Strategia |
|---|---|---|
| Publiczny (tylko znaki) | Wysoka – ~17 520 unikalnych buforów dziennie | Rozgrzej następny dzień; TTL 1-4 godziny |
| Spersonalizowany (uwzględniający urodziny) | Niższa – dla każdego użytkownika | Klucze bufora dla każdego użytkownika; TTL 24 godziny; zalecany Redis |