Fireworks AI 入门指南
本指南展示如何设置一个最小化部署,以便通过Fireworks使用TensorZero网关。
简易设置
除非您需要后备方案或自定义凭证等高级功能,否则可以使用简写fireworks::model_name
在TensorZero中使用Fireworks模型。
您可以在TensorZero变体中使用Fireworks模型,只需将model
字段设置为fireworks::model_name
。
例如:
[functions.my_function_name.variants.my_variant_name]type = "chat_completion"model = "fireworks::accounts/fireworks/models/llama-v3p1-8b-instruct"
此外,您可以在推理请求中设置model_name
来使用特定的Fireworks模型,而无需在TensorZero中配置函数和变体。
curl -X POST http://localhost:3000/inference \ -H "Content-Type: application/json" \ -d '{ "model_name": "fireworks::accounts/fireworks/models/llama-v3p1-8b-instruct", "input": { "messages": [ { "role": "user", "content": "What is the capital of Japan?" } ] } }'
高级设置
在更复杂的场景中(例如回退机制、自定义凭证),您可以在TensorZero中配置自己的模型和Fireworks提供商。
对于这个最小化配置,您的项目目录中只需要两个文件:
Directoryconfig/
- tensorzero.toml
- docker-compose.yml
关于生产环境部署,请参阅我们的部署指南。
配置
创建一个最小化的配置文件,定义模型和一个简单的聊天功能:
[models.llama3_1_8b_instruct]routing = ["fireworks"]
[models.llama3_1_8b_instruct.providers.fireworks]type = "fireworks"model_name = "accounts/fireworks/models/llama-v3p1-8b-instruct"
[functions.my_function_name]type = "chat"
[functions.my_function_name.variants.my_variant_name]type = "chat_completion"model = "llama3_1_8b_instruct"
查看Fireworks平台上可用的模型列表。同时也支持自定义模型。
Credentials
在运行网关之前,您必须设置FIREWORKS_API_KEY
环境变量。
您可以通过将api_key_location
设置为env::YOUR_ENVIRONMENT_VARIABLE
或dynamic::ARGUMENT_NAME
来自定义凭证存储位置。
更多信息请参阅凭证管理指南和配置参考。
部署 (Docker Compose)
创建一个最小化的Docker Compose配置:
# This is a simplified example for learning purposes. Do not use this in production.# For production-ready deployments, see: https://www.tensorzero.com/docs/gateway/deployment
services: gateway: image: tensorzero/gateway volumes: - ./config:/app/config:ro command: --config-file /app/config/tensorzero.toml environment: - FIREWORKS_API_KEY=${FIREWORKS_API_KEY:?Environment variable FIREWORKS_API_KEY must be set.} ports: - "3000:3000" extra_hosts: - "host.docker.internal:host-gateway"
您可以通过docker compose up
命令启动网关。
推理
向网关发起推理请求:
curl -X POST http://localhost:3000/inference \ -H "Content-Type: application/json" \ -d '{ "function_name": "my_function_name", "input": { "messages": [ { "role": "user", "content": "What is the capital of Japan?" } ] } }'