chore: initial commit for Pretor v0.1.0-alpha
正式发布 Pretor 平台的首个 alpha 版本。本项目旨在构建一个基于分布式架构的多智能体协同工作流水线。 核心功能实现: 1. 建立基于 BaseIndividual 的动态插件加载机制。 2. 实现三类核心 worker_individual 子个体。 3. 集成 Ray 框架支持分布式集群调度。 4. 基于 PostgreSQL 的全量持久化存储方案。 5. 提供完整的 FastAPI 后端与 React 前端交互界面。
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
import pytest
|
||||
from unittest.mock import MagicMock, patch
|
||||
from pretor.adapter.model_adapter.agent_factory import AgentFactory
|
||||
from pretor.utils.error import ModelNotExistError
|
||||
|
||||
|
||||
def test_create_agent_success_real():
|
||||
mock_provider = MagicMock()
|
||||
mock_provider.provider_type = "openai"
|
||||
mock_provider.provider_models = ["gpt-4"]
|
||||
mock_provider.provider_apikey = "key"
|
||||
mock_provider.provider_url = "url"
|
||||
|
||||
with patch("pretor.adapter.model_adapter.agent_factory.Agent") as mock_agent_cls:
|
||||
with patch("pretor.adapter.model_adapter.agent_factory.OpenAIChatModel") as mock_model_cls:
|
||||
with patch("pretor.adapter.model_adapter.agent_factory.OpenAIProvider") as mock_provider_cls:
|
||||
factory = AgentFactory()
|
||||
agent = factory.create_agent(
|
||||
provider=mock_provider,
|
||||
model_id="gpt-4",
|
||||
output_type=str,
|
||||
system_prompt="You are an AI",
|
||||
deps_type=dict,
|
||||
agent_name="myagent"
|
||||
)
|
||||
mock_provider_cls.assert_called_once_with(api_key="key", base_url="url")
|
||||
mock_model_cls.assert_called_once_with("gpt-4", provider=mock_provider_cls.return_value)
|
||||
mock_agent_cls.assert_called_once_with(
|
||||
model=mock_model_cls.return_value,
|
||||
name="myagent",
|
||||
system_prompt="You are an AI",
|
||||
output_type=str,
|
||||
deps_type=dict,
|
||||
tools=None
|
||||
)
|
||||
assert agent == mock_agent_cls.return_value
|
||||
|
||||
|
||||
def test_create_agent_model_not_exist():
|
||||
factory = AgentFactory()
|
||||
mock_provider = MagicMock()
|
||||
mock_provider.provider_models = ["gpt-3"]
|
||||
|
||||
with pytest.raises(ModelNotExistError):
|
||||
factory.create_agent(mock_provider, "gpt-4", str, "prompt", dict, "agent")
|
||||
|
||||
|
||||
def test_create_agent_invalid_provider_type():
|
||||
factory = AgentFactory()
|
||||
mock_provider = MagicMock()
|
||||
mock_provider.provider_type = "unknown"
|
||||
mock_provider.provider_models = ["gpt-4"]
|
||||
|
||||
with pytest.raises(ValueError, match="不支持的协议类型: unknown"):
|
||||
factory.create_agent(mock_provider, "gpt-4", str, "prompt", dict, "agent")
|
||||
Reference in New Issue
Block a user