실제 차트 기반 AI 채팅
일반 LLM은 토성에 관한 질문에 사인에 대한 기억으로 답합니다. POST /v1/ai/chat은 방금 계산한 차트로 답합니다: 위치, 하우스, 오브가 포함된 애스펙트, 그리고 앞으로 반년간의 트랜짓 구간. 차이는 첫 답변부터 보입니다. “염소자리의 토성은 규율을 뜻합니다”가 아니라 “염소자리 25.2°의 역행 토성, 5하우스, 달과 오브 1.7°의 합”입니다.
키 없이 사용해 보기
섹션 제목: “키 없이 사용해 보기”데모는 고정된 차트 하나로 작동하며, 주소당 하루 5개 질문까지, 유료 엔드포인트와 같은 시스템 프롬프트를 씁니다. 키는 필요 없습니다.
모델이 보는 것
섹션 제목: “모델이 보는 것”데모는 context 필드를 반환합니다. 이것이 프롬프트에 들어간 블록 전체입니다. 다음은 2026년 9월 2일 기준 데모 차트의 블록입니다(트랜짓은 요청마다 다시 계산되므로 내일은 구간 목록이 달라집니다):
## Natal Chart- Sun: Taurus 24.4°, house 9- Moon: Capricorn 26.9°, house 5- Saturn: Capricorn 25.2° (R), house 5- Ascendant: Virgo 20.0°- Midheaven: Gemini 17.1°
Aspects (computed, use these instead of deriving your own):- Sun Trine Saturn, orb 0.9°, applying- Moon Conjunction Saturn, orb 1.7°- Venus Square Neptune, orb 1.6°
## Transits, computed. Today is 2026-09-02; sampled monthly to 2027-03-01(These are the only windows that exist. Report a month, not a day.)- transiting Saturn Conjunction natal Venus: in orb on 2026-09-02, 2026-10-01, 2026-11-01, 2026-12-01, 2027-01-01, 2027-02-01, 2027-03-01 (closest 2027-03-01, orb 0.3°)- transiting Jupiter Square natal Sun: in orb on 2026-10-01, 2026-11-01, 2026-12-01, 2027-01-01, 2027-02-01, 2027-03-01 (closest 2026-11-01, orb 0.0°)블록은 축약되었습니다. 전체 버전에는 행성과 앵글 12개, 최대 20개의 메이저 출생 애스펙트, 최대 12개의 트랜짓 구간이 있습니다. 유료 엔드포인트에서도 여러분이 보낸 차트로 같은 블록을 구성합니다.
날짜를 말하는 것과 말하지 않는 것
섹션 제목: “날짜를 말하는 것과 말하지 않는 것”저희 시스템 프롬프트는 위 블록에 있는 트랜짓에 대해 월을 말하는 것은 허용하고, 사건에 날짜를 붙이는 것은 금지합니다. “언제 결혼할까요”라는 질문에 엔드포인트는 이렇게 답합니다(2026년 9월 2일 실제 응답의 일부):
트랜짓 토성이 당신의 출생 금성과 합을 이룹니다. 이 트랜짓은 몇 달 동안 활성화됩니다. 2026년 9월, 10월, 11월, 12월, 그리고 2027년 1월, 2월, 3월이며, 2027년 3월에 가장 좁은 오브에 도달합니다.
여기의 날짜는 지어낸 것이 아닙니다. 컨텍스트 블록의 transiting Saturn Conjunction natal Venus 줄입니다. 결혼 날짜는 응답에 없으며 앞으로도 없을 것입니다.
페르소나
섹션 제목: “페르소나”persona는 데이터가 아니라 목소리를 바꿉니다. 요청 본문의 문자열이 시스템 프롬프트에 들어가기 때문에 값은 닫힌 목록입니다.
persona | 목소리 |
|---|---|
astrologer | 기본값, 파라미터가 생기기 전 엔드포인트가 답하던 방식 |
plain | 페르소나, 인사, 서명 없음 |
coach | 지지, 그리고 이것으로 무엇을 할지 |
teacher | 기법의 이름을 대고 용어를 설명 |
질문 “내 토성을 한 단락으로 설명해 줘”, persona: "coach":
당신의 토성은 자신의 본거지인 염소자리에 있으며, 게다가 역행 중이고 5하우스에 자리합니다. 이는 특히 자기표현, 창의성, 연애, 자녀와 관련된 영역에서 구조, 규율, 숙련을 향한 깊이 뿌리내린 욕구를 가리킵니다.
persona: "teacher":
당신의 출생 차트에서 토성은 염소자리 25.2° (R), 5하우스에 있습니다. 토성은 규율, 책임, 구조, 제한의 행성이며, 우리가 숙련을 추구하고 삶의 교훈과 마주하는 영역을 가리킵니다.
알 수 없는 페르소나는 조용히 기본값으로 처리되지 않고, 허용되는 값 목록과 함께 400 INVALID_INPUT이 됩니다.
요청과 응답
섹션 제목: “요청과 응답”curl -X POST https://api.astroway.info/v1/ai/chat \ -H "X-Api-Key: aw_live_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "message": "Що означає моє положення Сатурна?", "chart": { "date": "1990-05-15", "time": "14:30:00", "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52 }, "persona": "plain", "language": "uk" }'const r = await fetch('https://api.astroway.info/v1/ai/chat', { method: 'POST', headers: { 'X-Api-Key': process.env.ASTROWAY_API_KEY!, 'Content-Type': 'application/json', }, body: JSON.stringify({ message: 'Що означає моє положення Сатурна?', chart: { date: '1990-05-15', time: '14:30:00', timezoneOffset: 3, latitude: 50.45, longitude: 30.52 }, persona: 'plain', language: 'uk', }),});const { data } = await r.json();console.log(data.reply);import os, requests
r = requests.post( 'https://api.astroway.info/v1/ai/chat', headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'}, json={ 'message': 'Що означає моє положення Сатурна?', 'chart': {'date': '1990-05-15', 'time': '14:30:00', 'timezoneOffset': 3, 'latitude': 50.45, 'longitude': 30.52}, 'persona': 'plain', 'language': 'uk', },)data = r.json()['data']print(data['reply'])<?phpuse GuzzleHttp\Client;
$aw = new Client(['base_uri' => 'https://api.astroway.info/v1/']);$r = $aw->post('ai/chat', [ 'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')], 'json' => [ 'message' => 'Що означає моє положення Сатурна?', 'chart' => ['date' => '1990-05-15', 'time' => '14:30:00', 'timezoneOffset' => 3, 'latitude' => 50.45, 'longitude' => 30.52], 'persona' => 'plain', 'language' => 'uk', ],]);$data = json_decode($r->getBody(), true)['data'];echo $data['reply'];응답:
{ "ok": true, "data": { "reply": "Ваш Сатурн знаходиться у знаку Козерога, у 5 домі, і є ретроградним.\n\n**Сатурн у Козерозі** означає, що Сатурн перебуває у своєму домі, де його енергії найсильніші. […] **Місяць у поєднанні з Сатурном (орб 1.7°)**: Це поєднання в Козерозі, у 5 домі, посилює серйозність ваших емоцій та потребу в безпеці.", "disclaimer": "Цей текст згенерований ШІ для розваги та саморефлексії. Не є медичною, юридичною чи фінансовою порадою.", "model": "gemini-2.5-flash", "language": "uk", "tokens": { "input": 1822, "output": 758 }, "duration_ms": 6806, "persona": "plain" }}여기서 reply는 축약했고 나머지 필드는 그대로입니다. model은 응답한 제공업체입니다. 체인은 자동으로 전환되며, 여러분의 청구서가 누구의 토큰을 계산했는지 볼 수 있도록 응답에 그 이름이 담깁니다. 모델이 토큰 상한에 부딪히면 응답은 단어 중간에서 끊기지 않고 마지막으로 완결된 문장까지 잘리며 truncated: true가 추가됩니다.
차트는 선택 사항입니다
섹션 제목: “차트는 선택 사항입니다”chart가 없으면 일반적인 점성술 채팅입니다. 컨텍스트가 없고 가격은 같습니다. chart가 있으면 특정 인물에 대해 답합니다. 최대 10턴의 history는 클라이언트가 보냅니다. 저희 쪽에는 세션이 없으므로 각 턴은 자기 완결적이며 프로세스 간에 옮길 수 있습니다.
가격과 한도
섹션 제목: “가격과 한도”| 턴당 가격 | 100 크레딧 |
| 자신의 제공업체 키(BYOK) | 턴당 5 크레딧, 토큰 비용은 본인 부담 |
| Free 요금제 | 요금제 제한 없이 호출 가능, 월 10 000 크레딧 이내 |
Sandbox 키 aw_test_* | 402, 샌드박스는 크레딧을 쓰지 않지만 모델은 돈을 쓰기 때문 |
| 동일한 본문 반복 | 캐시에서, x-cache: HIT, x-credits-used: 0 |
message | 최대 2000자, history는 최대 10턴 |
| 언어 | 21개, language 파라미터 |