Skip to main content

paramount

Business Evaluations for LLM Chats - let your agents easily evaluate AI chat accuracy.

Getting Started

  1. Install the package:
pip install paramount
  1. Decorate your AI function:
@paramount.record()
def my_ai_function(message_history, new_question): # Inputs
    # <LLM invocations happen here>
    new_message = {'role': 'user', 'content': new_question}
    updated_history = message_history + [new_message]
    return updated_history  # Outputs.
  1. After my_ai_function(...) has run several times, launch the Paramount UI to evaluate results:
paramount

Your SMEs can now evaluate recordings and track accuracy improvements over time.

Paramount runs completely offline in your private environment.

Usage

After installation, run python example.py for a minimal working example.

Configuration

In order to set up successfully, define which input and output parameters represent the chat list used in the LLM.

This is done via the paramount.toml configuration file that you add in your project root dir.

It will be autogenerated for you with defaults if it doesn't already exist on first run.

[record]
enabled = true
function_url = "http://localhost:9000"  # The url to your LLM API flask app, for replay

[db]
type = "csv" # postgres also available
	[db.postgres]
	connection_string = ""

[api]
endpoint = "http://localhost" # url and port for paramount UI/API
port = 9001
split_by_id = false # In case you have several bots and want to split them by ID
identifier_colname = ""

[ui]  # These are display elements for the UI

# For the table display - define which columns should be shown
meta_cols = ['recorded_at']
input_cols = ['args__message_history', 'args__new_question']  # Matches my_ai_function() example
output_cols = ['1', '2']  # 1 and 2 are indexes for llm_answer and llm_references in example above

# For the chat display - describe how your chat structure is set up. This example uses OpenAI format.
chat_list = "output__1"  # Matches output updated_history. Must be a list of dicts to display chat format
chat_list_role_param = "role"  # Key in list of dicts describing the role in the chat
chat_list_content_param = "content"  # Key in list of dicts describing the content

It is also possible to describe references via config but is not shown here for simplicity.

See paramount.toml.example for more info.

For Developers

The deeper configuration instructions about the client & server can be seen here.

Docker

By using Dockerfile.server, you can containerize and deploy the whole package (including the client).

With Docker, you will need to mount the paramount.toml file dynamically into the container for it to work.

docker build -t paramount-server -f Dockerfile.server . # or make docker-build-server
docker run -dp 9001:9001 paramount-server # or make docker-run-server

License

This project is under GPL License.

Release files for paramount 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paramount 0.4.0
File Size Uploaded
paramount-0.4.0.tar.gz 470.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for paramount 0.4.0
File Interpreter ABI Platform
paramount-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 945.8 kB

Release files / paramount-0.4.0.tar.gz

Download URL paramount-0.4.0.tar.gz
Size 470.9 kB
Tags Source
SHA-256 checksum
How to use checksums
80270edb892a55b7c617f01e380d414d48694100388736f9532c0b41a1577f86
BLAKE2b-256 checksum
How to use checksums
7f8ac55ac161baf103a79e55565ca19a05081d2d76115842ad8290923cd14829
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.6

Release files / paramount-0.4.0-py3-none-any.whl

Download URL paramount-0.4.0-py3-none-any.whl
Size 474.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8cbe3564fdeb67d92d49c1d4de1fcba919c2a13c00376de0947354065e32957b
BLAKE2b-256 checksum
How to use checksums
0341aef66599eda1da2c5f41c00080b67268efcd7e72fbec5196ef1e46c04183
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.6

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.2

2 release files

0.3.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page