Skip to main content

Allow users to calculate RAG metrics

Project description

CustomGPT Metrics SDK

CustomGPT Metrics is a Python SDK designed to analyze and evaluate chatbot interactions using various metrics. This SDK seamlessly integrates with the CustomGPT platform, offering a straightforward way to assess chatbot performance.

Installation

To install the CustomGPT Metrics SDK, use the following pip command:

pip install customgpt_metrics

Usage

  1. First basic way to use the metrics sdk is to pass a dict and the sdk will out the metric using analyze_log method.
from customgpt_metrics import CustomGPTMetrics

# Initialize the CustomGPTMetrics object
metrics = CustomGPTMetrics(api_key="your_api_key_here")

# Define a sample chat interaction
input_chat = {
    'user_query': 'Can I upload my PDF files to build the ChatGPT chatbot?',
    'openai_query': """Using only the following context, answer the questions.
    If context has no information about the question say sorry you can't answer as you don't have enough knowledge about that subject.
    You are a custom chatbot assistant called CustomGPT that answers questions based on the given context.
    Be as helpful as possible.
    ...
    --END OF CONTEXT--""",
    'openai_response': 'Yes, you can upload your PDF files to build the ChatGPT chatbot. The platform supports uploading documents in 1400+ formats, including PDFs, Microsoft Office docs, Google docs, and audio files. You can simply go to your CustomGPT dashboard and upload the documents to build your custom chatbots in minutes.'
}

# Analyze the chat interaction
output = metrics.analyze_log(input_chat)

# Access individual metric values
print(f"Context Check: {output.context_check}")
print(f"Emotion Check: {output.emotion_check}")
print(f"Intent Check: {output.intent_check}")
print(f"Language Check: {output.language_check}")
  1. The other way to use inject logs to the sdk is by using MySQL Database url passed to analyze_logs and allows streaming to get output for each metric.
from customgpt_metrics import CustomGPTMetrics

metrics = CustomGPTMetrics(api_key="your_api_key_here")
metric_outputs = metrics.stream_analyze_logs("mysql://root:password@localhost/customgpt", limit=10)
for output in metric_outputs:
    print(output)
  1. The other way to use inject logs to the sdk is by using MySQL Database url passed to analyze_logs and allows to get output as list.
from customgpt_metrics import CustomGPTMetrics

metrics = CustomGPTMetrics(api_key="your_api_key_here")
metric_outputs = metrics.stream_analyze_logs("mysql://root:password@localhost/customgpt", limit=10, metrics=['emotion', 'context', 'language', 'intent'])

for output in metric_outputs:
    print(output)

Easy Metric Addition Capability

To add more metrics to the output all you need to do is add another python file to metrics directory. It should be subclass of BaseMetric

class BaseMetric:
    key = None
    
    def __init__(self, api_key, base_url, model_provider='openai'):
        pass
    def evaluate(self, log_entry):
        # Add logic to evaluate the metric based on the adapted log entry
        pass

Make sure to replace "your_api_key_here" with your actual OpenAI API key.

The SDK allows for easy analysis of various metrics and provides flexibility to customize metrics based on your requirements. The output is a parsed Metric object containing the evaluated metric values.

Explore the additional features and metrics provided by the CustomGPT Metrics SDK to tailor the analysis to your specific use case.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

customgpt_metrics-0.1.8.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

customgpt_metrics-0.1.8-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file customgpt_metrics-0.1.8.tar.gz.

File metadata

  • Download URL: customgpt_metrics-0.1.8.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.8.10 Linux/5.15.0-89-generic

File hashes

Hashes for customgpt_metrics-0.1.8.tar.gz
Algorithm Hash digest
SHA256 b22ab211b9658df6fb8a1d3ef9996626e21ae533411bfa20c0ffafe7b45339d9
MD5 1605ad16d6e67b047dfa4e007b343527
BLAKE2b-256 e44d430227585e7535e5c4b8585a1243e8e5b9919173a5a81ed5a4d4f2fd21d6

See more details on using hashes here.

File details

Details for the file customgpt_metrics-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: customgpt_metrics-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.8.10 Linux/5.15.0-89-generic

File hashes

Hashes for customgpt_metrics-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 ab7faa65294540bc091c020aab1ce00e376671f4c796baa537841091cf9eed12
MD5 a636cf0d0c610c3c677bb0c23d4927c7
BLAKE2b-256 1ba94438f35924dadc74bb6994c2a4917c124dcf7ca5e419f058a697a7379097

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page