Hyperbolic 入门指南
本指南展示如何设置一个最小化部署,以配合Hyperbolic API使用TensorZero Gateway。
简易设置
除非您需要回退或自定义凭据等高级功能,否则可以使用简写hyperbolic::model_name
来配合TensorZero使用双曲模型。
您可以在TensorZero变体中使用双曲模型,只需将model
字段设置为hyperbolic::model_name
。
例如:
[functions.my_function_name.variants.my_variant_name]type = "chat_completion"model = "hyperbolic::meta-llama/Meta-Llama-3-70B-Instruct"
此外,您可以在推理请求中设置model_name
来使用特定的Hyperbolic模型,而无需在TensorZero中配置函数和变体。
curl -X POST http://localhost:3000/inference \ -H "Content-Type: application/json" \ -d '{ "model_name": "hyperbolic::meta-llama/Meta-Llama-3-70B-Instruct", "input": { "messages": [ { "role": "user", "content": "What is the capital of Japan?" } ] } }'
高级设置
在更复杂的场景中(例如回退机制、自定义凭证),您可以在TensorZero中配置自己的模型和Hyperbolic提供程序。对于这个最小化设置,您的项目目录中只需要两个文件:
Directoryconfig/
- tensorzero.toml
- docker-compose.yml
关于生产环境部署,请参阅我们的部署指南。
配置
创建一个最小化的配置文件,定义模型和一个简单的聊天功能:
[models."meta-llama/Meta-Llama-3-70B-Instruct"]routing = ["hyperbolic"]
[models."meta-llama/Meta-Llama-3-70B-Instruct".providers.hyperbolic]type = "hyperbolic"model_name = "meta-llama/Meta-Llama-3-70B-Instruct"
[functions.my_function_name]type = "chat"
[functions.my_function_name.variants.my_variant_name]type = "chat_completion"model = "meta-llama/Meta-Llama-3-70B-Instruct"
Credentials
在运行网关之前,您必须设置HYPERBOLIC_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: - HYPERBOLIC_API_KEY=${HYPERBOLIC_API_KEY:?Environment variable HYPERBOLIC_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?" } ] } }'