QAway-to commited on
Commit
e545578
·
1 Parent(s): 96370c5

without k_metrics

Browse files
Files changed (2) hide show
  1. analyzer.py +2 -3
  2. app.py +0 -51
analyzer.py CHANGED
@@ -1,11 +1,10 @@
1
  # Анализ одного портфеля
2
  import requests
3
  from fetch import extract_portfolio_id
4
-
5
-
6
  from prompts import SYSTEM_PROMPT
 
7
 
8
- def analyze_portfolio_streaming(text: str, client):
9
  portfolio_id = extract_portfolio_id(text)
10
  if not portfolio_id:
11
  yield "❗ Укажите корректный portfolioId или ссылку."
 
1
  # Анализ одного портфеля
2
  import requests
3
  from fetch import extract_portfolio_id
 
 
4
  from prompts import SYSTEM_PROMPT
5
+ from openai import OpenAI
6
 
7
+ def analyze_portfolio_streaming(text: str, client:OpenAI):
8
  portfolio_id = extract_portfolio_id(text)
9
  if not portfolio_id:
10
  yield "❗ Укажите корректный portfolioId или ссылку."
app.py CHANGED
@@ -1,6 +1,5 @@
1
  import gradio as gr
2
  import os
3
- import requests
4
  from prompts import SYSTEM_PROMPT
5
  from prompts import TRADELINK_CONTEXT
6
  from fetch import extract_portfolio_id
@@ -15,56 +14,6 @@ client = OpenAI(
15
  )
16
 
17
 
18
- from prompts import SYSTEM_PROMPT
19
-
20
- def analyze_portfolio_streaming(text: str, client):
21
- portfolio_id = extract_portfolio_id(text)
22
- if not portfolio_id:
23
- yield "❗ Укажите корректный portfolioId или ссылку."
24
- return
25
-
26
- try:
27
- # Получение JSON по API
28
- url = f"https://api.tradelink.pro/portfolio/get?portfolioId={portfolio_id}&extended=1&declaration=1&step=day&lang=en&incViews=1"
29
- response = requests.get(url)
30
- json_data = response.json()
31
- extended = json_data.get("data", {}).get("extended", {})
32
-
33
- if not extended:
34
- yield "❗ Метрики не найдены в ответе API."
35
- return
36
-
37
- # Передаём все числовые метрики, без фильтрации
38
- metrics = {k: v for k, v in extended.items() if isinstance(v, (int, float))}
39
- if not metrics:
40
- yield "❗ Нет числовых метрик для анализа."
41
- return
42
-
43
- metrics_text = ", ".join([f"{k}: {v}" for k, v in metrics.items()])
44
- prompt = f"""Вот метрики портфеля: {metrics_text}.
45
- Проанализируй их и объясни сильные и слабые стороны на русском языке, как финансовый аналитик."""
46
-
47
- # Запрос к модели
48
- response_llm = client.chat.completions.create(
49
- model="nasiruddin15/Mistral-dolphin-2.8-grok-instract-2-7B-slerp",
50
- messages=[
51
- {"role": "system", "content": SYSTEM_PROMPT},
52
- {"role": "user", "content": prompt}
53
- ],
54
- stream=True
55
- )
56
-
57
- partial = ""
58
- for chunk in response_llm:
59
- delta = chunk.choices[0].delta.content
60
- if delta:
61
- partial += delta
62
- yield partial
63
-
64
- except Exception as e:
65
- yield f"❌ Ошибка при обработке: {e}"
66
-
67
-
68
  # Сравнение двух портфелей
69
  def compare_portfolios_streaming(text1: str, text2: str):
70
  id1 = extract_portfolio_id(text1)
 
1
  import gradio as gr
2
  import os
 
3
  from prompts import SYSTEM_PROMPT
4
  from prompts import TRADELINK_CONTEXT
5
  from fetch import extract_portfolio_id
 
14
  )
15
 
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  # Сравнение двух портфелей
18
  def compare_portfolios_streaming(text1: str, text2: str):
19
  id1 = extract_portfolio_id(text1)