如何进行设置?

May 15, 2026 · View on GitHub

在 OxyGent 中,您可以使用 设置(Config) 来管理您的自定义内容。

Config 是 OxyGent 的集中式配置管理系统。通过 Config,您可以设置全局默认值(如默认 LLM、默认温度参数等),避免在每个组件中重复传递参数。

Config 支持两种配置方式:

  1. 代码配置:通过 Config.set_xxx() 方法在代码中设置
  2. JSON 文件配置:通过 Config.load_from_json("config.json") 从文件加载

JSON 文件示例(config.json):

{
  "default": {
    "llm": {
      "temperature": 0.2,
      "timeout": 300
    },
    "server": {
      "port": 8080
    }
  }
}

JSON 配置支持环境变量替换:使用 ${VAR_NAME} 语法引用环境变量。支持环境分层(default + 环境名),通过 APP_ENV 环境变量选择。

1. 设置 LLM 模型

如果您的多个 Agent 都使用相同的 LLM,您可以通过设置 LLM 来方便地管理这些 Agent,使得所有的 Agent 使用您指定的 llm_name

Config.set_agent_llm_model("default_llm")

2. 加载设置

您可以通过加载设置的方法导入配置文件:

Config.load_from_json("./config.json", env="default")

3. 设置模型参数

您可以通过 Config.set_llm_config 方法设置模型的参数。例如,设置温度、最大 token 数量和 top-p:

Config.set_llm_config(
    {
        "temperature": 0.2,
        "max_tokens": 2048,
        "top_p": 0.9,
    }
)

4. 设置日志格式

您可以通过 Config.set_log_config 设置日志记录的详细信息,包括日志的路径、日志级别以及颜色等:

Config.set_log_config(
    {
        "path": "./cache_dir/demo.log",
        "level_root": "DEBUG",
        "level_terminal": "DEBUG",
        "level_file": "DEBUG",
        "color_is_on_background": True,
        "is_bright": True,
        "only_message_color": False,
        "color_tool_call": "MAGENTA",
        "color_observation": "GREEN",
        "is_detailed_tool_call": True,
        "is_detailed_observation": True,
    }
)

5. 设置智能体输入格式

您可以通过 Config.set_agent_input_schema 来设置智能体的输入格式,定义输入的属性及必需字段:

Config.set_agent_input_schema(
    {
        "properties": {
            "query": {"description": "Query question"},
            "path": {"description": "File path to save the result"},
        },
        "required": ["query"],
    }
)

6. 设置结果输出格式

您可以通过 Config.set_message_config 设置结果的输出格式,决定是否发送工具调用、观察信息、思考过程或最终答案:

Config.set_message_config(
    {
        "is_send_tool_call": False,
        "is_send_observation": False,
        "is_send_think": False,
        "is_send_answer": True,
    }
)

完整的可运行样例

以下是可运行的完整代码示例:

import asyncio

from oxygent import MAS, oxy, Config
import os
from oxygent import preset_tools

Config.set_agent_llm_model("default_llm")

oxy_space = [
    oxy.HttpLLM(
        name="default_llm",
        api_key=os.getenv("DEFAULT_LLM_API_KEY"),
        base_url=os.getenv("DEFAULT_LLM_BASE_URL"),
        model_name=os.getenv("DEFAULT_LLM_MODEL_NAME"),
        llm_params={"temperature": 0.01},
        semaphore=4,
        timeout=240,
    ),
    preset_tools.file_tools,
    oxy.ReActAgent(
        name="master_agent",
        is_master=True,
        tools=["file_tools"],
    ),
]


async def main():
    async with MAS(oxy_space=oxy_space) as mas:
        await mas.start_web_service(
            first_query="Hello!"
        )


if __name__ == "__main__":
    asyncio.run(main())

上一章:管理工具调用 下一章:设置数据库 回到首页


相关示例