Skip to main content

A framework to analyse the consistency of repeated requests to an LLM or LLM based Agent

Project description

Setup Poetry, check formatting and style, and run the tests

LLM Response Analysis Framework

Welcome to a LLM Response Analysis Framework! This tool is designed to dive deep into the heart of Language Models (LLMs) and their intriguing responses. Designed for researchers, developers, and LLM enthusiasts, the framework offers a way to examine the consistency of Large Language Models and Agents build on them.

Features | Screenshots | Getting Started | Development

Current Version

Rev: v0.0.0

Features

  • Dynamic LLM Integration Seamlessly connect with various LLM providers and models to fetch responses using a flexible architecture.

  • Semantic Similarity Calculation Understand the nuanced differences between responses by calculating their semantic distances.

  • Diverse Response Analysis Group, count, and analyze responses to highlight both their uniqueness and redundancy.

  • Rich Presentation Utilize beautiful tables and text differences to present analysis results in an understandable and visually appealing manner.

Screenshots

Below are some screenshots showcasing the framework in action:

GPT-3.5 Example

GPT-3.5 Analysis

GPT-4 Example

GPT-4 Analysis

These visuals provide a glimpse into how the framework processes and presents data from different LLM versions, highlighting the flexibility and depth of analysis possible with this tool.

Getting Started

Prerequisites

  • Ensure you have Python 3.10 or higher installed on your system.

Installation

Install det using pip:

pip install det

Configuration

Before using det, configure your LLM and embeddings provider API keys

export OPENAI_API_KEY=sk-makeSureThisIsaRealKey

Basic Usage

To get a list of all the arguments and their descriptions, use:

det --help

a basic analysis of OpenAI's gpt3.5-turbo model

det --iterations 2 --llm-provider OpenAI --llm-model gpt-3.5-turbo --embeddings-provider OpenAI --embeddings-model text-embedding-ada-002

Development

Documentation

The documentation is in the module headings. I'll probably move it out at some point but that's good for now :)

Support and Contribution

For support, please open an issue on the GitHub repository. Contributions are welcome.

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

det-0.2.1.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

det-0.2.1-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file det-0.2.1.tar.gz.

File metadata

  • Download URL: det-0.2.1.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.10.13 Linux/6.5.0-1015-azure

File hashes

Hashes for det-0.2.1.tar.gz
Algorithm Hash digest
SHA256 eb6d75d76d845c0338d3390288e99c842130a5808951620d8c797bd51b15ce2d
MD5 bc5a298e756169189dceb79bbbb2dd92
BLAKE2b-256 097e8aca5ebb4cb416905b8f8045ecefd0e8b98315142818f37ca329d5d903b0

See more details on using hashes here.

File details

Details for the file det-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: det-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.10.13 Linux/6.5.0-1015-azure

File hashes

Hashes for det-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2d846f90ce10a4e6b5bba70ad58bb28f90c8bfff18dd8f8c5e793c225181fb7d
MD5 4fc861f8fdc7b4fc03b0cf921c8b5e10
BLAKE2b-256 fbfa3c70fea36b0ea148f283c1ca4cdaad9be90b936d7ba801145724e79f49f2

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