跳到主要内容
SolidwayLLM 网关

以下页面描述网关的预期行为。开源版本与企业版本正在拆分中,首个正式版本发布后细节会同步更新。

透明转发

网关究竟保留了什么,以及它从不触碰什么。

转发路径只有一件事要做:把字节从客户端搬到 provider,再把响应搬回来,中途不改动它们。

保留的内容

网关不会为了改写而解析请求体。以下内容原封不动地到达 provider:

  • 请求体,按字节
  • Header 顺序与大小写
  • 查询串,包括参数顺序
  • 流式分块边界
  • 提示词前缀,因此 provider 侧的提示缓存保持有效

网关会做的事(一份封闭清单)

改动 原因
添加一个凭据 Header(或一段签名) 向 provider 认证
Host 请求是发给 provider 的,不是发给网关的
丢弃 hop-by-hop Header HTTP/1.1 与 HTTP/2 的要求
注入 traceparent(开启追踪时) W3C 追踪上下文传递

除此之外,不增加、不删除、不重排任何内容。

只读取、不修改的部分

路由需要几个事实才能选出目标。这些事实从请求的副本中读取,绝不写回:

  • 匹配到的路由,用于确定哪个 provider 可以服务该路径
  • 模型名,当路由声明了它出现在哪里时
  • 已认证的身份,用于限流与归属统计

为了计量而读取,不等于改写。 转发出去的字节就是收到的字节。

路由如何匹配

请求会与各 provider 声明的路由逐一比对。一条路由是「方法 + 路径模式」,当 provider 把可变部分 放在路径里时,可以使用正则。

没有匹配到任何路由的请求,会在发起任何上游调用之前以 404 拒绝。

下一步