graphiti/tests/evals/eval_cli.py
Preston Rasmussen 5dce26722e
e2e graph builder eval (#343)
* add partial eval platform

* dedupe updates

* add e2e eval

* Update graphiti_core/prompts/eval.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* clear all outputs

* clear all outputs

* squash eval commits

* Update tests/evals/data/utils.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* add longmemeval disclaimer

* remove gitignore

* add copyright headers

* add cli

* Update tests/evals/data/longmemeval_data/README.md

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Update tests/evals/eval_e2e_graph_building.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* updates

---------

Co-authored-by: jackaldenryan <jackaldenryan@gmail.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-12 10:35:22 -04:00

39 lines
1.2 KiB
Python

import argparse
import asyncio
from tests.evals.eval_e2e_graph_building import build_baseline_graph, eval_graph
async def main():
parser = argparse.ArgumentParser(
description='Run eval_graph and optionally build_baseline_graph from the command line.'
)
parser.add_argument(
'--multi-session',
type=int,
nargs='+',
required=True,
help='List of integers representing multi-session values (e.g., 1 2 3)',
)
parser.add_argument('--session-length', type=int, required=True, help='Length of each session')
parser.add_argument(
'--build-baseline', action='store_true', help='If set, also runs build_baseline_graph'
)
args = parser.parse_args()
# Optionally run the async function
if args.build_baseline:
print('Running build_baseline_graph...')
await build_baseline_graph(
multi_session=args.multi_session, session_length=args.session_length
)
# Always call eval_graph
result = await eval_graph(multi_session=args.multi_session, session_length=args.session_length)
print('Result of eval_graph:', result)
if __name__ == '__main__':
asyncio.run(main())