agentrun-sdk 0.0.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. agentrun/__init__.py +209 -0
  2. agentrun/agent_runtime/__client_async_template.py +466 -0
  3. agentrun/agent_runtime/__endpoint_async_template.py +345 -0
  4. agentrun/agent_runtime/__init__.py +53 -0
  5. agentrun/agent_runtime/__runtime_async_template.py +477 -0
  6. agentrun/agent_runtime/api/__data_async_template.py +58 -0
  7. agentrun/agent_runtime/api/__init__.py +6 -0
  8. agentrun/agent_runtime/api/control.py +1362 -0
  9. agentrun/agent_runtime/api/data.py +98 -0
  10. agentrun/agent_runtime/client.py +868 -0
  11. agentrun/agent_runtime/endpoint.py +649 -0
  12. agentrun/agent_runtime/model.py +362 -0
  13. agentrun/agent_runtime/runtime.py +904 -0
  14. agentrun/credential/__client_async_template.py +177 -0
  15. agentrun/credential/__credential_async_template.py +216 -0
  16. agentrun/credential/__init__.py +28 -0
  17. agentrun/credential/api/__init__.py +5 -0
  18. agentrun/credential/api/control.py +606 -0
  19. agentrun/credential/client.py +319 -0
  20. agentrun/credential/credential.py +381 -0
  21. agentrun/credential/model.py +248 -0
  22. agentrun/integration/__init__.py +21 -0
  23. agentrun/integration/agentscope/__init__.py +12 -0
  24. agentrun/integration/agentscope/adapter.py +17 -0
  25. agentrun/integration/agentscope/builtin.py +65 -0
  26. agentrun/integration/agentscope/message_adapter.py +185 -0
  27. agentrun/integration/agentscope/model_adapter.py +60 -0
  28. agentrun/integration/agentscope/tool_adapter.py +59 -0
  29. agentrun/integration/builtin/__init__.py +16 -0
  30. agentrun/integration/builtin/model.py +97 -0
  31. agentrun/integration/builtin/sandbox.py +276 -0
  32. agentrun/integration/builtin/toolset.py +47 -0
  33. agentrun/integration/crewai/__init__.py +12 -0
  34. agentrun/integration/crewai/adapter.py +9 -0
  35. agentrun/integration/crewai/builtin.py +65 -0
  36. agentrun/integration/crewai/model_adapter.py +27 -0
  37. agentrun/integration/crewai/tool_adapter.py +26 -0
  38. agentrun/integration/google_adk/__init__.py +12 -0
  39. agentrun/integration/google_adk/adapter.py +15 -0
  40. agentrun/integration/google_adk/builtin.py +65 -0
  41. agentrun/integration/google_adk/message_adapter.py +144 -0
  42. agentrun/integration/google_adk/model_adapter.py +43 -0
  43. agentrun/integration/google_adk/tool_adapter.py +25 -0
  44. agentrun/integration/langchain/__init__.py +9 -0
  45. agentrun/integration/langchain/adapter.py +15 -0
  46. agentrun/integration/langchain/builtin.py +71 -0
  47. agentrun/integration/langchain/message_adapter.py +141 -0
  48. agentrun/integration/langchain/model_adapter.py +37 -0
  49. agentrun/integration/langchain/tool_adapter.py +50 -0
  50. agentrun/integration/langgraph/__init__.py +13 -0
  51. agentrun/integration/langgraph/adapter.py +20 -0
  52. agentrun/integration/langgraph/builtin.py +65 -0
  53. agentrun/integration/pydantic_ai/__init__.py +12 -0
  54. agentrun/integration/pydantic_ai/adapter.py +13 -0
  55. agentrun/integration/pydantic_ai/builtin.py +65 -0
  56. agentrun/integration/pydantic_ai/model_adapter.py +44 -0
  57. agentrun/integration/pydantic_ai/tool_adapter.py +19 -0
  58. agentrun/integration/utils/__init__.py +112 -0
  59. agentrun/integration/utils/adapter.py +167 -0
  60. agentrun/integration/utils/canonical.py +157 -0
  61. agentrun/integration/utils/converter.py +134 -0
  62. agentrun/integration/utils/model.py +107 -0
  63. agentrun/integration/utils/tool.py +1714 -0
  64. agentrun/model/__client_async_template.py +357 -0
  65. agentrun/model/__init__.py +57 -0
  66. agentrun/model/__model_proxy_async_template.py +270 -0
  67. agentrun/model/__model_service_async_template.py +267 -0
  68. agentrun/model/api/__init__.py +6 -0
  69. agentrun/model/api/control.py +1173 -0
  70. agentrun/model/api/data.py +196 -0
  71. agentrun/model/client.py +674 -0
  72. agentrun/model/model.py +218 -0
  73. agentrun/model/model_proxy.py +439 -0
  74. agentrun/model/model_service.py +438 -0
  75. agentrun/sandbox/__browser_sandbox_async_template.py +113 -0
  76. agentrun/sandbox/__client_async_template.py +466 -0
  77. agentrun/sandbox/__code_interpreter_sandbox_async_template.py +466 -0
  78. agentrun/sandbox/__init__.py +54 -0
  79. agentrun/sandbox/__sandbox_async_template.py +398 -0
  80. agentrun/sandbox/__template_async_template.py +150 -0
  81. agentrun/sandbox/api/__browser_data_async_template.py +140 -0
  82. agentrun/sandbox/api/__code_interpreter_data_async_template.py +206 -0
  83. agentrun/sandbox/api/__init__.py +17 -0
  84. agentrun/sandbox/api/__sandbox_data_async_template.py +100 -0
  85. agentrun/sandbox/api/browser_data.py +172 -0
  86. agentrun/sandbox/api/code_interpreter_data.py +396 -0
  87. agentrun/sandbox/api/control.py +1051 -0
  88. agentrun/sandbox/api/playwright_async.py +492 -0
  89. agentrun/sandbox/api/playwright_sync.py +492 -0
  90. agentrun/sandbox/api/sandbox_data.py +140 -0
  91. agentrun/sandbox/browser_sandbox.py +191 -0
  92. agentrun/sandbox/client.py +878 -0
  93. agentrun/sandbox/code_interpreter_sandbox.py +829 -0
  94. agentrun/sandbox/model.py +269 -0
  95. agentrun/sandbox/sandbox.py +737 -0
  96. agentrun/sandbox/template.py +215 -0
  97. agentrun/server/__init__.py +82 -0
  98. agentrun/server/invoker.py +131 -0
  99. agentrun/server/model.py +225 -0
  100. agentrun/server/openai_protocol.py +798 -0
  101. agentrun/server/protocol.py +96 -0
  102. agentrun/server/server.py +192 -0
  103. agentrun/toolset/__client_async_template.py +62 -0
  104. agentrun/toolset/__init__.py +51 -0
  105. agentrun/toolset/__toolset_async_template.py +204 -0
  106. agentrun/toolset/api/__init__.py +17 -0
  107. agentrun/toolset/api/control.py +262 -0
  108. agentrun/toolset/api/mcp.py +100 -0
  109. agentrun/toolset/api/openapi.py +1184 -0
  110. agentrun/toolset/client.py +102 -0
  111. agentrun/toolset/model.py +160 -0
  112. agentrun/toolset/toolset.py +271 -0
  113. agentrun/utils/__data_api_async_template.py +715 -0
  114. agentrun/utils/__init__.py +5 -0
  115. agentrun/utils/__resource_async_template.py +158 -0
  116. agentrun/utils/config.py +258 -0
  117. agentrun/utils/control_api.py +78 -0
  118. agentrun/utils/data_api.py +1110 -0
  119. agentrun/utils/exception.py +149 -0
  120. agentrun/utils/helper.py +34 -0
  121. agentrun/utils/log.py +77 -0
  122. agentrun/utils/model.py +168 -0
  123. agentrun/utils/resource.py +291 -0
  124. agentrun_sdk-0.0.4.dist-info/METADATA +262 -0
  125. agentrun_sdk-0.0.4.dist-info/RECORD +128 -0
  126. agentrun_sdk-0.0.4.dist-info/WHEEL +5 -0
  127. agentrun_sdk-0.0.4.dist-info/licenses/LICENSE +201 -0
  128. agentrun_sdk-0.0.4.dist-info/top_level.txt +1 -0
