# 集成模型提供商
通过集成模型提供商，智能体可以按需快速调用已配置的模型服务，实现LLM推理能力的统一接入和调用。
模型提供商创建完成后，可以通过以下两种方式访问模型服务：
- [通过模型代理访问]：适用于关联了模型代理的模型提供商，通过模型代理的访问端点统一调用。
- [直接访问]：适用于公网网络配置的模型提供商，通过base_url直接调用。
 #### 通过模型代理访问
模型提供商关联模型代理后，通过模型代理的访问端点（endpoint）调用模型服务。模型代理提供统一的入站身份认证和请求路由，调用方无需关心后端模型提供商的认证和网络配置。
**请求路由**
推理请求通过 /inference/ 前缀路径路由到模型代理，与MCP请求的/mcp路径隔离。
**请求路径格式**：
```
https://{model_proxy_endpoint}/inference/{path}
```
其中 {path} 为标准API路径，如 /v1/chat/completions、/v1/messages 等。
model_proxy_endpoint获取方式：
1. 登录[AgentArts智能体平台](https://console.huaweicloud.com/agentarts/#/home/overview)。
2. 在左侧导航栏选择"托管与运行 \> 模型"，进入模型界面。
3. 单击模型卡片上的"查看"，进入模型详情页面。
4. 在"模型代理"区域查看获取。 
   ![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002775212023.png "点击放大")
   
   
**请求路由流程**：
1. 调用方通过模型代理端点发起推理请求，请求路径为 /inference/{path}。例如，调用OpenAI协议的文本对话接口，请求路径为 /inference/v1/chat/completions，请求体中携带model字段（如 model=gpt-4）。
2. 网关从请求体提取model字段，在已注册的模型列表中进行匹配。
3. 模型提供商附加出站认证信息，模型代理将请求转发到模型提供商后端。
4. 模型提供商返回响应，网关将响应返回给调用方。
**认证方式**
调用方需根据模型代理配置的入站身份认证方式，在请求中携带认证信息：
- **IAM 认证**：使用华为云IAM用户凭据进行认证。调用方需在请求中携带IAM用户的访问密钥（AK/SK）。
- **API Key 认证**：使用密钥对进行认证，调用方需在请求头中携带API Key名称和对应的密钥值。
![](https://support.huaweicloud.com/highcode-agentarts/public_sys-resources/note_3.0-zh-cn.png)
请求路径中的 {path} 必须与模型服务的API接口协议对应的请求路径一致。例如，OpenAI协议的文本对话模型使用/v1/chat/completions，Anthropic协议的文本对话模型使用/v1/messages。关于模型类型与请求路径的映射关系，请参见[支持的模型类型](https://support.huaweicloud.com/highcode-agentarts/agentarts_10_108.html#agentarts_10_108__section157694171417)。
以下以API Key认证为例，通过模型代理调用OpenAI协议的文本对话接口：
```
POST https://{model_proxy_endpoint}/inference/v1/chat/completions HTTP/1.1
Content-Type: application/json
{API_Key_Name}: {api_key_value}
{
    "model": "gpt-4",
    "messages": [
        {"role": "user", "content": "Hello, how are you?"}
    ]
}
```
以下以IAM认证为例，通过模型代理调用Anthropic协议的文本对话接口：
```
POST https://{model_proxy_endpoint}/inference/v1/messages HTTP/1.1
Content-Type: application/json
Authorization: SDK-HMAC-SHA256 Credential={access_key}/{date}/region/agentarts, ...
{
    "model": "claude-3-opus",
    "messages": [
        {"role": "user", "content": "Hello, how are you?"}
    ]
}
```
 #### 直接访问
对于公网网络配置的模型提供商，可以不关联模型代理，通过base_url直接调用模型服务。直接访问时，调用方需自行管理模型提供商的认证信息。
![](https://support.huaweicloud.com/highcode-agentarts/public_sys-resources/note_3.0-zh-cn.png)
- 公网网络配置的模型提供商可以不关联模型代理，直接通过base_url访问，也可以关联模型代理通过模型代理访问。
- 私网网络配置的模型提供商必须关联模型代理，通过模型代理的VPC网络访问。
 
以下以 API Key 认证为例，通过base_url直接调用OpenAI协议的文本对话接口：
```
POST {base_url}/v1/chat/completions HTTP/1.1
Content-Type: application/json
Authorization: Bearer {api_key}
{
    "model": "gpt-4",
    "messages": [
        {"role": "user", "content": "Hello, how are you?"}
    ]
}
```
以下通过base_url直接调用Anthropic协议的文本对话接口：
```
POST {base_url}/v1/messages HTTP/1.1
Content-Type: application/json
x-api-key: {api_key}
{
    "model": "claude-3-opus",
    "messages": [
        {"role": "user", "content": "Hello, how are you?"}
    ]
}
```
