gdleds commited on
Commit
d3e8962
·
1 Parent(s): 9d016af

ajout evidently

Browse files
Files changed (3) hide show
  1. Dockerfile +1 -1
  2. evidently_cloud.py +12 -25
  3. requirements.txt +0 -2
Dockerfile CHANGED
@@ -1,5 +1,5 @@
1
  # Image de base
2
- FROM python:3.11
3
 
4
  # Définir le répertoire de travail
5
  WORKDIR /app
 
1
  # Image de base
2
+ FROM python:3.10-slim
3
 
4
  # Définir le répertoire de travail
5
  WORKDIR /app
evidently_cloud.py CHANGED
@@ -5,12 +5,8 @@ import boto3
5
  import datetime
6
  import json
7
  import joblib
8
- import evidently
9
- from evidently.ui.workspace import CloudWorkspace
10
- from evidently.report import Report
11
- from evidently.metric_preset import DataDriftPreset, DataQualityPreset
12
- from datetime import timedelta
13
- from sqlalchemy import create_engine
14
 
15
 
16
  def run_evident_cloud():
@@ -25,28 +21,19 @@ def run_evident_cloud():
25
  key = f"evidently/data_drift-{pd.Timestamp.utcnow().date()}.json"
26
 
27
  content = s3.get_object(os.getenv("S3_BUCKET"),key)
28
- report_dict = json.loads(content["Body"].read().decode('utf-8'))
29
 
30
- report = Report(metrics=[
31
- DataDriftPreset(),
32
- DataQualityPreset()
33
- ])
34
 
35
- report._load(report_dict)
36
 
37
- # Envoyer à Evidently Cloud
38
 
39
- ws = CloudWorkspace(
40
- token=os.getenv('TOKEN_EVI'),
41
- url="https://app.evidently.cloud",
42
- )
43
 
44
- ws.add_report(
45
- project_id=os.gentenv('PROJECT_ID'),
46
- report=report_dict
47
- )
48
 
49
- return {
50
- "status": "success",
51
- "message": "Report envoyé à Evidently Cloud"
52
- }
 
5
  import datetime
6
  import json
7
  import joblib
8
+ import requests
9
+
 
 
 
 
10
 
11
 
12
  def run_evident_cloud():
 
21
  key = f"evidently/data_drift-{pd.Timestamp.utcnow().date()}.json"
22
 
23
  content = s3.get_object(os.getenv("S3_BUCKET"),key)
24
+ report_dict = json.loads(content["Body"].read())
25
 
26
+ headers = {
27
+ "Authorization": f"Bearer {os.environ['EVIDENTLY_TOKEN']}",
28
+ "Content-Type": "application/json",
29
+ }
30
 
31
+ url = f"https://app.evidently.cloud/api/v1/projects/{os.environ['PROJECT_ID']}/reports"
32
 
33
+ r = requests.post(url, json=report_dict, headers=headers)
34
 
35
+ if r.status_code != 200:
36
+ raise RuntimeError(f"Evidently error: {r.text}")
 
 
37
 
38
+ return {"status": "ok", "message": "Report envoyé à Evidently Cloud"}
 
 
 
39
 
 
 
 
 
requirements.txt CHANGED
@@ -19,5 +19,3 @@ tqdm
19
  python-dotenv
20
  pyyaml
21
  psycopg2-binary
22
- evidently==0.7.4
23
- evidently-cloud
 
19
  python-dotenv
20
  pyyaml
21
  psycopg2-binary