如何进行设置?
May 15, 2026 · View on GitHub
在 OxyGent 中,您可以使用 设置(Config) 来管理您的自定义内容。
Config 是 OxyGent 的集中式配置管理系统。通过 Config,您可以设置全局默认值(如默认 LLM、默认温度参数等),避免在每个组件中重复传递参数。
Config 支持两种配置方式:
- 代码配置:通过
Config.set_xxx()方法在代码中设置 - 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())
相关示例
- Config 设置示例 — Config 的详细使用方法
- 日志设置示例 — 日志配置相关示例
- LLM 参数重置示例 — 动态设置 LLM 参数