Blog
Why a language model cannot calculate a birth chart
· 96Astro API team · AI
Models write well and calculate badly. Why an astrology feature needs real positions first, and how to feed them to the model.
Ask a chat model where Saturn was on a given day and you will get a confident answer. Sometimes it is right. Often it is off by a sign, and nothing in the answer tells you which.
The reason
A language model predicts likely text. It does not run an ephemeris. A position depends on the exact moment, the place, the time zone rules of that year, and a chosen ayanamsha, and small errors move a planet across a boundary. A nakshatra is only 13 degrees and 20 minutes wide, and the ascendant moves about a degree every four minutes.
What goes wrong
- Plausible nonsense. The model gives a chart with no error message, so nobody notices.
- No repeatability. Ask twice and you can get two charts.
- Time zones. Old offsets and summer time are details that a model rarely gets right.
What works
Calculate first, and let the model write. Fetch the chart from an API, pass the facts to the model, and tell it to use only those. The model then does what it is good at, which is explaining, and it can no longer invent a planet's position.
Our guide to grounding a model shows the pattern, and AI readings do it for you.
What to send the model
Send less than you think. A model given the whole chart as raw JSON tends to pick out odd details and miss the main ones. Choose the facts the question needs: for a career question, the tenth house and its lord, the planets in it, and the current dasha. For a relationship question, the seventh house, Venus and the Moon.
Write the facts as short labelled lines, such as "Moon: Taurus, Rohini, 4th house", and give the date the chart was calculated for. Tell the model to say so when a fact it would need is not there, instead of filling the gap.
Keeping it honest afterwards
Check the answer against the facts you sent. A simple test catches most problems: every planet, sign and house the reply names should appear in your list. If it names something that is not there, regenerate or drop that sentence. Log the facts with the reply, so that when a user questions a reading you can see what the model was told.
How to check any tool
Take a birth you know, and compare the Moon's nakshatra and the ascendant against software you trust. Then ask again in a new chat. If the answers change, it is not calculating.