@@ -0,0 +1,107 @@
1
+ """通用模型定义和转换模块 / Common Model Definition and Conversion Module
2
+
3
+ 提供跨框架的通用模型定义和转换功能。
4
+ Provides cross-framework model definition and conversion capabilities.
5
+ """
6
+
7
+ from typing import Any, Optional, Union
8
+
9
+ from agentrun.model import BackendType, ModelProxy, ModelService
10
+ from agentrun.utils.config import Config
11
+ from agentrun.utils.log import logger
12
+
13
+
14
+ class CommonModel:
15
+ """通用模型定义
16
+
17
+ 封装 AgentRun 模型,提供跨框架转换能力。
18
+ """
19
+
20
+ def __init__(
21
+ self,
22
+ model: Optional[str],
23
+ model_obj: Union[ModelService, ModelProxy],
24
+ backend_type: Optional[BackendType] = None,
25
+ config: Optional[Config] = None,
26
+ ):
27
+ self.model = model
28
+ self.model_obj = model_obj
29
+ self.backend_type = backend_type
30
+ self.config = config or Config()
31
+
32
+ def completions(self, *args, **kwargs):
33
+ """调用底层模型的 completions 方法"""
34
+ return self.model_obj.completions(*args, **kwargs)
35
+
36
+ def responses(self, *args, **kwargs):
37
+ """调用底层模型的 responses 方法"""
38
+ return self.model_obj.responses(*args, **kwargs)
39
+
40
+ def get_model_info(self, config: Optional[Config] = None):
41
+ """获取模型信息"""
42
+ cfg = Config.with_configs(self.config, config)
43
+ return self.model_obj.model_info(config=cfg)
44
+
45
+ def __convert_model(self, adapter_name: str):
46
+ try:
47
+ from agentrun.integration.utils.converter import get_converter
48
+
49
+ converter = get_converter()
50
+ adapter = converter.get_model_adapter(adapter_name)
51
+ if adapter is not None:
52
+ return adapter.wrap_model(self)
53
+ except (ImportError, AttributeError, KeyError) as e:
54
+ logger.warning("convert model failed, due to %s", e)
55
+ pass
56
+
57
+ logger.warning(
58
+ f"Model adapter '{adapter_name}' not found. Falling back to default"
59
+ " implementation."
60
+ )
61
+
62
+ return ""
63
+
64
+ def to_google_adk(self) -> Any:
65
+ """转换为 Google ADK BaseLlm
66
+
67
+ 优先使用适配器模式,如果适配器未注册则回退到旧实现。
68
+ """
69
+ # 尝试使用适配器模式
70
+ return self.__convert_model("google_adk")
71
+
72
+ def to_langchain(self) -> Any:
73
+ """转换为 LangChain ChatModel
74
+
75
+ 优先使用适配器模式,如果适配器未注册则回退到旧实现。
76
+ """
77
+ # 尝试使用适配器模式
78
+ return self.__convert_model("langchain")
79
+
80
+ def __call__(self, messages: list, **kwargs) -> Any:
81
+ """直接调用模型"""
82
+ return self.completions(messages=messages, **kwargs)
83
+
84
+ def to_langgraph(self) -> Any:
85
+ """转换为 LangGraph 兼容的模型。
86
+
87
+ LangGraph 与 LangChain 完全兼容,因此使用相同的接口。
88
+ """
89
+ return self.__convert_model("langgraph")
90
+
91
+ def to_crewai(self) -> Any:
92
+ """转换为 CrewAI 兼容的模型。
93
+
94
+ CrewAI 内部使用 LangChain,因此使用相同的接口。
95
+ """
96
+ return self.__convert_model("crewai")
97
+
98
+ def to_pydantic_ai(self) -> Any:
99
+ """转换为 PydanticAI 兼容的模型。
100
+
101
+ PydanticAI 支持 OpenAI 兼容的接口,返回一个包装对象。
102
+ """
103
+ return self.__convert_model("pydantic_ai")
104
+
105
+ def to_agentscope(self) -> Any:
106
+ """转换为 AgentScope ChatModelBase。"""
107
+ return self.__convert_model("agentscope")