Ayona commited on
Commit
8f359a6
·
1 Parent(s): 22df219

handoff: align help and trim debug leakage

Browse files
HELP.md CHANGED
@@ -98,6 +98,10 @@
98
  - Потужні моделі: 15-30 секунд
99
  - З режимом Thinking: 30-60 секунд
100
 
 
 
 
 
101
  ---
102
 
103
  ## Закладка: Пошук
 
98
  - Потужні моделі: 15-30 секунд
99
  - З режимом Thinking: 30-60 секунд
100
 
101
+ ### Для customer MVP
102
+ - Основний підтримуваний сценарій поставки: **Генерація** + налаштування `provider/model/thinking/comment`.
103
+ - Якщо retrieval-контур не входить у ТЗ або не підготовлені актуальні індекси, вкладки **Пошук** і **Аналіз** можуть бути вимкнені без втрати основної цінності MVP.
104
+
105
  ---
106
 
107
  ## Закладка: Пошук
docs/deployment/hf/HF_DEPLOYMENT_SUMMARY.md CHANGED
@@ -4,6 +4,8 @@ NOTE: This HF deployment summary is a convenience document for operators. Canoni
4
 
5
  # 🎉 Підсумок: Готовність до розгортання на Hugging Face Spaces
6
 
 
 
7
  ## ✅ Створені файли
8
 
9
  ### 1. Основні файли розгортання:
 
4
 
5
  # 🎉 Підсумок: Готовність до розгортання на Hugging Face Spaces
6
 
7
+ > Примітка для handoff: canonical instructions and current MVP scope live in `docs/deployment/hf/DEPLOYMENT_HF.md`, `docs/README.md`, `README.md`, and `docs/SCOPE_AND_DATA_FRESHNESS.md`. This file is only a summary note.
8
+
9
  ## ✅ Створені файли
10
 
11
  ### 1. Основні файли розгортання:
docs/deployment/hf/README_HF.md CHANGED
@@ -21,8 +21,8 @@ Legal Position AI Analyzer — це інструмент для автомати
21
  ### Основні можливості:
22
 
23
  - 🤖 **Генерація правових позицій** з судових рішень
24
- - 🔍 **Пошук релевантних прецедентів** в базі даних
25
- - ⚖️ **Аналіз схожості** з існуючими правовими позиціями
26
  - 📊 **Пакетне тестування** для обробки множини справ
27
  - 🎯 **Підтримка декількох AI моделей**:
28
  - Anthropic Claude (Opus 4.5, Sonnet 4.5, Haiku 4.5)
@@ -39,15 +39,17 @@ Legal Position AI Analyzer — це інструмент для автомати
39
  3. Додайте коментар (опціонально)
40
  4. Натисніть "Генерувати позицію"
41
 
42
- ### 2. Пошук прецедентів
43
 
44
  - Автоматичний пошук після генерації позиції
45
  - Або ручний пошук за текстом/URL
 
46
 
47
- ### 3. Аналіз релевантності
48
 
49
  - Порівняння з існуючими правовими позиціями
50
  - Оцінка застосовності до нової справи
 
51
 
52
  ## ⚙️ Конфігурація
53
 
 
21
  ### Основні можливості:
22
 
23
  - 🤖 **Генерація правових позицій** з судових рішень
24
+ - 🔍 **Пошук релевантних прецедентів** в базі даних *(опціонально)*
25
+ - ⚖️ **Аналіз схожості** з існуючими правовими позиціями *(опціонально)*
26
  - 📊 **Пакетне тестування** для обробки множини справ
27
  - 🎯 **Підтримка декількох AI моделей**:
28
  - Anthropic Claude (Opus 4.5, Sonnet 4.5, Haiku 4.5)
 
39
  3. Додайте коментар (опціонально)
40
  4. Натисніть "Генерувати позицію"
41
 
42
+ ### 2. Пошук прецедентів *(опціонально)*
43
 
44
  - Автоматичний пошук після генерації позиції
