Skip to main content

Cloudflare Workers AI

该提供商支持由Cloudflare Workers AI提供的模型,这是一个无服务器的边缘嵌入和推理运行时。

必需的配置

调用Workers AI需要用户提供一个具有足够权限调用Workers AI REST端点的Cloudflare账户ID和API密钥。

export CLOUDFLARE_ACCOUNT_ID=YOUR_ACCOUNT_ID_HERE
export CLOUDFLARE_API_KEY=YOUR_API_KEY_HERE

Cloudflare账户ID不是秘密信息,因此可以安全地将其放入您的promptfoo配置文件中。Cloudflare API密钥是秘密的,因此虽然您可以在配置中提供它,但强烈不建议这样做,因为它可能导致滥用。请参见下面的安全配置示例:

prompts:
- Tell me a really funny joke about {{topic}}. The joke should contain the word {{topic}}

providers:
- id: cloudflare-ai:chat:@cf/meta/llama-3-8b-instruct
config:
accountId: YOUR_ACCOUNT_ID_HERE
# 不建议在配置文件中保留您的API密钥,因为它是一个秘密值。
# 使用CLOUDFLARE_API_KEY环境变量或在配置中设置apiKeyEnvar值
# apiKey: YOUR_API_KEY_HERE
# apiKeyEnvar: SOME_ENV_HAR_CONTAINING_THE_API_KEY

tests:
- vars:
topic: birds
assert:
- type: icontains
value: '{{topic}}'

除了允许CLOUDFLARE_API_KEY值的环境变量重定向的apiKeyEnvar外,还可以使用accountIdEnvar来类似地重定向CLOUDFLARE_ACCOUNT_ID的值。

可用模型和模型参数

Cloudflare不断向其库存中添加新模型。请参阅他们的官方模型列表以获取支持的模型列表。不同的模型支持不同的参数,这些参数可以通过在promptfoo配置文件中将这些参数作为配置对象的附加键来提供。

有关如何提供高级嵌入配置的示例,请参见examples/cloudflare-ai/embedding_configuration.yaml

有关如何提供高级完成/聊天配置的示例,请参见examples/cloudflare-ai/chat_advanced_configuration.yaml

不同的模型支持不同的参数。虽然此提供商努力保持相对灵活,但可能并非所有可能的参数都已添加。如果您需要支持尚未支持的参数,请打开一个PR以添加支持。

未来改进

  • 允许传递Cloudflare REST API的所有通用配置参数