mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-06-17 15:35:21 +02:00
85 lines
No EOL
2.3 KiB
Python
85 lines
No EOL
2.3 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
@Time : 2023/5/1 11:59
|
|
@Author : alexanderwu
|
|
@File : const.py
|
|
"""
|
|
from pathlib import Path
|
|
|
|
|
|
def get_project_root():
|
|
"""Search upwards to find the project root directory."""
|
|
current_path = Path.cwd()
|
|
while True:
|
|
if (
|
|
(current_path / ".git").exists()
|
|
or (current_path / ".project_root").exists()
|
|
or (current_path / ".gitignore").exists()
|
|
):
|
|
return current_path
|
|
parent_path = current_path.parent
|
|
if parent_path == current_path:
|
|
raise Exception("Project root not found.")
|
|
current_path = parent_path
|
|
|
|
|
|
PROJECT_ROOT = get_project_root()
|
|
DATA_PATH = PROJECT_ROOT / "data"
|
|
WORKSPACE_ROOT = PROJECT_ROOT / "workspace"
|
|
PROMPT_PATH = PROJECT_ROOT / "metagpt/prompts"
|
|
UT_PATH = PROJECT_ROOT / "data/ut"
|
|
SWAGGER_PATH = UT_PATH / "files/api/"
|
|
UT_PY_PATH = UT_PATH / "files/ut/"
|
|
API_QUESTIONS_PATH = UT_PATH / "files/question/"
|
|
YAPI_URL = "http://yapi.deepwisdomai.com/"
|
|
TMP = PROJECT_ROOT / "tmp"
|
|
RESEARCH_PATH = DATA_PATH / "research"
|
|
TUTORIAL_PATH = DATA_PATH / "tutorial_docx"
|
|
|
|
SKILL_DIRECTORY = PROJECT_ROOT / "metagpt/skills"
|
|
|
|
MEM_TTL = 24 * 30 * 3600
|
|
|
|
### MineCraft ###
|
|
CKPT_DIR = PROJECT_ROOT / "metagpt/ckpt"
|
|
LOG_DIR = PROJECT_ROOT / "logs"
|
|
|
|
DEFAULT_WARMUP = {
|
|
"context": 15,
|
|
"biome": 10,
|
|
"time": 15,
|
|
"nearby_blocks": 0,
|
|
"other_blocks": 10,
|
|
"nearby_entities": 5,
|
|
"health": 15,
|
|
"hunger": 15,
|
|
"position": 0,
|
|
"equipment": 0,
|
|
"inventory": 0,
|
|
"optional_inventory_items": 7,
|
|
"chests": 0,
|
|
"completed_tasks": 0,
|
|
"failed_tasks": 0,
|
|
}
|
|
|
|
CURRICULUM_OB = [
|
|
"context",
|
|
"biome",
|
|
"time",
|
|
"nearby_blocks",
|
|
"other_blocks",
|
|
"nearby_entities",
|
|
"health",
|
|
"hunger",
|
|
"position",
|
|
"equipment",
|
|
"inventory",
|
|
"chests",
|
|
"completed_tasks",
|
|
"failed_tasks",
|
|
]
|
|
|
|
|
|
CORE_INVENTORY_ITEMS = r".*_log|.*_planks|stick|crafting_table|furnace"
|
|
r"|cobblestone|dirt|coal|.*_pickaxe|.*_sword|.*_axe", # curriculum_agent: only show these items in inventory before optional_inventory_items reached in warm up |