@ cat- factory/ productor- bedrok (英语)
选入 AWS 贝德洛克 cat-factory 的 AI 供给外观的模型解析器:让一个 部署通过 Amazon Bedrock 与(或代替) 内置直接 卖家.
为什么这是它自己的包
Bedrock支持在AWS Bedrock SDK(英语:@ai-sdk/amazon-bedrock + 键 ai)),为重
和任何没有使用贝德洛克的部署无关 保存在单独的选入中
软件包是指核心包和Cloudflare Worker Base Register 注册时不受SDK的限制:
只是一个假象,实际上电线 贝德洛克支付它。 提供单一供应商
(单位:千美元)bedrock改为a CompositeModelProvider 通过中性 ModelResolver 编号 : ProviderRegistry
从 @cat-factory/agents;没有模式分辨率逻辑重复.
扶持它
该套件输出两个助手:
bedrockResolver(opts)− a 个ModelResolver联 合 国bedrock供养.bedrockRegistry(opts)− a 个ProviderRegistry(单位:千美元){ bedrock: resolver }准备混入.
节点/ 本地外观: 通过 env
节点外接线自动接通 何时 BEDROCK_REGION 设定 (见
createNodeModelProviderResolver 内 backend/runtimes/node/src/modelProvider.ts; 其附录
bedrockRegistry(...) 至复合材料的额外登记册:
// ONE pair of readers, shared with the model catalog's `bedrock` capability: see below.
const bedrockRegion = bedrockRegionFromEnv(env)
if (bedrockRegion) {
const supportedModels = bedrockAllowListFromEnv(env)
extraRegistries.push(
bedrockRegistry({
region: bedrockRegion,
accessKeyId: env.AWS_ACCESS_KEY_ID,
secretAccessKey: env.AWS_SECRET_ACCESS_KEY,
sessionToken: env.AWS_SESSION_TOKEN,
...(supportedModels ? { supportedModels: [...supportedModels] } : {}),
}),
)
}
因此,一个节点/局部部署只选择使用内嵌: BEDROCK_REGION (使能所需),
选项 AWS_ACCESS_KEY_ID 编号 : AWS_SECRET_ACCESS_KEY 编号 : AWS_SESSION_TOKEN (将使用
环境 AWS 证书链;实例角色, ~/.aws页:1 BEDROCK_MODELS
(复合-分离的允许列表).
BEDROCK_MODELS 履行双重义务这就是为什么它被解析
bedrockAllowListFromEnv (单位:千美元)@cat-factory/server)而不是内含:同值变为
此解析器的允许列表 ProviderCapabilities.bedrockModels,以决定是否
分类模型 bedrock 口味在取取器中可以选择. 分开解析, 拾取者
可以提供这个解析器的识别码 细节 :
model-support.md 第8条。 。 。 .
Cloudflare 工人外观:通过 registerModelRegistry
没有SDK的工人基地注册船;启动时部署混合了Bedrock
通过安装级模型提供者扩展点(见
backend/runtimes/cloudflare/src/infrastructure/ai/registries.ts:
import { registerModelRegistry } from '@cat-factory/worker'
import { bedrockRegistry } from '@cat-factory/provider-bedrock'
registerModelRegistry((env) => bedrockRegistry({ region: env.BEDROCK_REGION }))
登记是全过程的,由每个人阅读 buildContainer(env) 打电话,所以提供者
到达所有路径( HTTP 请求、 持久工作流程驱动程序、 和 cron 扫描器)
一个入口。 工厂收到运行时间 env因此,全权证书/区域来自
部署的配置.
登记也是在这个外观上解锁取物口味的. 工人读
BEDROCK_REGION 编号 : BEDROCK_MODELS 但只授予能力
(a) 已登记登记处能够实际服务 bedrock (单位:千美元)bedrockModelsCapability 内
ai/registries.ts: 仅凭env vars并不能证明这个包裹是混合的,并且提供
他们的口味会把排 在拾取器中 其调度失败。 设置但未注册的日志 a
警告名称已丢失 registerModelRegistry 电话.
如何解决模式
解析器向前 ref.model 给贝德罗克供应商的createAmazonBedrock(...)) (中文(简体) ). 一个模型是
由Bedrock模型id(例如:. anthropic.claude-3-5-sonnet-20240620-v1:0) (中文(简体) ). 何时
supportedModels 设置, 解决允许列表外的任意丢弃
Unsupported Bedrock model: <id> 在前面,因此一个配置错误的模型在清晰的情况下迅速失效
信件而不是深 AWS SDK 错误。 奥米 supportedModels 以转发任何模式标识.
配置( E)BedrockResolverOptions(中文(简体) )
| 选项 | 目的 |
|---|---|
region | AWS区域,例如:. us-east-1。 。 。 . |
accessKeyId | 明确 AWS 访问密钥; 不使用默认 AWS 证书链 . |
secretAccessKey | 明确 AWS 密钥. |
sessionToken | 明确AWS会话代号(临时全权证书). |
baseURL | 覆盖 Bedrock 基础 URL(例如 VPC 端点). |
supportedModels | 允许列表 Bedrock 型号 ids; 解决其外所抛出的任何问题. 允许任何. |
相关
猫因子选入的一部分 AWS 堆栈 并行 @cat-factory/provider-s3
(blob存储)和 @cat-factory/eks (跑者+环境后端). 每个都是
独立并登记在自己的接缝中:只将您使用的混合.