45
  - Або ручний пошук за текстом/URL
46
+ - Для customer MVP може бути вимкнений, якщо retrieval не входить у погоджений scope
47
 
48
+ ### 3. Аналіз релевантності *(опціонально)*
49
 
50
  - Порівняння з існуючими правовими позиціями
51
  - Оцінка застосовності до нової справи
52
+ - Не є обов’язковим критерієм приймання MVP без окремого узгодження
53
 
54
  ## ⚙️ Конфігурація
55
 
main.py CHANGED
@@ -796,26 +796,13 @@ def generate_legal_position(
796
  raise Exception(f"Текст судового рішення занадто короткий або відсутній (довжина: {len(court_decision_text) if court_decision_text else 0} символів). Будь ласка, перевірте вхідні дані.")
797
 
798
  if provider == ModelProvider.OPENAI.value:
799
- # Diagnostic: test raw httpx connection before using OpenAI SDK
800
  http_client = None
801
  response_text = None
802
  try:
803
  print(f"[DEBUG] OpenAI pre-flight check...")
804
  print(f"[DEBUG] openai SDK version: {openai.__version__}")
805
  print(f"[DEBUG] httpx version: {httpx.__version__}")
806
- print(f"[DEBUG] OPENAI_API_KEY length: {len(OPENAI_API_KEY) if OPENAI_API_KEY else 0}")
807
-
808
- # Quick raw httpx connectivity test to api.openai.com
809
- try:
810
- with httpx.Client(timeout=10.0, http2=False) as test_client:
811
- test_resp = test_client.get("https://api.openai.com/v1/models",
812
- headers={"Authorization": f"Bearer {OPENAI_API_KEY[:20]}...truncated"})
813
- print(f"[DEBUG] Raw httpx test -> HTTP {test_resp.status_code}")
814
- except Exception as pre_err:
815
- import traceback
816
- print(f"[WARNING] Raw httpx pre-flight failed: {type(pre_err).__name__}: {pre_err}")
817
- print(f"[WARNING] Pre-flight traceback: {traceback.format_exc()}")
818
-
819
  http_client = httpx.Client(
820
  timeout=httpx.Timeout(120.0, connect=30.0),
821
  http2=False,
@@ -1024,7 +1011,7 @@ def generate_legal_position(
1024
  # Debug: check what we're sending to Anthropic
1025
  print(f"[DEBUG] Sending to Anthropic - content length: {len(content)}")
1026
  print(f"[DEBUG] Content preview: {content[:500]}")
1027
- print(f"[DEBUG] ANTHROPIC_API_KEY set: {bool(ANTHROPIC_API_KEY)}, length: {len(ANTHROPIC_API_KEY) if ANTHROPIC_API_KEY else 0}")
1028
 
1029
  messages = [{
1030
  "role": "user",
 
796
  raise Exception(f"Текст судового рішення занадто короткий або відсутній (довжина: {len(court_decision_text) if court_decision_text else 0} символів). Будь ласка, перевірте вхідні дані.")
797
 
798
  if provider == ModelProvider.OPENAI.value:
 
799
  http_client = None
800
  response_text = None
801
  try:
802
  print(f"[DEBUG] OpenAI pre-flight check...")
803
  print(f"[DEBUG] openai SDK version: {openai.__version__}")
804
  print(f"[DEBUG] httpx version: {httpx.__version__}")
805
+
 
 
 
 
 
 
 
 
 
 
 
 
806
  http_client = httpx.Client(
807
  timeout=httpx.Timeout(120.0, connect=30.0),
808
  http2=False,
 
1011
  # Debug: check what we're sending to Anthropic
1012
  print(f"[DEBUG] Sending to Anthropic - content length: {len(content)}")
1013
  print(f"[DEBUG] Content preview: {content[:500]}")
1014
+ print(f"[DEBUG] Anthropic API key configured: {bool(ANTHROPIC_API_KEY)}")
1015
 
1016
  messages = [{
1017
  "role": "user",