Skip to main content

This repository is used to train AI agents to predict good strategies in a social learning game based on a NK landscape.

Project description

human-ai-social-learning

Code style: black PEP8

Description

Installation

This project uses Poetry for package management. If you haven't installed Poetry yet, please follow the instructions on the official Poetry website.

To install the project:

  1. Clone the repository:

    git clone https://github.com/your-username/human-ai-social-learning.git
    cd human-ai-social-learning
    
  2. Install dependencies with Poetry:

    poetry install
    
  3. Activate the virtual environment:

    poetry shell
    
  4. (Optional) Set up Jupyter kernel for notebooks:

    poetry run python -m ipykernel install --user --name nk-cce-kernel
    

Now your development environment is set up and ready to use.

Environment Setup (Optional)

For features that use external APIs, copy .env.example to .env and fill in values:

cp .env.example .env

The project uses python-dotenv to load .env. Keys:

Variable Purpose
AZURE_OPENAI_ENDPOINT Azure OpenAI API endpoint URL
AZURE_OPENAI_API_KEY Azure OpenAI API key
HUGGINGFACE_TOKEN Hugging Face token (e.g. for evaluate)
WANDB_API_KEY Weights & Biases API key
  • Azure OpenAI: LLM-based agents or API calls.
  • Hugging Face: If using evaluate or HF-hosted models.
  • W&B: Experiment tracking and logging.

Core simulation (hill climber, BiasedPredictionAgent, fake AI test) does not require these keys.

Contributing

We welcome contributions! Please note:

  1. Please create a descriptive branch for each contribution (naming convention feature_type/feature_name)
  2. Follow the project style (PEP 8 for Python).
  3. Add tests and run all before commit. (At least one test per function or method.)
  4. Write meaningful commit messages.
  5. Keep in line with pre-commit linting.
  6. Submit a Pull Request, to include your code into main.

Pre-commit Hooks

We use pre-commit hooks. Installation:

poetry add pre-commit
pre-commit install
pre-commit run --all-files

Running Tests

Tests need to be run in the virtual environment. You can use Poetry or Visual Studio Code settings to do so automatically.

To run all tests using Poetry run:

poetry run pytest

We included Visual Studio Code settings in the repository. You can try to use them to run the tests within Visual Studio Code.

.vscode/
├── settings.json
├── launch.json

Documentation

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

ai_nk_cce-0.2.0.tar.gz (27.4 kB view details)

Uploaded Source

Built Distribution

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

ai_nk_cce-0.2.0-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

Details for the file ai_nk_cce-0.2.0.tar.gz.

File metadata

  • Download URL: ai_nk_cce-0.2.0.tar.gz
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.10.0 Darwin/25.2.0

File hashes

Hashes for ai_nk_cce-0.2.0.tar.gz
Algorithm Hash digest
SHA256 14d97872854fd78b8ac44898886591e1c471ae681d81f4411222dfa7a4173dd4
MD5 1237ba3b063c2361a2f7df7c03fc0ac1
BLAKE2b-256 548a356c2ec95a60c466de9e159206f1364f533b222e18fd04e653d97db2ecf5

See more details on using hashes here.

File details

Details for the file ai_nk_cce-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ai_nk_cce-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 31.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.10.0 Darwin/25.2.0

File hashes

Hashes for ai_nk_cce-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d0cbded31b65c9f3b662655b857abcb3f9bdb718f144665808ce46e4c22f6141
MD5 78d9f000bd0375db6c2e4cfee0dad149
BLAKE2b-256 79a5b0314a77c2eed104ae7f971d6fc95669f9601002dc36826bfc2dda9b5115

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