From 73368283ddd5299dc1ac7e7c213f6c228bba3fc3 Mon Sep 17 00:00:00 2001 From: Lungsangg Date: Tue, 23 Jun 2026 15:43:02 +0530 Subject: [PATCH] filter_by_llm --- worker_api/llm/llm_service.py | 11 +- worker_api/llm/llm_views.py | 855 +++++++++++++++++++++++ worker_api/llm/traditions_condensed.json | 98 +++ 3 files changed, 963 insertions(+), 1 deletion(-) create mode 100644 worker_api/llm/traditions_condensed.json diff --git a/worker_api/llm/llm_service.py b/worker_api/llm/llm_service.py index ccda716..535f047 100644 --- a/worker_api/llm/llm_service.py +++ b/worker_api/llm/llm_service.py @@ -1,4 +1,5 @@ import asyncio +import logging from typing import Optional from google import genai from google.genai import types @@ -6,6 +7,8 @@ from worker_api.config import get +logger = logging.getLogger(__name__) + DEFAULT_MODEL = "gemini-2.5-flash" @@ -15,6 +18,8 @@ def _chat_with_gemini_sync( model: Optional[str] = None ) -> dict: api_key = get("GEMINI_API_KEY") + logger.info(f"GEMINI_API_KEY configured: {bool(api_key)}, key prefix: {api_key[:10] if api_key else 'N/A'}...") + if not api_key: raise HTTPException( status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, @@ -24,6 +29,7 @@ def _chat_with_gemini_sync( client = genai.Client(api_key=api_key) model_name = model or DEFAULT_MODEL + logger.info(f"Requested model: {model}, Using model: {model_name}") config = types.GenerateContentConfig( temperature=1.0, @@ -40,15 +46,18 @@ def _chat_with_gemini_sync( ] try: + logger.info(f"Calling Gemini API with prompt length: {len(prompt)}") response = client.models.generate_content( model=model_name, contents=contents, config=config, ) + logger.info("Gemini API call successful") except Exception as e: + logger.error(f"Gemini API error: {type(e).__name__}: {str(e)}", exc_info=True) raise HTTPException( status_code=status.HTTP_502_BAD_GATEWAY, - detail=f"Gemini API error: {str(e)}" + detail=f"Gemini API error: {type(e).__name__}: {str(e)}" ) if not response.candidates or not response.candidates[0].content.parts: diff --git a/worker_api/llm/llm_views.py b/worker_api/llm/llm_views.py index 6858e16..92e0970 100644 --- a/worker_api/llm/llm_views.py +++ b/worker_api/llm/llm_views.py @@ -1,4 +1,5 @@ from fastapi import APIRouter +from fastapi.responses import HTMLResponse from starlette import status from worker_api.llm.llm_response_models import LLMChatRequest, LLMChatResponse @@ -15,3 +16,857 @@ async def chat(request: LLMChatRequest) -> LLMChatResponse: model=request.model ) return LLMChatResponse(**result) + + +@llm_router.get("/view", response_class=HTMLResponse) +async def view(): + html_content = """ + + + + + + Buddhist Tradition Onboarding + + + +
+

Onboarding step: choose your Buddhist tradition by typing it or picking from a list. You can add more than one.

+
9:41
+
+ + +
+
Which Buddhist tradition feels closest to your practice?
+
Choose one or more — we'll use them to personalize your experience.
+
+
+ + +
+
+ + +
+
+ + + + +""" + return html_content diff --git a/worker_api/llm/traditions_condensed.json b/worker_api/llm/traditions_condensed.json new file mode 100644 index 0000000..29f6641 --- /dev/null +++ b/worker_api/llm/traditions_condensed.json @@ -0,0 +1,98 @@ +[ + {"id":"theravada","name":"Theravāda","level":1,"parent":null}, + {"id":"thai-buddhism","name":"Thai Buddhism","level":2,"parent":"theravada"}, + {"id":"dhammayut","name":"Dhammayuttika Nikāya","level":3,"parent":"thai-buddhism"}, + {"id":"maha-nikaya-th","name":"Mahā Nikāya","level":3,"parent":"thai-buddhism"}, + {"id":"thai-forest","name":"Thai Forest Tradition","level":3,"parent":"thai-buddhism"}, + {"id":"burmese-buddhism","name":"Burmese Buddhism","level":2,"parent":"theravada"}, + {"id":"thudhamma","name":"Thudhamma Nikāya","level":3,"parent":"burmese-buddhism"}, + {"id":"shwekyin","name":"Shwekyin Nikāya","level":3,"parent":"burmese-buddhism"}, + {"id":"mahasi","name":"Mahasi Tradition","level":3,"parent":"burmese-buddhism"}, + {"id":"pa-auk","name":"Pa-Auk Tradition","level":3,"parent":"burmese-buddhism"}, + {"id":"sri-lankan-buddhism","name":"Sri Lankan Buddhism","level":2,"parent":"theravada"}, + {"id":"siam-nikaya","name":"Siam Nikāya","level":3,"parent":"sri-lankan-buddhism"}, + {"id":"amarapura-nikaya","name":"Amarapura Nikāya","level":3,"parent":"sri-lankan-buddhism"}, + {"id":"ramanna-nikaya","name":"Rāmañña Nikāya","level":3,"parent":"sri-lankan-buddhism"}, + {"id":"cambodian-buddhism","name":"Cambodian Buddhism","level":2,"parent":"theravada"}, + {"id":"mohanikay","name":"Mohanikay","level":3,"parent":"cambodian-buddhism"}, + {"id":"lao-buddhism","name":"Lao Buddhism","level":2,"parent":"theravada"}, + {"id":"vipassana-goenka","name":"Vipassana (Goenka Tradition)","level":2,"parent":"theravada"}, + {"id":"insight-meditation","name":"Insight Meditation","level":2,"parent":"theravada"}, + {"id":"navayana","name":"Navayana / Ambedkarite Buddhism","level":2,"parent":"theravada"}, + {"id":"mahayana","name":"Mahāyāna","level":1,"parent":null}, + {"id":"chinese-buddhism","name":"Chinese Buddhism","level":2,"parent":"mahayana"}, + {"id":"pure-land-chinese","name":"Pure Land (Chinese)","level":3,"parent":"chinese-buddhism"}, + {"id":"chan","name":"Chan","level":3,"parent":"chinese-buddhism"}, + {"id":"tiantai","name":"Tiantai","level":3,"parent":"chinese-buddhism"}, + {"id":"huayan","name":"Huayan","level":3,"parent":"chinese-buddhism"}, + {"id":"chinese-esoteric","name":"Chinese Esoteric Buddhism","level":3,"parent":"chinese-buddhism"}, + {"id":"dharma-drum","name":"Dharma Drum Mountain","level":3,"parent":"chinese-buddhism"}, + {"id":"fo-guang-shan","name":"Fo Guang Shan","level":3,"parent":"chinese-buddhism"}, + {"id":"chung-tai-shan","name":"Chung Tai Shan","level":3,"parent":"chinese-buddhism"}, + {"id":"japanese-buddhism","name":"Japanese Buddhism","level":2,"parent":"mahayana"}, + {"id":"zen","name":"Zen","level":3,"parent":"japanese-buddhism"}, + {"id":"rinzai","name":"Rinzai","level":4,"parent":"zen"}, + {"id":"soto","name":"Sōtō","level":4,"parent":"zen"}, + {"id":"obaku","name":"Ōbaku","level":4,"parent":"zen"}, + {"id":"sanbo-zen","name":"Sanbo Zen","level":4,"parent":"zen"}, + {"id":"jodo-shu","name":"Jōdo-shū","level":3,"parent":"japanese-buddhism"}, + {"id":"jodo-shinshu","name":"Jōdo Shinshū","level":3,"parent":"japanese-buddhism"}, + {"id":"nishi-honganji","name":"Nishi Honganji","level":4,"parent":"jodo-shinshu"}, + {"id":"higashi-honganji","name":"Higashi Honganji","level":4,"parent":"jodo-shinshu"}, + {"id":"bca","name":"Buddhist Churches of America","level":4,"parent":"jodo-shinshu"}, + {"id":"nichiren","name":"Nichiren Buddhism","level":3,"parent":"japanese-buddhism"}, + {"id":"nichiren-shu","name":"Nichiren Shū","level":4,"parent":"nichiren"}, + {"id":"nichiren-shoshu","name":"Nichiren Shōshū","level":4,"parent":"nichiren"}, + {"id":"sgi","name":"Sōka Gakkai International","level":4,"parent":"nichiren"}, + {"id":"kempon-hokke","name":"Kempon Hokke","level":4,"parent":"nichiren"}, + {"id":"tendai","name":"Tendai","level":3,"parent":"japanese-buddhism"}, + {"id":"shingon","name":"Shingon","level":3,"parent":"japanese-buddhism"}, + {"id":"koyasan-shingon","name":"Koyasan Shingon","level":4,"parent":"shingon"}, + {"id":"rissho-koseikai","name":"Risshō Kōsei-kai","level":3,"parent":"japanese-buddhism"}, + {"id":"korean-buddhism","name":"Korean Buddhism","level":2,"parent":"mahayana"}, + {"id":"jogye","name":"Jogye Order","level":3,"parent":"korean-buddhism"}, + {"id":"taego","name":"Taego Order","level":3,"parent":"korean-buddhism"}, + {"id":"cheontae","name":"Cheontae","level":3,"parent":"korean-buddhism"}, + {"id":"won-buddhism","name":"Won Buddhism","level":3,"parent":"korean-buddhism"}, + {"id":"jingak","name":"Jingak Order","level":3,"parent":"korean-buddhism"}, + {"id":"vietnamese-buddhism","name":"Vietnamese Buddhism","level":2,"parent":"mahayana"}, + {"id":"thien","name":"Thiền","level":3,"parent":"vietnamese-buddhism"}, + {"id":"truc-lam","name":"Trúc Lâm","level":4,"parent":"thien"}, + {"id":"lam-te","name":"Lâm Tế","level":4,"parent":"thien"}, + {"id":"tinh-do","name":"Tịnh Độ","level":3,"parent":"vietnamese-buddhism"}, + {"id":"khat-si","name":"Khất Sĩ Order","level":3,"parent":"vietnamese-buddhism"}, + {"id":"plum-village","name":"Plum Village","level":3,"parent":"vietnamese-buddhism"}, + {"id":"vajrayana","name":"Vajrayāna","level":1,"parent":null}, + {"id":"tibetan-buddhism","name":"Tibetan Buddhism","level":2,"parent":"vajrayana"}, + {"id":"nyingma","name":"Nyingma","level":3,"parent":"tibetan-buddhism"}, + {"id":"katok","name":"Katok","level":4,"parent":"nyingma"}, + {"id":"palyul","name":"Palyul","level":4,"parent":"nyingma"}, + {"id":"mindrolling","name":"Mindrolling","level":4,"parent":"nyingma"}, + {"id":"shechen","name":"Shechen","level":4,"parent":"nyingma"}, + {"id":"dorje-drag","name":"Dorje Drak","level":4,"parent":"nyingma"}, + {"id":"dzogchen-monastery","name":"Dzogchen Monastery","level":4,"parent":"nyingma"}, + {"id":"kagyu","name":"Kagyu","level":3,"parent":"tibetan-buddhism"}, + {"id":"karma-kagyu","name":"Karma Kagyu","level":4,"parent":"kagyu"}, + {"id":"drikung-kagyu","name":"Drikung Kagyu","level":4,"parent":"kagyu"}, + {"id":"drukpa-kagyu","name":"Drukpa Kagyu","level":4,"parent":"kagyu"}, + {"id":"shangpa-kagyu","name":"Shangpa Kagyu","level":4,"parent":"kagyu"}, + {"id":"taklung-kagyu","name":"Taklung Kagyu","level":4,"parent":"kagyu"}, + {"id":"sakya","name":"Sakya","level":3,"parent":"tibetan-buddhism"}, + {"id":"ngorpa","name":"Ngorpa","level":4,"parent":"sakya"}, + {"id":"tsarpa","name":"Tsarpa","level":4,"parent":"sakya"}, + {"id":"dzongsar","name":"Dzongsar","level":4,"parent":"sakya"}, + {"id":"gelug","name":"Gelug","level":3,"parent":"tibetan-buddhism"}, + {"id":"jonang","name":"Jonang","level":3,"parent":"tibetan-buddhism"}, + {"id":"rime","name":"Rimé","level":3,"parent":"tibetan-buddhism"}, + {"id":"mongolian-buddhism","name":"Mongolian Buddhism","level":2,"parent":"vajrayana"}, + {"id":"buryat-buddhism","name":"Buryat Buddhism","level":2,"parent":"vajrayana"}, + {"id":"kalmyk-buddhism","name":"Kalmyk Buddhism","level":2,"parent":"vajrayana"}, + {"id":"tuvan-buddhism","name":"Tuvan Buddhism","level":2,"parent":"vajrayana"}, + {"id":"newar-buddhism","name":"Newar Buddhism","level":2,"parent":"vajrayana"}, + {"id":"bon","name":"Bön","level":1,"parent":null}, + {"id":"western-contemporary","name":"Western / Contemporary","level":1,"parent":null}, + {"id":"secular-buddhism","name":"Secular Buddhism","level":2,"parent":"western-contemporary"}, + {"id":"triratna","name":"Triratna","level":2,"parent":"western-contemporary"}, + {"id":"nkt","name":"New Kadampa","level":2,"parent":"western-contemporary"}, + {"id":"shambhala","name":"Shambhala","level":2,"parent":"western-contemporary"} +]