indoxJudge 0.0.0__tar.gz
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.
- indoxjudge-0.0.0/LICENSE +21 -0
- indoxjudge-0.0.0/MANIFEST.in +2 -0
- indoxjudge-0.0.0/PKG-INFO +228 -0
- indoxjudge-0.0.0/README.md +188 -0
- indoxjudge-0.0.0/indoxJudge/__init__.py +0 -0
- indoxjudge-0.0.0/indoxJudge/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/graph/__init__.py +2 -0
- indoxjudge-0.0.0/indoxJudge/graph/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/graph/__pycache__/visualization.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/graph/assets/style.css +188 -0
- indoxjudge-0.0.0/indoxJudge/graph/visualization.py +466 -0
- indoxjudge-0.0.0/indoxJudge/metrics/__init__.py +20 -0
- indoxjudge-0.0.0/indoxJudge/metrics/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/answer_relevancy/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/answer_relevancy/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/answer_relevancy/__pycache__/answerRelevancy.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/answer_relevancy/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/answer_relevancy/answerRelevancy.py +155 -0
- indoxjudge-0.0.0/indoxJudge/metrics/answer_relevancy/template.py +96 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bertscore/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bertscore/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bertscore/__pycache__/bertscore.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bertscore/bertscore.py +135 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bias/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bias/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bias/__pycache__/bias.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bias/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bias/bias.py +115 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bias/template.py +99 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bleu/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bleu/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bleu/__pycache__/bleu.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bleu/bleu.py +190 -0
- indoxjudge-0.0.0/indoxJudge/metrics/bleu/t.ipynb +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/contextual_relevancy/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/contextual_relevancy/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/contextual_relevancy/__pycache__/contextualRelevancy.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/contextual_relevancy/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/contextual_relevancy/contextualRelevancy.py +90 -0
- indoxjudge-0.0.0/indoxJudge/metrics/contextual_relevancy/template.py +67 -0
- indoxjudge-0.0.0/indoxJudge/metrics/fairness/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/fairness/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/fairness/__pycache__/fairness.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/fairness/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/fairness/fairness.py +76 -0
- indoxjudge-0.0.0/indoxJudge/metrics/fairness/template.py +50 -0
- indoxjudge-0.0.0/indoxJudge/metrics/faithfulness/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/faithfulness/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/faithfulness/__pycache__/faithfulness.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/faithfulness/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/faithfulness/faithfulness.py +141 -0
- indoxjudge-0.0.0/indoxJudge/metrics/faithfulness/template.py +145 -0
- indoxjudge-0.0.0/indoxJudge/metrics/g_eval/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/g_eval/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/g_eval/__pycache__/geval.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/g_eval/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/g_eval/geval.py +110 -0
- indoxjudge-0.0.0/indoxJudge/metrics/g_eval/template.py +48 -0
- indoxjudge-0.0.0/indoxJudge/metrics/gruen/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/gruen/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/gruen/__pycache__/gruen.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/gruen/gruen.py +415 -0
- indoxjudge-0.0.0/indoxJudge/metrics/hallucination/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/hallucination/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/hallucination/__pycache__/hallucination.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/hallucination/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/hallucination/hallucination.py +83 -0
- indoxjudge-0.0.0/indoxJudge/metrics/hallucination/template.py +62 -0
- indoxjudge-0.0.0/indoxJudge/metrics/harmfulness/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/harmfulness/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/harmfulness/__pycache__/harmfulness.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/harmfulness/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/harmfulness/harmfulness.py +74 -0
- indoxjudge-0.0.0/indoxJudge/metrics/harmfulness/template.py +56 -0
- indoxjudge-0.0.0/indoxJudge/metrics/knowledge_retention/KnowledgeRetention.py +173 -0
- indoxjudge-0.0.0/indoxJudge/metrics/knowledge_retention/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/knowledge_retention/__pycache__/KnowledgeRetention.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/knowledge_retention/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/knowledge_retention/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/knowledge_retention/template.py +173 -0
- indoxjudge-0.0.0/indoxJudge/metrics/machine_ethics/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/machine_ethics/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/machine_ethics/__pycache__/machineEthics.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/machine_ethics/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/machine_ethics/machineEthics.py +70 -0
- indoxjudge-0.0.0/indoxJudge/metrics/machine_ethics/template.py +55 -0
- indoxjudge-0.0.0/indoxJudge/metrics/meteor/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/meteor/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/meteor/__pycache__/meteor.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/meteor/meteor.py +160 -0
- indoxjudge-0.0.0/indoxJudge/metrics/misinformation/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/misinformation/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/misinformation/__pycache__/misinformation.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/misinformation/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/misinformation/misinformation.py +74 -0
- indoxjudge-0.0.0/indoxJudge/metrics/misinformation/template.py +55 -0
- indoxjudge-0.0.0/indoxJudge/metrics/privacy/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/privacy/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/privacy/__pycache__/privacy.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/privacy/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/privacy/privacy.py +74 -0
- indoxjudge-0.0.0/indoxJudge/metrics/privacy/template.py +55 -0
- indoxjudge-0.0.0/indoxJudge/metrics/rouge/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/rouge/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/rouge/__pycache__/rouge.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/rouge/rouge.py +219 -0
- indoxjudge-0.0.0/indoxJudge/metrics/stereotype_bias/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/stereotype_bias/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/stereotype_bias/__pycache__/stereotypeBias.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/stereotype_bias/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/stereotype_bias/stereotypeBias.py +71 -0
- indoxjudge-0.0.0/indoxJudge/metrics/stereotype_bias/template.py +56 -0
- indoxjudge-0.0.0/indoxJudge/metrics/toxicity/__init__.py +1 -0
- indoxjudge-0.0.0/indoxJudge/metrics/toxicity/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/toxicity/__pycache__/template.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/toxicity/__pycache__/toxicity.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/metrics/toxicity/template.py +92 -0
- indoxjudge-0.0.0/indoxJudge/metrics/toxicity/toxicity.py +113 -0
- indoxjudge-0.0.0/indoxJudge/models/__init__.py +6 -0
- indoxjudge-0.0.0/indoxJudge/models/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/models/__pycache__/googleai.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/models/__pycache__/huggingface.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/models/__pycache__/indox_api.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/models/__pycache__/mistral.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/models/__pycache__/openai.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/models/googleai.py +79 -0
- indoxjudge-0.0.0/indoxJudge/models/huggingface.py +111 -0
- indoxjudge-0.0.0/indoxJudge/models/indox_api.py +106 -0
- indoxjudge-0.0.0/indoxJudge/models/mistral.py +86 -0
- indoxjudge-0.0.0/indoxJudge/models/ollama.py +80 -0
- indoxjudge-0.0.0/indoxJudge/models/openai.py +88 -0
- indoxjudge-0.0.0/indoxJudge/piplines/__init__.py +7 -0
- indoxjudge-0.0.0/indoxJudge/piplines/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/customEvaluator/__init__.py +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/customEvaluator/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/customEvaluator/__pycache__/custom_evaluator.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/customEvaluator/custom_evaluator.py +311 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmComparison/__init__.py +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmComparison/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmComparison/__pycache__/llm_comparison.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmComparison/llm_comparison.py +8 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmEvaluator/__init__.py +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmEvaluator/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmEvaluator/__pycache__/llm_evaluator.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmEvaluator/graph/__init__.py +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmEvaluator/graph/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmEvaluator/graph/__pycache__/llm_comparison.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmEvaluator/graph/__pycache__/metrics_visualizer.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmEvaluator/graph/assets/style.css +121 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmEvaluator/graph/llm_comparison.py +474 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmEvaluator/graph/metrics_visualizer.py +367 -0
- indoxjudge-0.0.0/indoxJudge/piplines/llmEvaluator/llm_evaluator.py +224 -0
- indoxjudge-0.0.0/indoxJudge/piplines/ragEvaluator/__init__.py +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/ragEvaluator/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/ragEvaluator/__pycache__/rag_evaluator.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/ragEvaluator/graph/__init__.py +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/ragEvaluator/graph/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/ragEvaluator/graph/__pycache__/ragplot.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/ragEvaluator/graph/ragplot.py +188 -0
- indoxjudge-0.0.0/indoxJudge/piplines/ragEvaluator/rag_evaluator.py +176 -0
- indoxjudge-0.0.0/indoxJudge/piplines/safetyEvaluator/__init__.py +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/safetyEvaluator/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/safetyEvaluator/__pycache__/safety_evaluator.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/safetyEvaluator/graph/SafetyVisual.py +395 -0
- indoxjudge-0.0.0/indoxJudge/piplines/safetyEvaluator/graph/__init__.py +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/safetyEvaluator/graph/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/safetyEvaluator/graph/__pycache__/metrics_visualizer.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/piplines/safetyEvaluator/graph/assets/style.css +121 -0
- indoxjudge-0.0.0/indoxJudge/piplines/safetyEvaluator/graph/llm_comparison.py +395 -0
- indoxjudge-0.0.0/indoxJudge/piplines/safetyEvaluator/graph/metrics_visualizer.py +150 -0
- indoxjudge-0.0.0/indoxJudge/piplines/safetyEvaluator/safety_evaluator.py +112 -0
- indoxjudge-0.0.0/indoxJudge/utils/__init__.py +2 -0
- indoxjudge-0.0.0/indoxJudge/utils/__pycache__/__init__.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/utils/__pycache__/preprocessing.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/utils/__pycache__/utils.cpython-312.pyc +0 -0
- indoxjudge-0.0.0/indoxJudge/utils/preprocessing.py +118 -0
- indoxjudge-0.0.0/indoxJudge/utils/utils.py +17 -0
- indoxjudge-0.0.0/indoxJudge.egg-info/PKG-INFO +228 -0
- indoxjudge-0.0.0/indoxJudge.egg-info/SOURCES.txt +182 -0
- indoxjudge-0.0.0/indoxJudge.egg-info/dependency_links.txt +1 -0
- indoxjudge-0.0.0/indoxJudge.egg-info/requires.txt +19 -0
- indoxjudge-0.0.0/indoxJudge.egg-info/top_level.txt +1 -0
- indoxjudge-0.0.0/setup.cfg +4 -0
- indoxjudge-0.0.0/setup.py +42 -0
indoxjudge-0.0.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 osllm.ai
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: indoxJudge
|
|
3
|
+
Version: 0.0.0
|
|
4
|
+
Summary: Indox Judge
|
|
5
|
+
Home-page: https://github.com/osllmai/inDoxJudge
|
|
6
|
+
Author: osllm
|
|
7
|
+
Author-email: ashkan@nematifamilyfundation.onmicrosoft.com
|
|
8
|
+
License: MIT
|
|
9
|
+
Keywords: RAG,LLM
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Requires-Python: >=3.9
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: dash
|
|
22
|
+
Requires-Dist: dash_bootstrap_components
|
|
23
|
+
Requires-Dist: dash_daq
|
|
24
|
+
Requires-Dist: ipython
|
|
25
|
+
Requires-Dist: ipython
|
|
26
|
+
Requires-Dist: loguru
|
|
27
|
+
Requires-Dist: mistralai
|
|
28
|
+
Requires-Dist: nltk
|
|
29
|
+
Requires-Dist: numpy
|
|
30
|
+
Requires-Dist: pandas
|
|
31
|
+
Requires-Dist: plotly
|
|
32
|
+
Requires-Dist: plotly
|
|
33
|
+
Requires-Dist: protobuf
|
|
34
|
+
Requires-Dist: pydantic
|
|
35
|
+
Requires-Dist: Requests
|
|
36
|
+
Requires-Dist: tenacity
|
|
37
|
+
Requires-Dist: torch
|
|
38
|
+
Requires-Dist: tqdm
|
|
39
|
+
Requires-Dist: transformers
|
|
40
|
+
|
|
41
|
+
# IndoxJudge
|
|
42
|
+
|
|
43
|
+
Welcome to IndoxJudge! This repository provides a comprehensive suite of evaluation metrics for assessing the performance and quality of large language models (LLMs). Whether you're a researcher, developer, or enthusiast, this toolkit offers essential tools to measure various aspects of LLMs, including knowledge retention, bias, toxicity, and more.
|
|
44
|
+
|
|
45
|
+
## Overview
|
|
46
|
+
|
|
47
|
+
IndoxJudge is designed to provide a standardized and extensible framework for evaluating LLMs. With a focus on accuracy, fairness, and relevancy, this toolkit supports a wide range of evaluation metrics and is continuously updated to include the latest advancements in the field.
|
|
48
|
+
|
|
49
|
+
## Features
|
|
50
|
+
|
|
51
|
+
- **Comprehensive Metrics**: Evaluate LLMs across multiple dimensions, including accuracy, bias, toxicity, and contextual relevancy.
|
|
52
|
+
- **Extensible Framework**: Easily integrate new metrics or customize existing ones to suit specific needs.
|
|
53
|
+
- **User-Friendly Interface**: Intuitive and easy-to-use interface for seamless evaluation.
|
|
54
|
+
- **Continuous Updates**: Regular updates to incorporate new metrics and improvements.
|
|
55
|
+
|
|
56
|
+
## Supported Models
|
|
57
|
+
|
|
58
|
+
IndoxJudge currently supports the following LLM models:
|
|
59
|
+
|
|
60
|
+
- **OpenAi**
|
|
61
|
+
- **GoogleAi**
|
|
62
|
+
- **IndoxApi**
|
|
63
|
+
- **HuggingFaceModel**
|
|
64
|
+
- **Mistral**
|
|
65
|
+
- **Ollama**
|
|
66
|
+
|
|
67
|
+
## Metrics
|
|
68
|
+
|
|
69
|
+
IndoxJudge includes the following metrics, with more being added:
|
|
70
|
+
|
|
71
|
+
- **GEval**: General evaluation metric for LLMs.
|
|
72
|
+
- **KnowledgeRetention**: Assesses the ability of LLMs to retain factual information.
|
|
73
|
+
- **BertScore**: Measures the similarity between generated and reference sentences.
|
|
74
|
+
- **Toxicity**: Evaluates the presence of toxic content in model outputs.
|
|
75
|
+
- **Bias**: Analyzes the potential biases in LLM outputs.
|
|
76
|
+
- **Hallucination**: Identifies instances where the model generates false or misleading information.
|
|
77
|
+
- **Faithfulness**: Checks the alignment of generated content with source material.
|
|
78
|
+
- **ContextualRelevancy**: Assesses the relevance of responses in context.
|
|
79
|
+
- **Rouge**: Measures the overlap of n-grams between generated and reference texts.
|
|
80
|
+
- **BLEU**: Evaluates the quality of text generation based on precision.
|
|
81
|
+
- **AnswerRelevancy**: Assesses the relevance of answers to questions.
|
|
82
|
+
- **METEOR**: Evaluates machine translation quality.
|
|
83
|
+
- **Gruen**: Measures the quality of generated text by assessing grammaticality, redundancy, and focus.
|
|
84
|
+
|
|
85
|
+
## Installation
|
|
86
|
+
|
|
87
|
+
To install IndoxJudge, follow these steps:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
git clone https://github.com/yourusername/indoxjudge.git
|
|
91
|
+
cd indoxjudge
|
|
92
|
+
```
|
|
93
|
+
## Setting Up the Python Environment
|
|
94
|
+
|
|
95
|
+
If you are running this project in your local IDE, please create a Python environment to ensure all dependencies are correctly managed. You can follow the steps below to set up a virtual environment named `indox_judge`:
|
|
96
|
+
|
|
97
|
+
### Windows
|
|
98
|
+
|
|
99
|
+
1. **Create the virtual environment:**
|
|
100
|
+
```bash
|
|
101
|
+
python -m venv indox_judge
|
|
102
|
+
```
|
|
103
|
+
2. **Activate the virtual environment:**
|
|
104
|
+
```bash
|
|
105
|
+
indox_judge\Scripts\activate
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### macOS/Linux
|
|
109
|
+
|
|
110
|
+
1. **Create the virtual environment:**
|
|
111
|
+
```bash
|
|
112
|
+
python3 -m venv indox_judge
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
2. **Activate the virtual environment:**
|
|
116
|
+
```bash
|
|
117
|
+
source indox_judge/bin/activate
|
|
118
|
+
```
|
|
119
|
+
### Install Dependencies
|
|
120
|
+
|
|
121
|
+
Once the virtual environment is activated, install the required dependencies by running:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
pip install -r requirements.txt
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
## Usage
|
|
131
|
+
|
|
132
|
+
To use IndoxJudge, load your API key, select the model, and choose the evaluation metrics. Here's an example demonstrating how to evaluate a model's response for faithfulness:
|
|
133
|
+
|
|
134
|
+
```python
|
|
135
|
+
import os
|
|
136
|
+
from dotenv import load_dotenv
|
|
137
|
+
|
|
138
|
+
# Load environment variables
|
|
139
|
+
load_dotenv()
|
|
140
|
+
INDOX_API_KEY = os.getenv("INDOX_API_KEY")
|
|
141
|
+
|
|
142
|
+
# Import IndoxJudge and supported models
|
|
143
|
+
from indoxJudge.piplines import CustomEvaluator
|
|
144
|
+
from indoxJudge.models import IndoxApi
|
|
145
|
+
from indoxJudge.metrics import Faithfulness
|
|
146
|
+
|
|
147
|
+
# Initialize the model with your API key
|
|
148
|
+
model = IndoxApi(api_key=INDOX_API_KEY)
|
|
149
|
+
|
|
150
|
+
# Define your query and retrieval context
|
|
151
|
+
query = "What are the benefits of a Mediterranean diet?"
|
|
152
|
+
retrieval_context = [
|
|
153
|
+
"The Mediterranean diet emphasizes eating primarily plant-based foods, such as fruits and vegetables, whole grains, legumes, and nuts. It also includes moderate amounts of fish and poultry, and low consumption of red meat. Olive oil is the main source of fat, providing monounsaturated fats which are beneficial for heart health.",
|
|
154
|
+
"Research has shown that the Mediterranean diet can reduce the risk of heart disease, stroke, and type 2 diabetes. It is also associated with improved cognitive function and a lower risk of Alzheimer's disease. The diet's high content of fiber, antioxidants, and healthy fats contributes to its numerous health benefits.",
|
|
155
|
+
"A Mediterranean diet has been linked to a longer lifespan and a reduced risk of chronic diseases. It promotes healthy aging and weight management due to its emphasis on whole, unprocessed foods and balanced nutrition."
|
|
156
|
+
]
|
|
157
|
+
|
|
158
|
+
# Obtain the model's response
|
|
159
|
+
response = "The Mediterranean diet is known for its health benefits, including reducing the risk of heart disease, stroke, and diabetes. It encourages the consumption of fruits, vegetables, whole grains, nuts, and olive oil, while limiting red meat. Additionally, this diet has been associated with better cognitive function and a reduced risk of Alzheimer's disease, promoting longevity and overall well-being."
|
|
160
|
+
|
|
161
|
+
# Initialize the Faithfulness metric
|
|
162
|
+
faithfulness_metrics = Faithfulness(llm_response=response, retrieval_context=retrieval_context)
|
|
163
|
+
|
|
164
|
+
# Create an evaluator with the selected metrics
|
|
165
|
+
evaluator = CustomEvaluator(metrics=[faithfulness_metrics], model=model)
|
|
166
|
+
|
|
167
|
+
# Evaluate the response
|
|
168
|
+
faithfulness_result = evaluator.evaluate()
|
|
169
|
+
|
|
170
|
+
# Output the evaluation result
|
|
171
|
+
print(faithfulness_result)
|
|
172
|
+
```
|
|
173
|
+
## Example Output
|
|
174
|
+
|
|
175
|
+
```json
|
|
176
|
+
{
|
|
177
|
+
"faithfulness": {
|
|
178
|
+
"claims": [
|
|
179
|
+
"The Mediterranean diet is known for its health benefits.",
|
|
180
|
+
"The Mediterranean diet reduces the risk of heart disease.",
|
|
181
|
+
"The Mediterranean diet reduces the risk of stroke.",
|
|
182
|
+
"The Mediterranean diet reduces the risk of diabetes.",
|
|
183
|
+
"The Mediterranean diet encourages the consumption of fruits.",
|
|
184
|
+
"The Mediterranean diet encourages the consumption of vegetables.",
|
|
185
|
+
"The Mediterranean diet encourages the consumption of whole grains.",
|
|
186
|
+
"The Mediterranean diet encourages the consumption of nuts.",
|
|
187
|
+
"The Mediterranean diet encourages the consumption of olive oil.",
|
|
188
|
+
"The Mediterranean diet limits red meat consumption.",
|
|
189
|
+
"The Mediterranean diet is associated with better cognitive function.",
|
|
190
|
+
"The Mediterranean diet is associated with a reduced risk of Alzheimer's disease.",
|
|
191
|
+
"The Mediterranean diet promotes longevity.",
|
|
192
|
+
"The Mediterranean diet promotes overall well-being."
|
|
193
|
+
],
|
|
194
|
+
"truths": [
|
|
195
|
+
"The Mediterranean diet is known for its health benefits.",
|
|
196
|
+
"The Mediterranean diet reduces the risk of heart disease, stroke, and diabetes.",
|
|
197
|
+
"The Mediterranean diet encourages the consumption of fruits, vegetables, whole grains, nuts, and olive oil.",
|
|
198
|
+
"The Mediterranean diet limits red meat consumption.",
|
|
199
|
+
"The Mediterranean diet has been associated with better cognitive function.",
|
|
200
|
+
"The Mediterranean diet has been associated with a reduced risk of Alzheimer's disease.",
|
|
201
|
+
"The Mediterranean diet promotes longevity and overall well-being."
|
|
202
|
+
],
|
|
203
|
+
"reason": "The score is 1.0 because the 'actual output' aligns perfectly with the information presented in the 'retrieval context', showcasing the health benefits, disease risk reduction, cognitive function improvement, and overall well-being promotion of the Mediterranean diet."
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
## Roadmap
|
|
208
|
+
|
|
209
|
+
We have an exciting roadmap planned for IndoxJudge:
|
|
210
|
+
|
|
211
|
+
| Plan |
|
|
212
|
+
| -------------------------------------------------------------------- |
|
|
213
|
+
| Integration of additional metrics such as Diversity and Coherence. |
|
|
214
|
+
| Introduction of a graphical user interface (GUI) for easier evaluation. |
|
|
215
|
+
| Expansion of the toolkit to support evaluation in multiple languages. |
|
|
216
|
+
| Release of a benchmarking suite for standardizing LLM evaluations. |
|
|
217
|
+
|
|
218
|
+
## Contributing
|
|
219
|
+
|
|
220
|
+
We welcome contributions from the community! If you'd like to contribute, please fork the repository and create a pull request. For major changes, please open an issue first to discuss what you would like to change.
|
|
221
|
+
|
|
222
|
+
1. Fork the repository
|
|
223
|
+
2. Create a new branch (`git checkout -b feature-branch`)
|
|
224
|
+
3. Commit your changes (`git commit -am 'Add new feature'`)
|
|
225
|
+
4. Push to the branch (`git push origin feature-branch`)
|
|
226
|
+
5. Create a pull request
|
|
227
|
+
|
|
228
|
+
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# IndoxJudge
|
|
2
|
+
|
|
3
|
+
Welcome to IndoxJudge! This repository provides a comprehensive suite of evaluation metrics for assessing the performance and quality of large language models (LLMs). Whether you're a researcher, developer, or enthusiast, this toolkit offers essential tools to measure various aspects of LLMs, including knowledge retention, bias, toxicity, and more.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
IndoxJudge is designed to provide a standardized and extensible framework for evaluating LLMs. With a focus on accuracy, fairness, and relevancy, this toolkit supports a wide range of evaluation metrics and is continuously updated to include the latest advancements in the field.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- **Comprehensive Metrics**: Evaluate LLMs across multiple dimensions, including accuracy, bias, toxicity, and contextual relevancy.
|
|
12
|
+
- **Extensible Framework**: Easily integrate new metrics or customize existing ones to suit specific needs.
|
|
13
|
+
- **User-Friendly Interface**: Intuitive and easy-to-use interface for seamless evaluation.
|
|
14
|
+
- **Continuous Updates**: Regular updates to incorporate new metrics and improvements.
|
|
15
|
+
|
|
16
|
+
## Supported Models
|
|
17
|
+
|
|
18
|
+
IndoxJudge currently supports the following LLM models:
|
|
19
|
+
|
|
20
|
+
- **OpenAi**
|
|
21
|
+
- **GoogleAi**
|
|
22
|
+
- **IndoxApi**
|
|
23
|
+
- **HuggingFaceModel**
|
|
24
|
+
- **Mistral**
|
|
25
|
+
- **Ollama**
|
|
26
|
+
|
|
27
|
+
## Metrics
|
|
28
|
+
|
|
29
|
+
IndoxJudge includes the following metrics, with more being added:
|
|
30
|
+
|
|
31
|
+
- **GEval**: General evaluation metric for LLMs.
|
|
32
|
+
- **KnowledgeRetention**: Assesses the ability of LLMs to retain factual information.
|
|
33
|
+
- **BertScore**: Measures the similarity between generated and reference sentences.
|
|
34
|
+
- **Toxicity**: Evaluates the presence of toxic content in model outputs.
|
|
35
|
+
- **Bias**: Analyzes the potential biases in LLM outputs.
|
|
36
|
+
- **Hallucination**: Identifies instances where the model generates false or misleading information.
|
|
37
|
+
- **Faithfulness**: Checks the alignment of generated content with source material.
|
|
38
|
+
- **ContextualRelevancy**: Assesses the relevance of responses in context.
|
|
39
|
+
- **Rouge**: Measures the overlap of n-grams between generated and reference texts.
|
|
40
|
+
- **BLEU**: Evaluates the quality of text generation based on precision.
|
|
41
|
+
- **AnswerRelevancy**: Assesses the relevance of answers to questions.
|
|
42
|
+
- **METEOR**: Evaluates machine translation quality.
|
|
43
|
+
- **Gruen**: Measures the quality of generated text by assessing grammaticality, redundancy, and focus.
|
|
44
|
+
|
|
45
|
+
## Installation
|
|
46
|
+
|
|
47
|
+
To install IndoxJudge, follow these steps:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
git clone https://github.com/yourusername/indoxjudge.git
|
|
51
|
+
cd indoxjudge
|
|
52
|
+
```
|
|
53
|
+
## Setting Up the Python Environment
|
|
54
|
+
|
|
55
|
+
If you are running this project in your local IDE, please create a Python environment to ensure all dependencies are correctly managed. You can follow the steps below to set up a virtual environment named `indox_judge`:
|
|
56
|
+
|
|
57
|
+
### Windows
|
|
58
|
+
|
|
59
|
+
1. **Create the virtual environment:**
|
|
60
|
+
```bash
|
|
61
|
+
python -m venv indox_judge
|
|
62
|
+
```
|
|
63
|
+
2. **Activate the virtual environment:**
|
|
64
|
+
```bash
|
|
65
|
+
indox_judge\Scripts\activate
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### macOS/Linux
|
|
69
|
+
|
|
70
|
+
1. **Create the virtual environment:**
|
|
71
|
+
```bash
|
|
72
|
+
python3 -m venv indox_judge
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
2. **Activate the virtual environment:**
|
|
76
|
+
```bash
|
|
77
|
+
source indox_judge/bin/activate
|
|
78
|
+
```
|
|
79
|
+
### Install Dependencies
|
|
80
|
+
|
|
81
|
+
Once the virtual environment is activated, install the required dependencies by running:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
pip install -r requirements.txt
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## Usage
|
|
91
|
+
|
|
92
|
+
To use IndoxJudge, load your API key, select the model, and choose the evaluation metrics. Here's an example demonstrating how to evaluate a model's response for faithfulness:
|
|
93
|
+
|
|
94
|
+
```python
|
|
95
|
+
import os
|
|
96
|
+
from dotenv import load_dotenv
|
|
97
|
+
|
|
98
|
+
# Load environment variables
|
|
99
|
+
load_dotenv()
|
|
100
|
+
INDOX_API_KEY = os.getenv("INDOX_API_KEY")
|
|
101
|
+
|
|
102
|
+
# Import IndoxJudge and supported models
|
|
103
|
+
from indoxJudge.piplines import CustomEvaluator
|
|
104
|
+
from indoxJudge.models import IndoxApi
|
|
105
|
+
from indoxJudge.metrics import Faithfulness
|
|
106
|
+
|
|
107
|
+
# Initialize the model with your API key
|
|
108
|
+
model = IndoxApi(api_key=INDOX_API_KEY)
|
|
109
|
+
|
|
110
|
+
# Define your query and retrieval context
|
|
111
|
+
query = "What are the benefits of a Mediterranean diet?"
|
|
112
|
+
retrieval_context = [
|
|
113
|
+
"The Mediterranean diet emphasizes eating primarily plant-based foods, such as fruits and vegetables, whole grains, legumes, and nuts. It also includes moderate amounts of fish and poultry, and low consumption of red meat. Olive oil is the main source of fat, providing monounsaturated fats which are beneficial for heart health.",
|
|
114
|
+
"Research has shown that the Mediterranean diet can reduce the risk of heart disease, stroke, and type 2 diabetes. It is also associated with improved cognitive function and a lower risk of Alzheimer's disease. The diet's high content of fiber, antioxidants, and healthy fats contributes to its numerous health benefits.",
|
|
115
|
+
"A Mediterranean diet has been linked to a longer lifespan and a reduced risk of chronic diseases. It promotes healthy aging and weight management due to its emphasis on whole, unprocessed foods and balanced nutrition."
|
|
116
|
+
]
|
|
117
|
+
|
|
118
|
+
# Obtain the model's response
|
|
119
|
+
response = "The Mediterranean diet is known for its health benefits, including reducing the risk of heart disease, stroke, and diabetes. It encourages the consumption of fruits, vegetables, whole grains, nuts, and olive oil, while limiting red meat. Additionally, this diet has been associated with better cognitive function and a reduced risk of Alzheimer's disease, promoting longevity and overall well-being."
|
|
120
|
+
|
|
121
|
+
# Initialize the Faithfulness metric
|
|
122
|
+
faithfulness_metrics = Faithfulness(llm_response=response, retrieval_context=retrieval_context)
|
|
123
|
+
|
|
124
|
+
# Create an evaluator with the selected metrics
|
|
125
|
+
evaluator = CustomEvaluator(metrics=[faithfulness_metrics], model=model)
|
|
126
|
+
|
|
127
|
+
# Evaluate the response
|
|
128
|
+
faithfulness_result = evaluator.evaluate()
|
|
129
|
+
|
|
130
|
+
# Output the evaluation result
|
|
131
|
+
print(faithfulness_result)
|
|
132
|
+
```
|
|
133
|
+
## Example Output
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"faithfulness": {
|
|
138
|
+
"claims": [
|
|
139
|
+
"The Mediterranean diet is known for its health benefits.",
|
|
140
|
+
"The Mediterranean diet reduces the risk of heart disease.",
|
|
141
|
+
"The Mediterranean diet reduces the risk of stroke.",
|
|
142
|
+
"The Mediterranean diet reduces the risk of diabetes.",
|
|
143
|
+
"The Mediterranean diet encourages the consumption of fruits.",
|
|
144
|
+
"The Mediterranean diet encourages the consumption of vegetables.",
|
|
145
|
+
"The Mediterranean diet encourages the consumption of whole grains.",
|
|
146
|
+
"The Mediterranean diet encourages the consumption of nuts.",
|
|
147
|
+
"The Mediterranean diet encourages the consumption of olive oil.",
|
|
148
|
+
"The Mediterranean diet limits red meat consumption.",
|
|
149
|
+
"The Mediterranean diet is associated with better cognitive function.",
|
|
150
|
+
"The Mediterranean diet is associated with a reduced risk of Alzheimer's disease.",
|
|
151
|
+
"The Mediterranean diet promotes longevity.",
|
|
152
|
+
"The Mediterranean diet promotes overall well-being."
|
|
153
|
+
],
|
|
154
|
+
"truths": [
|
|
155
|
+
"The Mediterranean diet is known for its health benefits.",
|
|
156
|
+
"The Mediterranean diet reduces the risk of heart disease, stroke, and diabetes.",
|
|
157
|
+
"The Mediterranean diet encourages the consumption of fruits, vegetables, whole grains, nuts, and olive oil.",
|
|
158
|
+
"The Mediterranean diet limits red meat consumption.",
|
|
159
|
+
"The Mediterranean diet has been associated with better cognitive function.",
|
|
160
|
+
"The Mediterranean diet has been associated with a reduced risk of Alzheimer's disease.",
|
|
161
|
+
"The Mediterranean diet promotes longevity and overall well-being."
|
|
162
|
+
],
|
|
163
|
+
"reason": "The score is 1.0 because the 'actual output' aligns perfectly with the information presented in the 'retrieval context', showcasing the health benefits, disease risk reduction, cognitive function improvement, and overall well-being promotion of the Mediterranean diet."
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
## Roadmap
|
|
168
|
+
|
|
169
|
+
We have an exciting roadmap planned for IndoxJudge:
|
|
170
|
+
|
|
171
|
+
| Plan |
|
|
172
|
+
| -------------------------------------------------------------------- |
|
|
173
|
+
| Integration of additional metrics such as Diversity and Coherence. |
|
|
174
|
+
| Introduction of a graphical user interface (GUI) for easier evaluation. |
|
|
175
|
+
| Expansion of the toolkit to support evaluation in multiple languages. |
|
|
176
|
+
| Release of a benchmarking suite for standardizing LLM evaluations. |
|
|
177
|
+
|
|
178
|
+
## Contributing
|
|
179
|
+
|
|
180
|
+
We welcome contributions from the community! If you'd like to contribute, please fork the repository and create a pull request. For major changes, please open an issue first to discuss what you would like to change.
|
|
181
|
+
|
|
182
|
+
1. Fork the repository
|
|
183
|
+
2. Create a new branch (`git checkout -b feature-branch`)
|
|
184
|
+
3. Commit your changes (`git commit -am 'Add new feature'`)
|
|
185
|
+
4. Push to the branch (`git push origin feature-branch`)
|
|
186
|
+
5. Create a pull request
|
|
187
|
+
|
|
188
|
+
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/* Light Theme */
|
|
2
|
+
.bg-light-custom {
|
|
3
|
+
background: rgb(246, 246, 246) !important;
|
|
4
|
+
color: black !important;
|
|
5
|
+
transition: all 0.2s;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.header {
|
|
9
|
+
position: relative;
|
|
10
|
+
top: 10px;
|
|
11
|
+
padding: 15px 63px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.navbar-custom {
|
|
15
|
+
justify-content: center;
|
|
16
|
+
margin: 20px 0 50px 0;
|
|
17
|
+
background-color: rgb(255, 255, 255);
|
|
18
|
+
color: black;
|
|
19
|
+
padding: 20px;
|
|
20
|
+
border-radius: 8px;
|
|
21
|
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.nav-link {
|
|
25
|
+
color: black !important;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.nav-link:hover {
|
|
29
|
+
color: rgb(255, 255, 255) !important;
|
|
30
|
+
background-color: rgb(53, 92, 125);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.col-12 {
|
|
34
|
+
padding: 0;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.card-header {
|
|
38
|
+
background-color: transparent;
|
|
39
|
+
border: none;
|
|
40
|
+
padding: 0 20px;
|
|
41
|
+
margin-bottom: 10px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.cart-title {
|
|
45
|
+
font-size: 26px;
|
|
46
|
+
font-family: 'Roboto', sans-serif;
|
|
47
|
+
color: rgb(53, 92, 125);
|
|
48
|
+
text-align: center;
|
|
49
|
+
margin-bottom: 10px;
|
|
50
|
+
padding-bottom: 10px;
|
|
51
|
+
border-bottom: 2px solid rgba(53, 92, 125, 0.3);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.card-text {
|
|
55
|
+
height: 100%;
|
|
56
|
+
color: black;
|
|
57
|
+
backdrop-filter: blur(80px);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.card-body {
|
|
61
|
+
border: none;
|
|
62
|
+
box-shadow: 0 1px 3px 2px rgba(0, 0, 0, 0.1);
|
|
63
|
+
margin-bottom: 20px;
|
|
64
|
+
border-radius: 8px;
|
|
65
|
+
padding: 40px;
|
|
66
|
+
background-color: aliceblue;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.btn-gtt {
|
|
70
|
+
background-color: rgba(215, 215, 215, 0.891);
|
|
71
|
+
border: none;
|
|
72
|
+
outline: none;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.btn-gtt:hover {
|
|
76
|
+
background-color: rgb(181, 181, 181);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.change-bg {
|
|
80
|
+
display: flex;
|
|
81
|
+
align-items: center;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.modebtn {
|
|
85
|
+
margin: 0 14px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* sun icon */
|
|
89
|
+
.bi-brightness-high-fill {
|
|
90
|
+
font-size: 24px;
|
|
91
|
+
color: rgb(255, 165, 0); /* Orange color */
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* moon icon */
|
|
95
|
+
.bi-moon-fill {
|
|
96
|
+
font-size: 24px;
|
|
97
|
+
color: rgb(72, 61, 139); /* Dark Slate Blue color */
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.form-check-input {
|
|
101
|
+
background-color: rgb(233, 233, 233);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* toggle body */
|
|
105
|
+
.sc-bxivhb {
|
|
106
|
+
background-color: rgb(233, 233, 233);
|
|
107
|
+
margin: 0 5px;
|
|
108
|
+
border: 1px solid rgb(218, 218, 218);
|
|
109
|
+
width: 52px;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/* toggle circle */
|
|
113
|
+
.sc-ifAKCX {
|
|
114
|
+
background-color: rgb(133, 133, 133);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* toggle body */
|
|
118
|
+
.daq-toggleswitch--light__indicator--off {
|
|
119
|
+
background-color: rgb(217, 217, 217);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.daq-toggleswitch--light__indicator--on {
|
|
123
|
+
background-color: rgb(33, 33, 33);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* Dark Theme */
|
|
127
|
+
.bg-dark-custom {
|
|
128
|
+
background-color: rgb(48, 48, 48);
|
|
129
|
+
color: white;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.navbar-custom-dark {
|
|
133
|
+
justify-content: center;
|
|
134
|
+
margin: 20px 0 50px 0;
|
|
135
|
+
background-color: rgb(64, 64, 64);
|
|
136
|
+
color: rgb(217, 217, 217);
|
|
137
|
+
padding: 20px;
|
|
138
|
+
border-radius: 8px;
|
|
139
|
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
|
140
|
+
transition: all 0.2s;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.nav-link-dark {
|
|
144
|
+
color: white !important;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.card-header-dark {
|
|
148
|
+
border: none;
|
|
149
|
+
margin-bottom: 20px;
|
|
150
|
+
border-radius: 8px;
|
|
151
|
+
padding: 0 20px;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.cart-title-dark {
|
|
155
|
+
font-size: 26px;
|
|
156
|
+
font-family: 'Roboto', sans-serif;
|
|
157
|
+
color: rgb(255, 215, 0); /* Gold color */
|
|
158
|
+
text-align: center;
|
|
159
|
+
margin-bottom: 10px;
|
|
160
|
+
padding-bottom: 10px;
|
|
161
|
+
border-bottom: 2px solid rgba(255, 215, 0, 0.3);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.card-text-dark {
|
|
165
|
+
height: 100%;
|
|
166
|
+
color: white;
|
|
167
|
+
backdrop-filter: blur(80px);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.card-body-dark {
|
|
171
|
+
border: none;
|
|
172
|
+
box-shadow: 0 1px 3px 2px rgba(0, 0, 0, 0.2);
|
|
173
|
+
margin-bottom: 20px;
|
|
174
|
+
border-radius: 8px;
|
|
175
|
+
padding: 40px;
|
|
176
|
+
background-color: rgb(64, 64, 64);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/* button */
|
|
180
|
+
.btn-gtt-dark {
|
|
181
|
+
background-color: rgba(105, 105, 105, 0.891);
|
|
182
|
+
border: none;
|
|
183
|
+
outline: none;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.btn-gtt-dark:hover {
|
|
187
|
+
background-color: rgb(85, 85, 85);
|
|
188
|
+
}
|