arksim 0.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- arksim-0.0.2/.editorconfig +18 -0
- arksim-0.0.2/.github/CODEOWNERS +1 -0
- arksim-0.0.2/.github/ISSUE_TEMPLATE/bug_report.yml +53 -0
- arksim-0.0.2/.github/ISSUE_TEMPLATE/config.yml +8 -0
- arksim-0.0.2/.github/ISSUE_TEMPLATE/feature_request.yml +23 -0
- arksim-0.0.2/.github/dependabot.yml +27 -0
- arksim-0.0.2/.github/pull_request_template.md +39 -0
- arksim-0.0.2/.github/workflows/ci.yml +42 -0
- arksim-0.0.2/.github/workflows/pr-checks.yml +108 -0
- arksim-0.0.2/.github/workflows/publish-pypi.yml +105 -0
- arksim-0.0.2/.gitignore +57 -0
- arksim-0.0.2/.pre-commit-config.yaml +25 -0
- arksim-0.0.2/CHANGELOG.md +71 -0
- arksim-0.0.2/CODE_OF_CONDUCT.md +42 -0
- arksim-0.0.2/CONTRIBUTING.md +87 -0
- arksim-0.0.2/LICENSE +191 -0
- arksim-0.0.2/Makefile +21 -0
- arksim-0.0.2/PKG-INFO +357 -0
- arksim-0.0.2/README.md +308 -0
- arksim-0.0.2/SECURITY.md +21 -0
- arksim-0.0.2/arksim/__init__.py +50 -0
- arksim-0.0.2/arksim/_version.py +34 -0
- arksim-0.0.2/arksim/cli.py +395 -0
- arksim-0.0.2/arksim/config/__init__.py +11 -0
- arksim-0.0.2/arksim/config/core/__init__.py +0 -0
- arksim-0.0.2/arksim/config/core/agent.py +128 -0
- arksim-0.0.2/arksim/config/types.py +8 -0
- arksim-0.0.2/arksim/config/utils.py +38 -0
- arksim-0.0.2/arksim/config_evaluate.yaml +39 -0
- arksim-0.0.2/arksim/config_simulate_evaluate.yaml +80 -0
- arksim-0.0.2/arksim/constants.py +4 -0
- arksim-0.0.2/arksim/evaluator/__init__.py +34 -0
- arksim-0.0.2/arksim/evaluator/base_metric.py +137 -0
- arksim-0.0.2/arksim/evaluator/builtin_metrics.py +194 -0
- arksim-0.0.2/arksim/evaluator/entities.py +175 -0
- arksim-0.0.2/arksim/evaluator/error_detection.py +136 -0
- arksim-0.0.2/arksim/evaluator/evaluate.py +241 -0
- arksim-0.0.2/arksim/evaluator/evaluator.py +670 -0
- arksim-0.0.2/arksim/evaluator/prompt_registry.py +151 -0
- arksim-0.0.2/arksim/evaluator/utils/__init__.py +0 -0
- arksim-0.0.2/arksim/evaluator/utils/constants.py +29 -0
- arksim-0.0.2/arksim/evaluator/utils/enums.py +57 -0
- arksim-0.0.2/arksim/evaluator/utils/error_messages.py +41 -0
- arksim-0.0.2/arksim/evaluator/utils/prompts.py +341 -0
- arksim-0.0.2/arksim/evaluator/utils/schema.py +21 -0
- arksim-0.0.2/arksim/llms/__init__.py +0 -0
- arksim-0.0.2/arksim/llms/chat/__init__.py +3 -0
- arksim-0.0.2/arksim/llms/chat/base/__init__.py +0 -0
- arksim-0.0.2/arksim/llms/chat/base/base_llm.py +94 -0
- arksim-0.0.2/arksim/llms/chat/base/types.py +17 -0
- arksim-0.0.2/arksim/llms/chat/llm.py +37 -0
- arksim-0.0.2/arksim/llms/chat/providers/azure_openai.py +132 -0
- arksim-0.0.2/arksim/llms/chat/providers/claude.py +122 -0
- arksim-0.0.2/arksim/llms/chat/providers/gemini.py +126 -0
- arksim-0.0.2/arksim/llms/chat/providers/openai.py +97 -0
- arksim-0.0.2/arksim/llms/chat/utils.py +64 -0
- arksim-0.0.2/arksim/llms/embedding/__init__.py +0 -0
- arksim-0.0.2/arksim/llms/utils/__init__.py +3 -0
- arksim-0.0.2/arksim/llms/utils/azure.py +39 -0
- arksim-0.0.2/arksim/py.typed +0 -0
- arksim-0.0.2/arksim/scenario/__init__.py +7 -0
- arksim-0.0.2/arksim/scenario/entities.py +33 -0
- arksim-0.0.2/arksim/simulation_engine/__init__.py +20 -0
- arksim-0.0.2/arksim/simulation_engine/agent/__init__.py +5 -0
- arksim-0.0.2/arksim/simulation_engine/agent/base.py +20 -0
- arksim-0.0.2/arksim/simulation_engine/agent/clients/a2a.py +113 -0
- arksim-0.0.2/arksim/simulation_engine/agent/clients/chat_completions.py +79 -0
- arksim-0.0.2/arksim/simulation_engine/agent/factory.py +17 -0
- arksim-0.0.2/arksim/simulation_engine/agent/utils.py +70 -0
- arksim-0.0.2/arksim/simulation_engine/core/__init__.py +15 -0
- arksim-0.0.2/arksim/simulation_engine/core/multi_knowledge_handling.py +198 -0
- arksim-0.0.2/arksim/simulation_engine/core/profile.py +83 -0
- arksim-0.0.2/arksim/simulation_engine/entities.py +139 -0
- arksim-0.0.2/arksim/simulation_engine/simulator.py +446 -0
- arksim-0.0.2/arksim/simulation_engine/utils/prompts.py +125 -0
- arksim-0.0.2/arksim/simulation_engine/utils/schema.py +8 -0
- arksim-0.0.2/arksim/simulation_engine/utils/utils.py +29 -0
- arksim-0.0.2/arksim/ui/__init__.py +0 -0
- arksim-0.0.2/arksim/ui/api/__init__.py +0 -0
- arksim-0.0.2/arksim/ui/api/routes_evaluate.py +137 -0
- arksim-0.0.2/arksim/ui/api/routes_filesystem.py +249 -0
- arksim-0.0.2/arksim/ui/api/routes_results.py +68 -0
- arksim-0.0.2/arksim/ui/api/routes_simulate.py +166 -0
- arksim-0.0.2/arksim/ui/api/state.py +162 -0
- arksim-0.0.2/arksim/ui/api/ws_logs.py +44 -0
- arksim-0.0.2/arksim/ui/app.py +75 -0
- arksim-0.0.2/arksim/ui/frontend/app.js +713 -0
- arksim-0.0.2/arksim/ui/frontend/index.html +800 -0
- arksim-0.0.2/arksim/utils/concurrency/__init__.py +6 -0
- arksim-0.0.2/arksim/utils/concurrency/workers.py +18 -0
- arksim-0.0.2/arksim/utils/html_report/__init__.py +5 -0
- arksim-0.0.2/arksim/utils/html_report/generate_html_report.py +530 -0
- arksim-0.0.2/arksim/utils/html_report/report_template.html +2437 -0
- arksim-0.0.2/arksim/utils/logger/__init__.py +5 -0
- arksim-0.0.2/arksim/utils/logger/logging.py +52 -0
- arksim-0.0.2/arksim/utils/output/__init__.py +13 -0
- arksim-0.0.2/arksim/utils/output/types.py +8 -0
- arksim-0.0.2/arksim/utils/output/utils.py +56 -0
- arksim-0.0.2/docs/CONTRIBUTING.md +128 -0
- arksim-0.0.2/docs/LICENSE +21 -0
- arksim-0.0.2/docs/README.md +162 -0
- arksim-0.0.2/docs/assets/arksim-flow.svg +1 -0
- arksim-0.0.2/docs/build-scenario.mdx +187 -0
- arksim-0.0.2/docs/contact-email.mdx +25 -0
- arksim-0.0.2/docs/docs.json +107 -0
- arksim-0.0.2/docs/e-commerce-customer-service-agent-evaluation.mdx +273 -0
- arksim-0.0.2/docs/evaluate-conversation.mdx +248 -0
- arksim-0.0.2/docs/favicon.svg +1 -0
- arksim-0.0.2/docs/images/a2a-docker-endpoint.png +0 -0
- arksim-0.0.2/docs/images/arksim-overview.svg +1 -0
- arksim-0.0.2/docs/images/arksim-workflow.svg +1 -0
- arksim-0.0.2/docs/images/checks-passed.png +0 -0
- arksim-0.0.2/docs/images/conv-evaluation.svg +1 -0
- arksim-0.0.2/docs/images/conv-simulation.svg +1 -0
- arksim-0.0.2/docs/images/evaluation.svg +1 -0
- arksim-0.0.2/docs/images/hero-dark.png +0 -0
- arksim-0.0.2/docs/images/hero-light.png +0 -0
- arksim-0.0.2/docs/images/scenario-building.svg +1 -0
- arksim-0.0.2/docs/images/scenarios.svg +1 -0
- arksim-0.0.2/docs/images/simulation.svg +1 -0
- arksim-0.0.2/docs/images/workflow-chart.svg +1 -0
- arksim-0.0.2/docs/installation.mdx +55 -0
- arksim-0.0.2/docs/insurance-customer-service-agent-evaluation.mdx +236 -0
- arksim-0.0.2/docs/logo/dark-mode.svg +1 -0
- arksim-0.0.2/docs/logo/dark.svg +21 -0
- arksim-0.0.2/docs/logo/light-mode.svg +1 -0
- arksim-0.0.2/docs/logo/light.svg +21 -0
- arksim-0.0.2/docs/overview.mdx +69 -0
- arksim-0.0.2/docs/personal-ai-assistant-openclaw-evaluation.mdx +186 -0
- arksim-0.0.2/docs/quickstart.mdx +185 -0
- arksim-0.0.2/docs/results.mdx +183 -0
- arksim-0.0.2/docs/schema-reference.mdx +229 -0
- arksim-0.0.2/docs/simulate-conversation.mdx +348 -0
- arksim-0.0.2/docs/snippets/snippet-intro.mdx +4 -0
- arksim-0.0.2/docs/styles.css +3 -0
- arksim-0.0.2/examples/bank-insurance/README.md +80 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/a2a/agent_executor.py +34 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/a2a/server.py +108 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/chat_completions/server.py +111 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/core/__init__.py +12 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/core/agent.py +82 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/core/loader.py +797 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/core/retriever.py +208 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/01_what_is_car_insurance.md +81 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/02_what_is_home_insurance.md +58 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/03_car_insurance_deductibles.md +58 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/04_home_insurance_deductibles.md +46 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/05_insurance_terminology.md +120 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/06_what_to_do_after_car_accident.md +75 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/07_filing_insurance_claims.md +91 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/08_preventing_water_damage.md +59 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/09_condo_insurance_guide.md +111 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/10_tenant_insurance.md +109 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/11_car_insurance_for_new_drivers.md +110 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/12_how_car_insurance_premiums_calculated.md +129 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/13_how_home_insurance_premiums_calculated.md +157 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/14_bundling_insurance_policies.md +137 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/15_liability_insurance_explained.md +146 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/16_comprehensive_vs_collision_coverage.md +140 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/17_accident_forgiveness.md +131 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/18_winter_driving_safety.md +139 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/19_protecting_home_from_fire.md +165 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/20_motorcycle_rv_insurance.md +159 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/21_identity_theft_protection.md +157 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/22_small_business_insurance.md +191 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/23_cottage_vacation_property_insurance.md +187 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/24_emergency_preparedness.md +183 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/data/25_insurance_savings_tips.md +206 -0
- arksim-0.0.2/examples/bank-insurance/agent_server/requirements.txt +23 -0
- arksim-0.0.2/examples/bank-insurance/config.yaml +80 -0
- arksim-0.0.2/examples/bank-insurance/config_a2a.yaml +65 -0
- arksim-0.0.2/examples/bank-insurance/config_chat_completions.yaml +71 -0
- arksim-0.0.2/examples/bank-insurance/custom_metrics.py +580 -0
- arksim-0.0.2/examples/bank-insurance/scenarios.json +246 -0
- arksim-0.0.2/examples/e-commerce/README.md +72 -0
- arksim-0.0.2/examples/e-commerce/agent_server/chat_completions/__init__.py +0 -0
- arksim-0.0.2/examples/e-commerce/agent_server/chat_completions/server.py +111 -0
- arksim-0.0.2/examples/e-commerce/agent_server/core/__init__.py +12 -0
- arksim-0.0.2/examples/e-commerce/agent_server/core/agent.py +83 -0
- arksim-0.0.2/examples/e-commerce/agent_server/core/loader.py +797 -0
- arksim-0.0.2/examples/e-commerce/agent_server/core/retriever.py +208 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Baby_Diapers.md +35 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Baby_Lotion.md +47 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Baby_Set.md +34 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Baby_Wear.md +46 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Baby_Wipes.md +35 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Canvas_Wall_Art.md +25 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Carpet_Cleaner.md +37 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Cat_Food.md +45 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Christmas_Tree_Decoration.md +29 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Christmas_Tree_Ornaments.md +28 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Christmas_Wreath.md +29 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Curtain_Decoration.md +31 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Desk_Lamp.md +33 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Dog_Food.md +35 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Dog_Sausage.md +44 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Fence_Yard_Sign.md +23 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Furniture_Bed.md +30 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/LED_Strip_Lights.md +47 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Laundry_Basket.md +54 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Lysol_Cleaner.md +38 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Mushroom_Scratching_Post.md +36 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Pet_Feeder.md +25 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Pet_House.md +30 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Pet_Sweater.md +30 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Photo_Clip_String_Lights.md +27 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Plastic_Bin.md +31 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Reading_Chair.md +50 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Shelving_Rack.md +29 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Shoe_Organizer_Box.md +22 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Shower_Catty.md +33 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Sleeper_Couch.md +66 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Spiderman_Wall_Stickers.md +23 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Storage_Organizer.md +49 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/TV_Stand.md +31 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Toilet_Cleaner.md +46 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Vaccuum_Cleaner.md +41 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Village_House_Christmas_Decoration.md +27 -0
- arksim-0.0.2/examples/e-commerce/agent_server/data/Washer_Tablets.md +42 -0
- arksim-0.0.2/examples/e-commerce/agent_server/requirements.txt +20 -0
- arksim-0.0.2/examples/e-commerce/config.yaml +75 -0
- arksim-0.0.2/examples/e-commerce/config_chat_completions.yaml +71 -0
- arksim-0.0.2/examples/e-commerce/custom_metrics.py +275 -0
- arksim-0.0.2/examples/e-commerce/run_pipeline.py +126 -0
- arksim-0.0.2/examples/e-commerce/scenarios.json +215 -0
- arksim-0.0.2/examples/openclaw/README.md +74 -0
- arksim-0.0.2/examples/openclaw/config.yaml +73 -0
- arksim-0.0.2/examples/openclaw/scenarios.json +220 -0
- arksim-0.0.2/pyproject.toml +91 -0
- arksim-0.0.2/pytest.ini +22 -0
- arksim-0.0.2/scripts/check-changelog.sh +12 -0
- arksim-0.0.2/tests/__init__.py +0 -0
- arksim-0.0.2/tests/conftest.py +73 -0
- arksim-0.0.2/tests/test_data/fmted_test_simulate_data.json +149 -0
- arksim-0.0.2/tests/test_data/test_empty_responses.json +165 -0
- arksim-0.0.2/tests/test_data/test_simulate_data.json +158 -0
- arksim-0.0.2/tests/unit/__init__.py +0 -0
- arksim-0.0.2/tests/unit/test_agent_config.py +191 -0
- arksim-0.0.2/tests/unit/test_agent_factory.py +101 -0
- arksim-0.0.2/tests/unit/test_error_detection.py +202 -0
- arksim-0.0.2/tests/unit/test_evaluator_entities.py +340 -0
- arksim-0.0.2/tests/unit/test_html_report_integration.py +406 -0
- arksim-0.0.2/tests/unit/test_llm.py +101 -0
- arksim-0.0.2/tests/unit/test_output_utils.py +126 -0
- arksim-0.0.2/tests/unit/test_simulation_engine_entities.py +144 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
charset = utf-8
|
|
5
|
+
end_of_line = lf
|
|
6
|
+
insert_final_newline = true
|
|
7
|
+
trim_trailing_whitespace = true
|
|
8
|
+
indent_style = space
|
|
9
|
+
indent_size = 4
|
|
10
|
+
|
|
11
|
+
[*.{yml,yaml,json,toml}]
|
|
12
|
+
indent_size = 2
|
|
13
|
+
|
|
14
|
+
[*.md]
|
|
15
|
+
trim_trailing_whitespace = false
|
|
16
|
+
|
|
17
|
+
[Makefile]
|
|
18
|
+
indent_style = tab
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
* @arklexai/arksim-maintainers
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: Bug Report
|
|
2
|
+
description: Report a bug in Arksim
|
|
3
|
+
labels: ["bug"]
|
|
4
|
+
body:
|
|
5
|
+
- type: textarea
|
|
6
|
+
id: description
|
|
7
|
+
attributes:
|
|
8
|
+
label: Describe the bug
|
|
9
|
+
description: A clear description of the bug.
|
|
10
|
+
validations:
|
|
11
|
+
required: true
|
|
12
|
+
- type: textarea
|
|
13
|
+
id: steps
|
|
14
|
+
attributes:
|
|
15
|
+
label: Steps to reproduce
|
|
16
|
+
description: Steps to reproduce the behavior.
|
|
17
|
+
placeholder: |
|
|
18
|
+
1. Run `arksim simulate config.yaml`
|
|
19
|
+
2. ...
|
|
20
|
+
validations:
|
|
21
|
+
required: true
|
|
22
|
+
- type: textarea
|
|
23
|
+
id: expected
|
|
24
|
+
attributes:
|
|
25
|
+
label: Expected behavior
|
|
26
|
+
description: What you expected to happen.
|
|
27
|
+
validations:
|
|
28
|
+
required: true
|
|
29
|
+
- type: textarea
|
|
30
|
+
id: logs
|
|
31
|
+
attributes:
|
|
32
|
+
label: Error output or logs
|
|
33
|
+
description: Paste any relevant error messages or logs.
|
|
34
|
+
render: shell
|
|
35
|
+
- type: input
|
|
36
|
+
id: version
|
|
37
|
+
attributes:
|
|
38
|
+
label: Arksim version
|
|
39
|
+
placeholder: "0.0.1"
|
|
40
|
+
validations:
|
|
41
|
+
required: true
|
|
42
|
+
- type: input
|
|
43
|
+
id: python
|
|
44
|
+
attributes:
|
|
45
|
+
label: Python version
|
|
46
|
+
placeholder: "3.11"
|
|
47
|
+
validations:
|
|
48
|
+
required: true
|
|
49
|
+
- type: input
|
|
50
|
+
id: os
|
|
51
|
+
attributes:
|
|
52
|
+
label: Operating system
|
|
53
|
+
placeholder: "macOS 15, Ubuntu 22.04, etc."
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
2
|
+
contact_links:
|
|
3
|
+
- name: Documentation
|
|
4
|
+
url: https://docs.arklex.ai/overview
|
|
5
|
+
about: Check the docs before opening an issue.
|
|
6
|
+
- name: Discussions
|
|
7
|
+
url: https://github.com/arklexai/arksim/discussions
|
|
8
|
+
about: Ask questions and share ideas.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
name: Feature Request
|
|
2
|
+
description: Suggest a new feature or improvement
|
|
3
|
+
labels: ["enhancement"]
|
|
4
|
+
body:
|
|
5
|
+
- type: textarea
|
|
6
|
+
id: problem
|
|
7
|
+
attributes:
|
|
8
|
+
label: Problem or motivation
|
|
9
|
+
description: What problem does this feature solve? Why is it needed?
|
|
10
|
+
validations:
|
|
11
|
+
required: true
|
|
12
|
+
- type: textarea
|
|
13
|
+
id: solution
|
|
14
|
+
attributes:
|
|
15
|
+
label: Proposed solution
|
|
16
|
+
description: Describe the feature or change you'd like.
|
|
17
|
+
validations:
|
|
18
|
+
required: true
|
|
19
|
+
- type: textarea
|
|
20
|
+
id: alternatives
|
|
21
|
+
attributes:
|
|
22
|
+
label: Alternatives considered
|
|
23
|
+
description: Any alternative approaches you've thought about.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
|
|
3
|
+
updates:
|
|
4
|
+
- package-ecosystem: pip
|
|
5
|
+
directory: "/"
|
|
6
|
+
schedule:
|
|
7
|
+
interval: weekly
|
|
8
|
+
day: monday
|
|
9
|
+
open-pull-requests-limit: 10
|
|
10
|
+
labels:
|
|
11
|
+
- dependencies
|
|
12
|
+
- skip-changelog
|
|
13
|
+
commit-message:
|
|
14
|
+
prefix: "deps"
|
|
15
|
+
|
|
16
|
+
- package-ecosystem: github-actions
|
|
17
|
+
directory: "/"
|
|
18
|
+
schedule:
|
|
19
|
+
interval: weekly
|
|
20
|
+
day: monday
|
|
21
|
+
open-pull-requests-limit: 5
|
|
22
|
+
labels:
|
|
23
|
+
- dependencies
|
|
24
|
+
- ci
|
|
25
|
+
- skip-changelog
|
|
26
|
+
commit-message:
|
|
27
|
+
prefix: "ci"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
## Summary
|
|
2
|
+
|
|
3
|
+
<!-- Brief description of what this PR does and why. Link any related issues. -->
|
|
4
|
+
|
|
5
|
+
Closes #
|
|
6
|
+
|
|
7
|
+
## Changes
|
|
8
|
+
|
|
9
|
+
<!-- What changed? List the key modifications. -->
|
|
10
|
+
|
|
11
|
+
-
|
|
12
|
+
|
|
13
|
+
## Documentation and Changelog
|
|
14
|
+
|
|
15
|
+
<!-- All PRs must account for docs and changelog. Check every box that applies. -->
|
|
16
|
+
|
|
17
|
+
- [ ] Added an entry to `CHANGELOG.md` under the `[Unreleased]` section
|
|
18
|
+
- [ ] Updated relevant docs in `docs/` (if behavior, config, or API changed)
|
|
19
|
+
- [ ] Updated `README.md` (if installation, quickstart, or usage changed)
|
|
20
|
+
- [ ] No docs or changelog needed (explain why below)
|
|
21
|
+
|
|
22
|
+
<!-- If "no docs needed", briefly explain: e.g. "internal refactor, no user-facing change" -->
|
|
23
|
+
|
|
24
|
+
## How to Test
|
|
25
|
+
|
|
26
|
+
<!-- Steps a reviewer can follow to verify the changes. -->
|
|
27
|
+
|
|
28
|
+
- [ ] `ruff check .` passes
|
|
29
|
+
- [ ] `ruff format --check .` passes
|
|
30
|
+
- [ ] `pytest tests/` passes
|
|
31
|
+
- [ ] Manual verification: <!-- describe what you tested -->
|
|
32
|
+
|
|
33
|
+
## Notes
|
|
34
|
+
|
|
35
|
+
<!-- Anything reviewers should know: trade-offs, follow-up work, migration steps, etc. -->
|
|
36
|
+
|
|
37
|
+
## Reviewers
|
|
38
|
+
|
|
39
|
+
/cc @arklexai/arksim-maintainers
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
lint:
|
|
11
|
+
name: Lint
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v6
|
|
15
|
+
- uses: actions/setup-python@v6
|
|
16
|
+
with:
|
|
17
|
+
python-version: "3.13"
|
|
18
|
+
- name: Pre-commit checks
|
|
19
|
+
run: |
|
|
20
|
+
pip install pre-commit
|
|
21
|
+
SKIP=changelog-reminder pre-commit run --all-files
|
|
22
|
+
- name: Lint
|
|
23
|
+
run: |
|
|
24
|
+
pip install ruff
|
|
25
|
+
ruff check .
|
|
26
|
+
ruff format --check .
|
|
27
|
+
|
|
28
|
+
test:
|
|
29
|
+
name: Test (Python ${{ matrix.python-version }})
|
|
30
|
+
runs-on: ubuntu-latest
|
|
31
|
+
strategy:
|
|
32
|
+
matrix:
|
|
33
|
+
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
|
34
|
+
steps:
|
|
35
|
+
- uses: actions/checkout@v6
|
|
36
|
+
- uses: actions/setup-python@v6
|
|
37
|
+
with:
|
|
38
|
+
python-version: ${{ matrix.python-version }}
|
|
39
|
+
- name: Install dependencies
|
|
40
|
+
run: pip install -e ".[dev]"
|
|
41
|
+
- name: Test
|
|
42
|
+
run: pytest tests/ -v --tb=short
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
name: PR checks
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, edited, synchronize, reopened, labeled, unlabeled]
|
|
6
|
+
branches: [main]
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
pull-requests: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
pr-checks:
|
|
13
|
+
name: PR checks
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- name: Validate PR title format
|
|
17
|
+
uses: actions/github-script@v8
|
|
18
|
+
with:
|
|
19
|
+
script: |
|
|
20
|
+
const title = context.payload.pull_request.title;
|
|
21
|
+
|
|
22
|
+
if (title.length > 72) {
|
|
23
|
+
core.setFailed(
|
|
24
|
+
`PR title is ${title.length} characters (max 72).\n` +
|
|
25
|
+
`Title: "${title}"`
|
|
26
|
+
);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Format: <component>: <verb> <description>
|
|
31
|
+
const pattern = /^[a-z][a-z0-9_-]*: [a-z]+ .+$/;
|
|
32
|
+
if (!pattern.test(title)) {
|
|
33
|
+
core.setFailed(
|
|
34
|
+
`PR title does not match the required format.\n\n` +
|
|
35
|
+
`Expected: <component>: <verb> <description>\n` +
|
|
36
|
+
` - component: lowercase, may contain digits, hyphens, underscores\n` +
|
|
37
|
+
` - verb: lowercase imperative (add, fix, update, remove, ...)\n` +
|
|
38
|
+
` - description: free text\n\n` +
|
|
39
|
+
`Examples:\n` +
|
|
40
|
+
` arksim: add retry logic to evaluator\n` +
|
|
41
|
+
` simulator: fix config loading for empty fields\n` +
|
|
42
|
+
` ci: update python version in workflow\n\n` +
|
|
43
|
+
`Got: "${title}"`
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
- name: Validate PR description has content
|
|
48
|
+
uses: actions/github-script@v8
|
|
49
|
+
with:
|
|
50
|
+
script: |
|
|
51
|
+
const body = context.payload.pull_request.body || '';
|
|
52
|
+
|
|
53
|
+
// Strip HTML comments
|
|
54
|
+
let cleaned = body.replace(/<!--[\s\S]*?-->/g, '');
|
|
55
|
+
|
|
56
|
+
// Strip markdown headers (lines starting with #)
|
|
57
|
+
cleaned = cleaned.replace(/^#+\s.*$/gm, '');
|
|
58
|
+
|
|
59
|
+
// Strip empty checklist items (unchecked boxes with no real text)
|
|
60
|
+
cleaned = cleaned.replace(/^- \[ \]\s*$/gm, '');
|
|
61
|
+
|
|
62
|
+
// Strip template checklist items that are just tool commands
|
|
63
|
+
cleaned = cleaned.replace(/^- \[ \] `[^`]+`\s*(passes)?\s*$/gm, '');
|
|
64
|
+
|
|
65
|
+
// Strip blank "Closes #" lines
|
|
66
|
+
cleaned = cleaned.replace(/^Closes\s+#\s*$/gm, '');
|
|
67
|
+
|
|
68
|
+
// Strip lone list dashes (empty bullet points)
|
|
69
|
+
cleaned = cleaned.replace(/^-\s*$/gm, '');
|
|
70
|
+
|
|
71
|
+
// Collapse whitespace
|
|
72
|
+
cleaned = cleaned.replace(/\s+/g, ' ').trim();
|
|
73
|
+
|
|
74
|
+
if (cleaned.length < 20) {
|
|
75
|
+
core.setFailed(
|
|
76
|
+
`PR description is too short (${cleaned.length} characters of real content, minimum 20).\n\n` +
|
|
77
|
+
`Please fill out the PR template with a meaningful summary and description.\n` +
|
|
78
|
+
`Template headers, comments, and empty checkboxes do not count.`
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
- name: Check CHANGELOG.md was updated
|
|
83
|
+
uses: actions/github-script@v8
|
|
84
|
+
with:
|
|
85
|
+
script: |
|
|
86
|
+
const labels = context.payload.pull_request.labels.map(l => l.name);
|
|
87
|
+
if (labels.includes('skip-changelog')) {
|
|
88
|
+
core.info('skip-changelog label found, skipping check.');
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const { data: files } = await github.rest.pulls.listFiles({
|
|
93
|
+
owner: context.repo.owner,
|
|
94
|
+
repo: context.repo.repo,
|
|
95
|
+
pull_number: context.payload.pull_request.number,
|
|
96
|
+
per_page: 100,
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
const changelogUpdated = files.some(f => f.filename === 'CHANGELOG.md');
|
|
100
|
+
if (!changelogUpdated) {
|
|
101
|
+
core.setFailed(
|
|
102
|
+
`CHANGELOG.md was not updated in this PR.\n\n` +
|
|
103
|
+
`Please add an entry under the [Unreleased] section describing your change.\n` +
|
|
104
|
+
`Use the appropriate heading: Added, Changed, Fixed, Removed, etc.\n\n` +
|
|
105
|
+
`If this change does not need a changelog entry (e.g. internal refactor,\n` +
|
|
106
|
+
`CI-only change), add the "skip-changelog" label to this PR.`
|
|
107
|
+
);
|
|
108
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Publishes arksim to PyPI.
|
|
2
|
+
#
|
|
3
|
+
# Triggered by pushing a version tag (e.g. v1.2.3).
|
|
4
|
+
|
|
5
|
+
name: Publish to PyPI
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
push:
|
|
9
|
+
tags: ["v*"]
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
# ---------------------------------------------------------------------------
|
|
13
|
+
# 1. Build wheel and source distribution.
|
|
14
|
+
# ---------------------------------------------------------------------------
|
|
15
|
+
build:
|
|
16
|
+
name: Build distribution
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout
|
|
21
|
+
uses: actions/checkout@v4
|
|
22
|
+
with:
|
|
23
|
+
fetch-depth: 0
|
|
24
|
+
|
|
25
|
+
- name: Set up Python
|
|
26
|
+
uses: actions/setup-python@v5
|
|
27
|
+
with:
|
|
28
|
+
python-version: "3.12"
|
|
29
|
+
|
|
30
|
+
- name: Build wheel and sdist
|
|
31
|
+
run: |
|
|
32
|
+
pip install build
|
|
33
|
+
python -m build
|
|
34
|
+
|
|
35
|
+
- name: Verify distribution
|
|
36
|
+
run: |
|
|
37
|
+
pip install twine
|
|
38
|
+
twine check --strict dist/*
|
|
39
|
+
|
|
40
|
+
- name: Upload dist artifact
|
|
41
|
+
uses: actions/upload-artifact@v4
|
|
42
|
+
with:
|
|
43
|
+
name: dist
|
|
44
|
+
path: dist/
|
|
45
|
+
if-no-files-found: error
|
|
46
|
+
|
|
47
|
+
# ---------------------------------------------------------------------------
|
|
48
|
+
# 2. Create GitHub Release with changelog and built dist files.
|
|
49
|
+
# ---------------------------------------------------------------------------
|
|
50
|
+
create-release:
|
|
51
|
+
name: Create GitHub Release
|
|
52
|
+
runs-on: ubuntu-latest
|
|
53
|
+
needs: build
|
|
54
|
+
permissions:
|
|
55
|
+
contents: write
|
|
56
|
+
|
|
57
|
+
steps:
|
|
58
|
+
- name: Checkout
|
|
59
|
+
uses: actions/checkout@v4
|
|
60
|
+
with:
|
|
61
|
+
fetch-depth: 0
|
|
62
|
+
|
|
63
|
+
- name: Download dist artifact
|
|
64
|
+
uses: actions/download-artifact@v4
|
|
65
|
+
with:
|
|
66
|
+
name: dist
|
|
67
|
+
path: dist/
|
|
68
|
+
|
|
69
|
+
- name: Generate changelog
|
|
70
|
+
id: changelog
|
|
71
|
+
uses: mikepenz/release-changelog-builder-action@v5
|
|
72
|
+
with:
|
|
73
|
+
toTag: ${{ github.ref_name }}
|
|
74
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
75
|
+
|
|
76
|
+
- name: Create GitHub Release
|
|
77
|
+
uses: softprops/action-gh-release@v2
|
|
78
|
+
with:
|
|
79
|
+
tag_name: ${{ github.ref_name }}
|
|
80
|
+
name: ${{ github.ref_name }}
|
|
81
|
+
body: ${{ steps.changelog.outputs.changelog }}
|
|
82
|
+
files: dist/*
|
|
83
|
+
# Mark as pre-release when the version contains "rc".
|
|
84
|
+
prerelease: ${{ contains(github.ref_name, 'rc') }}
|
|
85
|
+
|
|
86
|
+
# ---------------------------------------------------------------------------
|
|
87
|
+
# 3. Publish to PyPI via OIDC trusted publisher
|
|
88
|
+
# ---------------------------------------------------------------------------
|
|
89
|
+
publish-pypi:
|
|
90
|
+
name: Publish to PyPI
|
|
91
|
+
runs-on: ubuntu-latest
|
|
92
|
+
needs: [build, create-release]
|
|
93
|
+
environment: pypi
|
|
94
|
+
permissions:
|
|
95
|
+
id-token: write
|
|
96
|
+
|
|
97
|
+
steps:
|
|
98
|
+
- name: Download dist artifact
|
|
99
|
+
uses: actions/download-artifact@v4
|
|
100
|
+
with:
|
|
101
|
+
name: dist
|
|
102
|
+
path: dist/
|
|
103
|
+
|
|
104
|
+
- name: Publish to PyPI
|
|
105
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
arksim-0.0.2/.gitignore
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.egg-info/
|
|
6
|
+
*.egg
|
|
7
|
+
dist/
|
|
8
|
+
build/
|
|
9
|
+
*.whl
|
|
10
|
+
|
|
11
|
+
# Generated by hatch-vcs at build time
|
|
12
|
+
arksim/_version.py
|
|
13
|
+
|
|
14
|
+
# Environment variables
|
|
15
|
+
.env
|
|
16
|
+
.env.*
|
|
17
|
+
|
|
18
|
+
# Virtual environments
|
|
19
|
+
.venv/
|
|
20
|
+
venv/
|
|
21
|
+
env/
|
|
22
|
+
|
|
23
|
+
# IDE
|
|
24
|
+
.vscode/
|
|
25
|
+
.idea/
|
|
26
|
+
*.swp
|
|
27
|
+
*.swo
|
|
28
|
+
*~
|
|
29
|
+
|
|
30
|
+
# Testing
|
|
31
|
+
.pytest_cache/
|
|
32
|
+
.coverage
|
|
33
|
+
htmlcov/
|
|
34
|
+
.mypy_cache/
|
|
35
|
+
|
|
36
|
+
# Linting
|
|
37
|
+
.ruff_cache/
|
|
38
|
+
|
|
39
|
+
# OS
|
|
40
|
+
.DS_Store
|
|
41
|
+
Thumbs.db
|
|
42
|
+
|
|
43
|
+
# Index and vector store files
|
|
44
|
+
index/
|
|
45
|
+
*.pkl
|
|
46
|
+
*.faiss
|
|
47
|
+
|
|
48
|
+
# Simulation/evaluation outputs
|
|
49
|
+
conversation*/
|
|
50
|
+
evaluation*/
|
|
51
|
+
results/
|
|
52
|
+
|
|
53
|
+
# Lock files (generated per environment)
|
|
54
|
+
uv.lock
|
|
55
|
+
|
|
56
|
+
# Local config overrides
|
|
57
|
+
config_simulate.yaml
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
+
rev: v5.0.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: trailing-whitespace
|
|
6
|
+
- id: end-of-file-fixer
|
|
7
|
+
- id: check-yaml
|
|
8
|
+
- id: check-added-large-files
|
|
9
|
+
args: ["--maxkb=500"]
|
|
10
|
+
|
|
11
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
12
|
+
rev: v0.11.2
|
|
13
|
+
hooks:
|
|
14
|
+
- id: ruff
|
|
15
|
+
args: [--fix]
|
|
16
|
+
- id: ruff-format
|
|
17
|
+
|
|
18
|
+
- repo: local
|
|
19
|
+
hooks:
|
|
20
|
+
- id: changelog-reminder
|
|
21
|
+
name: Check CHANGELOG.md updated
|
|
22
|
+
entry: scripts/check-changelog.sh
|
|
23
|
+
language: script
|
|
24
|
+
pass_filenames: false
|
|
25
|
+
always_run: true
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to Arksim will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
<!-- Add your changes here under the appropriate heading. -->
|
|
11
|
+
<!-- Use: Added, Changed, Deprecated, Removed, Fixed, Security -->
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- GitHub Actions workflow to build, release, and publish `arksim` to PyPI on `v*` tag pushes, with dynamic VCS-based versioning via `hatch-vcs`
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Refactored `bank-insurance` and `e-commerce` example agents to use the OpenAI Agents SDK and corrected the example server port from `8080` to `8888`
|
|
20
|
+
- Agent configuration is now defined inline in `config.yaml` under the `agent_config` key instead of in separate `agent_config.json` files
|
|
21
|
+
- Updated all documentation and examples to use inline agent configuration
|
|
22
|
+
- UI now passes `agent_config`, `custom_metrics_file_paths`, and `metrics_to_run` from loaded config YAML
|
|
23
|
+
|
|
24
|
+
### Removed
|
|
25
|
+
|
|
26
|
+
- Separate `agent_config.json` files from all examples (replaced by inline YAML config)
|
|
27
|
+
- Knowledge Configuration and Data folder sections from agent configuration docs
|
|
28
|
+
|
|
29
|
+
### Security
|
|
30
|
+
|
|
31
|
+
- Removed third-party client data from test fixtures and evaluator prompt examples
|
|
32
|
+
- Replaced with generic insurance-domain examples consistent with the public bank-insurance example
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
- Example servers: added logging before HTTP error responses, filtered system messages from agent chat history, fixed wrong config filename in e-commerce README
|
|
36
|
+
- Documentation: end-of-file newlines in `docs/insurance-customer-service-agent-evaluation.mdx` and `docs/e-commerce-customer-service-agent-evaluation.mdx`
|
|
37
|
+
- Documentation: trailing whitespace and end-of-file in `docs/simulate-conversation.mdx` and `docs/evaluate-conversation.mdx`
|
|
38
|
+
- Trailing whitespace and missing EOF newlines across 81 files (docs, examples, tests, source)
|
|
39
|
+
- UI file browser: `PROJECT_ROOT` now uses `cwd` for PyPI installs, parent navigation works correctly, YAML files shown in browser
|
|
40
|
+
- Lint: replaced `try/except/pass` with `contextlib.suppress` in example loader
|
|
41
|
+
|
|
42
|
+
### Added
|
|
43
|
+
|
|
44
|
+
- Dependabot for automated pip and GitHub Actions dependency updates
|
|
45
|
+
- Pre-commit hooks with ruff, trailing whitespace, end-of-file, YAML, and changelog checks
|
|
46
|
+
- `py.typed` marker for PEP 561 type checking support
|
|
47
|
+
- Top-level lazy exports (`from arksim import run_simulation, Evaluator, ...`)
|
|
48
|
+
- `.editorconfig` for consistent editor settings
|
|
49
|
+
- `Makefile` with common dev commands
|
|
50
|
+
- Issue template chooser linking to docs and discussions
|
|
51
|
+
- Documentation and Changelog checklist in PR template
|
|
52
|
+
|
|
53
|
+
- CI restructured: separate Lint job, test matrix on Python 3.10 through 3.13, PR checks (title, description, changelog) in one job
|
|
54
|
+
- Dependabot PRs now auto-labeled `skip-changelog` to bypass changelog CI check
|
|
55
|
+
|
|
56
|
+
## [0.0.1] - 2026-03-02
|
|
57
|
+
|
|
58
|
+
### Added
|
|
59
|
+
|
|
60
|
+
- Multi-turn conversation simulation with configurable scenarios
|
|
61
|
+
- Quantitative and qualitative evaluation metrics
|
|
62
|
+
- Chat Completions and A2A agent protocol support
|
|
63
|
+
- CLI (`arksim simulate`, `arksim evaluate`, `arksim simulate-evaluate`)
|
|
64
|
+
- Python SDK with `run_simulation()` and `run_evaluation()`
|
|
65
|
+
- Parallel execution with configurable worker count
|
|
66
|
+
- Example setups for e-commerce and bank insurance use cases
|
|
67
|
+
- OpenAI, Anthropic, Google Gemini, and Azure OpenAI provider support
|
|
68
|
+
- HTML report generation for evaluation results
|
|
69
|
+
|
|
70
|
+
[Unreleased]: https://github.com/arklexai/arksim/compare/v0.0.1...HEAD
|
|
71
|
+
[0.0.1]: https://github.com/arklexai/arksim/releases/tag/v0.0.1
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our Pledge
|
|
4
|
+
|
|
5
|
+
We as members, contributors, and leaders pledge to make participation in our
|
|
6
|
+
community a harassment-free experience for everyone, regardless of age, body
|
|
7
|
+
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
|
8
|
+
identity and expression, level of experience, education, socio-economic status,
|
|
9
|
+
nationality, personal appearance, race, caste, color, religion, or sexual
|
|
10
|
+
identity and orientation.
|
|
11
|
+
|
|
12
|
+
We pledge to act and interact in ways that contribute to an open, welcoming,
|
|
13
|
+
diverse, inclusive, and healthy community.
|
|
14
|
+
|
|
15
|
+
## Our Standards
|
|
16
|
+
|
|
17
|
+
Examples of behavior that contributes to a positive environment:
|
|
18
|
+
|
|
19
|
+
- Using welcoming and inclusive language
|
|
20
|
+
- Being respectful of differing viewpoints and experiences
|
|
21
|
+
- Gracefully accepting constructive criticism
|
|
22
|
+
- Focusing on what is best for the community
|
|
23
|
+
- Showing empathy towards other community members
|
|
24
|
+
|
|
25
|
+
Examples of unacceptable behavior:
|
|
26
|
+
|
|
27
|
+
- The use of sexualized language or imagery, and sexual attention or advances of any kind
|
|
28
|
+
- Trolling, insulting or derogatory comments, and personal or political attacks
|
|
29
|
+
- Public or private harassment
|
|
30
|
+
- Publishing others' private information without explicit permission
|
|
31
|
+
- Other conduct which could reasonably be considered inappropriate in a professional setting
|
|
32
|
+
|
|
33
|
+
## Enforcement
|
|
34
|
+
|
|
35
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
36
|
+
reported to the project maintainers at **support@arklex.ai**. All complaints will
|
|
37
|
+
be reviewed and investigated promptly and fairly.
|
|
38
|
+
|
|
39
|
+
## Attribution
|
|
40
|
+
|
|
41
|
+
This Code of Conduct is adapted from the
|
|
42
|
+
[Contributor Covenant](https://www.contributor-covenant.org/), version 2.1.
|