Skip to main content

A framework for making agents more aware of their environment through explicit modeling of pre and post effects

Project description

Frame-log

Overview

Frame-log is a framework aiming to make agents more aware of their environment through the explicit modeling of pre and post effects. The approach is inspired by logic-based AI theory such as the "AI Frame Problem".

Repository Overview

This repository implements the Frame-Log framework, providing utility methods that are usable across agentic workflows. Specifically, the following are included:

  • Prompt templates to elicit change-logs
  • Pre-defined change-log schema
    • Currently supports JSON. Future work can include XML or git diff formats.
  • Extraction methods to decompose a set of change-logs from an agent response into structured objects
  • Evaluation and sanity check methods for change-logs, including:
    • Schema validation
    • Action verification
    • Semantic similarity-based effect grounding via sentence embeddings

Setup

pip install framelog

Quick Start

from framelog.extract_log import to_dict
from framelog.evaluator import ChangeLogEvaluator, ChangeLogFailureType

evaluator = ChangeLogEvaluator()

# Parse a change log from an agent response
change_log = to_dict(response, evaluator=evaluator)

# Advance the evaluator timestep
evaluator.step()

# Inspect failure rates
print(evaluator.no_json_rate())
print(evaluator.invalid_action_rate())
print(evaluator.failure_breakdown())

Supported Benchmarks

License

MIT


Do you spot any bugs? Inefficiencies? Or have any general suggestions? Please create an issue or contact me via miller.j.nasir@gmail.com

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

framelog-0.1.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

framelog-0.1.1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file framelog-0.1.1.tar.gz.

File metadata

  • Download URL: framelog-0.1.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for framelog-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a7460c13ac3855b25a2d593cf78d6d3fe351099b3a9c2ecb3a7c87e22adea73f
MD5 e83d6453af56c650b4222eb9b80162af
BLAKE2b-256 d38cfa3fcb1db3528da0cd705a8945714c9cabafd5452469137f9ff4ecf41309

See more details on using hashes here.

File details

Details for the file framelog-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: framelog-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for framelog-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7f177b8f05d5bd73c72ca1883dd8226756de734623e4b293a9c156bebecca786
MD5 4019170aea5ccdea5ae42cf8b004bee0
BLAKE2b-256 69ce29809da7ff797eb9b0c26423eec068f754e75caabac7b34d331cd581ef2d

See more details on using hashes here.

Supported by

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