llumo 0.2.21__py3-none-any.whl → 0.2.23__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- llumo/client.py +39 -10
- llumo/helpingFuntions.py +8 -6
- {llumo-0.2.21.dist-info → llumo-0.2.23.dist-info}/METADATA +1 -1
- {llumo-0.2.21.dist-info → llumo-0.2.23.dist-info}/RECORD +7 -7
- {llumo-0.2.21.dist-info → llumo-0.2.23.dist-info}/WHEEL +0 -0
- {llumo-0.2.21.dist-info → llumo-0.2.23.dist-info}/licenses/LICENSE +0 -0
- {llumo-0.2.21.dist-info → llumo-0.2.23.dist-info}/top_level.txt +0 -0
llumo/client.py
CHANGED
|
@@ -397,7 +397,7 @@ class LlumoClient:
|
|
|
397
397
|
outputColName=outputColName,
|
|
398
398
|
):
|
|
399
399
|
print(
|
|
400
|
-
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://llumo.ai/evallm to see the results.Please rerun the experiment to see the results on playground."
|
|
400
|
+
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://app.llumo.ai/evallm to see the results.Please rerun the experiment to see the results on playground."
|
|
401
401
|
)
|
|
402
402
|
else:
|
|
403
403
|
return dataframe
|
|
@@ -720,6 +720,7 @@ class LlumoClient:
|
|
|
720
720
|
|
|
721
721
|
inputDict = {key: row[key] for key in keys if key in row}
|
|
722
722
|
output = row.get(outputColName, "")
|
|
723
|
+
intermediateSteps = row.get("intermediateSteps", "")
|
|
723
724
|
|
|
724
725
|
|
|
725
726
|
rowID = f"{int(time.time() * 1000)}{uuid.uuid4()}".replace("-", "")
|
|
@@ -740,6 +741,7 @@ class LlumoClient:
|
|
|
740
741
|
"tools": tools,
|
|
741
742
|
"groundTruth": groundTruth,
|
|
742
743
|
"messageHistory": messageHistory,
|
|
744
|
+
"intermediateSteps": intermediateSteps,
|
|
743
745
|
},
|
|
744
746
|
"definition": evalDefinition,
|
|
745
747
|
"model": model,
|
|
@@ -869,8 +871,14 @@ class LlumoClient:
|
|
|
869
871
|
activePlayground= activePlayground
|
|
870
872
|
):
|
|
871
873
|
print(
|
|
872
|
-
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://llumo.ai/evallm to see the results."
|
|
874
|
+
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://app.llumo.ai/evallm to see the results."
|
|
873
875
|
)
|
|
876
|
+
if getDataFrame:
|
|
877
|
+
return LlumoDataFrameResults(dataframe,evals=self.evals,evalData=self.evalData,definationMapping=self.definationMapping)
|
|
878
|
+
else:
|
|
879
|
+
data=dataframe.to_dict(orient="records")
|
|
880
|
+
return LlumoDictResults(data,evals=self.evals,evalData=self.evalData,definationMapping=self.definationMapping)
|
|
881
|
+
|
|
874
882
|
else:
|
|
875
883
|
if getDataFrame:
|
|
876
884
|
return LlumoDataFrameResults(dataframe,evals=self.evals,evalData=self.evalData,definationMapping=self.definationMapping)
|
|
@@ -934,7 +942,8 @@ class LlumoClient:
|
|
|
934
942
|
evalOutputMap=outputEvalMapping
|
|
935
943
|
):
|
|
936
944
|
print(
|
|
937
|
-
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://llumo.ai/evallm to see the results.")
|
|
945
|
+
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://app.llumo.ai/evallm to see the results.")
|
|
946
|
+
|
|
938
947
|
else:
|
|
939
948
|
if getDataFrame == True and toEvaluate == True:
|
|
940
949
|
return LlumoDataFrameResults(working_df, evals=self.evals, evalData=self.evalData,
|
|
@@ -1007,7 +1016,7 @@ class LlumoClient:
|
|
|
1007
1016
|
# df = toolResponseDf.fillna("Some error occured")
|
|
1008
1017
|
# if createPlayground(self.email, self.workspaceID, df,promptText=prompt_template,definationMapping=self.definationMapping):
|
|
1009
1018
|
# print(
|
|
1010
|
-
# "LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://llumo.ai/evallm to see the results."
|
|
1019
|
+
# "LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://app.llumo.ai/evallm to see the results."
|
|
1011
1020
|
# )
|
|
1012
1021
|
# else:
|
|
1013
1022
|
# return toolResponseDf
|
|
@@ -1230,7 +1239,21 @@ class LlumoClient:
|
|
|
1230
1239
|
evalOutputMap=outputEvalMapping
|
|
1231
1240
|
):
|
|
1232
1241
|
print(
|
|
1233
|
-
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://llumo.ai/evallm to see the results.")
|
|
1242
|
+
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://app.llumo.ai/evallm to see the results.")
|
|
1243
|
+
if getDataFrame == True and toEvaluate == True:
|
|
1244
|
+
return LlumoDataFrameResults(working_df, evals=self.evals, evalData=self.evalData,
|
|
1245
|
+
definationMapping=self.definationMapping)
|
|
1246
|
+
|
|
1247
|
+
elif getDataFrame == False and toEvaluate == True:
|
|
1248
|
+
data = working_df.to_dict(orient="records")
|
|
1249
|
+
return LlumoDictResults(data, evals=self.evals, evalData=self.evalData,
|
|
1250
|
+
definationMapping=self.definationMapping)
|
|
1251
|
+
|
|
1252
|
+
elif getDataFrame== True and toEvaluate == False:
|
|
1253
|
+
return working_df
|
|
1254
|
+
|
|
1255
|
+
elif getDataFrame == False and toEvaluate == False :
|
|
1256
|
+
return working_df.to_dict(orient = "records")
|
|
1234
1257
|
else:
|
|
1235
1258
|
if getDataFrame == True and toEvaluate == True:
|
|
1236
1259
|
return LlumoDataFrameResults(working_df, evals=self.evals, evalData=self.evalData,
|
|
@@ -1467,7 +1490,13 @@ class LlumoClient:
|
|
|
1467
1490
|
definationMapping=self.definationMapping,
|
|
1468
1491
|
):
|
|
1469
1492
|
print(
|
|
1470
|
-
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://llumo.ai/evallm to see the results.")
|
|
1493
|
+
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://app.llumo.ai/evallm to see the results.")
|
|
1494
|
+
if getDataFrame:
|
|
1495
|
+
return working_df
|
|
1496
|
+
|
|
1497
|
+
else:
|
|
1498
|
+
data = working_df.to_dict(orient="records")
|
|
1499
|
+
return data
|
|
1471
1500
|
else:
|
|
1472
1501
|
if getDataFrame:
|
|
1473
1502
|
return working_df
|
|
@@ -1486,7 +1515,7 @@ class LlumoClient:
|
|
|
1486
1515
|
flag = createPlayground(self.email, self.workspaceID, dataframe)
|
|
1487
1516
|
if flag:
|
|
1488
1517
|
print(
|
|
1489
|
-
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://llumo.ai/evallm to see the results."
|
|
1518
|
+
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://app.llumo.ai/evallm to see the results."
|
|
1490
1519
|
)
|
|
1491
1520
|
except Exception as e:
|
|
1492
1521
|
raise "Some error ocuured please check your API key"
|
|
@@ -1526,7 +1555,7 @@ class LlumoClient:
|
|
|
1526
1555
|
if createPlayground(self.email, self.workspaceID, df):
|
|
1527
1556
|
|
|
1528
1557
|
print(
|
|
1529
|
-
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://llumo.ai/evallm to see the results."
|
|
1558
|
+
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://app.llumo.ai/evallm to see the results."
|
|
1530
1559
|
)
|
|
1531
1560
|
|
|
1532
1561
|
return True
|
|
@@ -1546,7 +1575,7 @@ class LlumoClient:
|
|
|
1546
1575
|
self.validateApiKey()
|
|
1547
1576
|
if createPlayground(self.email, self.workspaceID, dataframe):
|
|
1548
1577
|
print(
|
|
1549
|
-
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://llumo.ai/evallm to see the results."
|
|
1578
|
+
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://app.llumo.ai/evallm to see the results."
|
|
1550
1579
|
)
|
|
1551
1580
|
return True
|
|
1552
1581
|
|
|
@@ -1606,7 +1635,7 @@ class LlumoClient:
|
|
|
1606
1635
|
activePlayground= activePlayground
|
|
1607
1636
|
):
|
|
1608
1637
|
print(
|
|
1609
|
-
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://llumo.ai/evallm to see the results."
|
|
1638
|
+
"LLUMO’s intuitive UI is ready—start exploring and experimenting with your logs now. Visit https://app.llumo.ai/evallm to see the results."
|
|
1610
1639
|
)
|
|
1611
1640
|
|
|
1612
1641
|
else:
|
llumo/helpingFuntions.py
CHANGED
|
@@ -227,7 +227,7 @@ def createColumn(workspaceID, dataframe, playgroundID, promptText=None,queryColN
|
|
|
227
227
|
"playgroundID": playgroundID,
|
|
228
228
|
"columnListToUpload": [],
|
|
229
229
|
}
|
|
230
|
-
allEvals = ['Response Completeness', 'Response Bias', 'Response Harmfulness', 'Input Toxicity', 'Input Harmfulness', 'Context Utilization', 'Relevance Retention', 'Semantic Cohesion', 'Final Task Alignment', 'Tool Reliability', 'Response Correctness', 'Response Toxicity', 'Input Bias', 'Input Relevancy', 'Redundancy Reduction', 'Response Sentiment', 'Tool Selection Accuracy', 'Stepwise Progression', 'Hallucination', 'Faithfulness', 'Answer Relevancy', 'Context Precision', 'Answer Similarity', 'Harmfulness', 'Maliciousness', 'Coherence', 'Answer Correctness', 'Context Recall', 'Context Entity Recall', 'Conciseness', 'customEvalColumn', 'Groundedness', 'Memory Utilization', 'Input Relevancy (Multi-turn)']
|
|
230
|
+
allEvals = ['Response Completeness', 'Response Bias', 'Response Harmfulness', 'Input Toxicity', 'Input Harmfulness', 'Context Utilization', 'Relevance Retention', 'Semantic Cohesion', 'Final Task Alignment', 'Tool Reliability', 'Response Correctness', 'Response Toxicity', 'Input Bias', 'Input Relevancy', 'Redundancy Reduction', 'Response Sentiment', 'Tool Selection Accuracy', 'Stepwise Progression', 'Hallucination', 'Faithfulness', 'Answer Relevancy', 'Context Precision', 'Answer Similarity', 'Harmfulness', 'Maliciousness', 'Coherence', 'Answer Correctness', 'Context Recall', 'Context Entity Recall', 'Conciseness', 'customEvalColumn', 'Groundedness', 'Memory Utilization', 'Input Relevancy (Multi-turn)','PII Check','Prompt Injection']
|
|
231
231
|
|
|
232
232
|
evalDependencies = checkDependency(_returnDepMapping=True)
|
|
233
233
|
|
|
@@ -536,20 +536,22 @@ def checkDependency(selectedEval:list = [], columns:list = [],tocheck=True,_retu
|
|
|
536
536
|
'Context Utilization': ['output', 'context'],
|
|
537
537
|
'Relevance Retention': ['context', 'query'],
|
|
538
538
|
'Semantic Cohesion': ['context'],
|
|
539
|
-
'Final Task Alignment': ['
|
|
540
|
-
'Tool Reliability': ['
|
|
539
|
+
'Final Task Alignment': ['query','output'],
|
|
540
|
+
'Tool Reliability': ['intermediateSteps'],
|
|
541
541
|
'Response Correctness': ['output', 'query', 'context'],
|
|
542
542
|
'Response Toxicity': ['output'],
|
|
543
543
|
'Input Bias': ['query'],
|
|
544
544
|
'Input Relevancy': ['context', 'query'],
|
|
545
545
|
'Redundancy Reduction': ['context'],
|
|
546
546
|
'Response Sentiment': ['output'],
|
|
547
|
-
'Tool Selection Accuracy': ['tools', '
|
|
548
|
-
'Stepwise Progression': ['tools', '
|
|
547
|
+
'Tool Selection Accuracy': ['tools', 'intermediateSteps'],
|
|
548
|
+
'Stepwise Progression': ['tools', 'intermediateSteps'],
|
|
549
549
|
'Hallucination': ['query', 'context', 'output'],
|
|
550
550
|
'Groundedness': ['groundTruth', 'output'],
|
|
551
551
|
'Memory Utilization': ['context', 'messageHistory'],
|
|
552
|
-
'Input Relevancy (Multi-turn)': ['context', 'query']
|
|
552
|
+
'Input Relevancy (Multi-turn)': ['context', 'query'],
|
|
553
|
+
'PII Check':["query","output"],
|
|
554
|
+
'Prompt Injection':["query"]
|
|
553
555
|
}
|
|
554
556
|
if _returnDepMapping == True:
|
|
555
557
|
return metricDependencies
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
llumo/__init__.py,sha256=YVBkF1fiXFBd_zzySi9BDWgX8MJuLBJ-oF8538MrnDU,256
|
|
2
2
|
llumo/chains.py,sha256=6lCgLseh04RUgc6SahhmvQj82quay2Mi1j8gPUlx8Es,2923
|
|
3
|
-
llumo/client.py,sha256=
|
|
3
|
+
llumo/client.py,sha256=iVcdoGncHNrABl3qImBzwwQ_mf48M1Nte3nUEoSbQ2Y,64867
|
|
4
4
|
llumo/exceptions.py,sha256=Vp_MnanHbnd1Yjuoi6WLrKiwwZbJL3znCox2URMmGU4,2032
|
|
5
5
|
llumo/execution.py,sha256=nWbJ7AvWuUPcOb6i-JzKRna_PvF-ewZTiK8skS-5n3w,1380
|
|
6
6
|
llumo/functionCalling.py,sha256=D5jYapu1rIvdIJNUYPYMTyhQ1H-6nkwoOLMi6eekfUE,7241
|
|
7
7
|
llumo/google.py,sha256=3S_aRtbtlctCXPGR0u4baLlkyFrsjd02vlUCkoRPA5U,2147
|
|
8
|
-
llumo/helpingFuntions.py,sha256=
|
|
8
|
+
llumo/helpingFuntions.py,sha256=SmQvE3_9aOzKJa1wAmp6UhOfW1eWwkWcNn_Jwhw4TG8,25641
|
|
9
9
|
llumo/models.py,sha256=aVEZsOOoQx5LeNtwSyBxqvrINq0izH3QWu_YjsMPE6o,2910
|
|
10
10
|
llumo/openai.py,sha256=DGhEwQIJIIycGpw3hYQnyxdj6RFVpZ-gay-fZGqtkhU,3013
|
|
11
11
|
llumo/sockets.py,sha256=pBDo-U65hMIMwKMwZQl3iBkEjISEt-9BkXxZTWfSHF4,6116
|
|
12
|
-
llumo-0.2.
|
|
13
|
-
llumo-0.2.
|
|
14
|
-
llumo-0.2.
|
|
15
|
-
llumo-0.2.
|
|
16
|
-
llumo-0.2.
|
|
12
|
+
llumo-0.2.23.dist-info/licenses/LICENSE,sha256=tF9yAcfPV9xGT3ViWmC8hPvOo8BEk4ZICbUfcEo8Dlk,182
|
|
13
|
+
llumo-0.2.23.dist-info/METADATA,sha256=6FgzHIZZ7ZEWk1q7DDZIBantpqkk5SH-8EuPtNOPoyc,1558
|
|
14
|
+
llumo-0.2.23.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
15
|
+
llumo-0.2.23.dist-info/top_level.txt,sha256=d5zUTMI99llPtLRB8rtSrqELm_bOqX-bNC5IcwlDk88,6
|
|
16
|
+
llumo-0.2.23.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|