RouteLLM 开源项目教程
1. 项目介绍
RouteLLM 是一个用于服务和评估大型语言模型(LLM)路由器的框架。其主要功能包括:
- 作为 OpenAI 客户端的即插即用替代,将简单查询路由到成本更低的模型。
- 提供预先训练的路由器,可减少高达 85% 的成本,同时保持 95% 的 GPT-4 性能。
- 支持轻松扩展框架,包含新的路由器,并比较不同路由器在多个基准测试中的性能。
2. 项目快速启动
安装
从 PyPI 安装:
pip install "routellm[serve,eval]"
从源代码安装:
git clone https://github.com/lm-sys/RouteLLM.git
cd RouteLLM
pip install -e .[serve,eval]
配置和启动
替换现有的 OpenAI 客户端,初始化 RouteLLM 控制器:
import os
from routellm.controller import Controller
os.environ['OPENAI_API_KEY'] = "sk-XXXXXX" # 替换为你的 OpenAI API 密钥
os.environ['ANYSCALE_API_KEY'] = "esecret_XXXXXX" # 替换为你的 Anyscale API 密钥
client = Controller(
routers=["mf"],
strong_model="gpt-4-1106-preview",
weak_model="anyscale/mistralai/Mixtral-8x7B-Instruct-v0.1"
)
校准成本阈值:
python -m routellm.calibrate_threshold --routers mf --strong-model-pct 0.5 --config config.example.yaml
使用路由器生成回复:
response = client.chat.completions.create(
model="router-mf-0.11593",
messages=[{"role": "user", "content": "Hello!"}]
)
启动服务端
export OPENAI_API_KEY=sk-XXXXXX
export ANYSCALE_API_KEY=esecret_XXXXXX
python -m routellm.openai_server --routers mf --strong-model gpt-4-1106-preview --weak-model anyscale/mistralai/Mixtral-8x7B-Instruct-v0.1
启动本地聊天机器人:
python -m examples.router_chat --router mf --threshold 0.11593
3. 应用案例和最佳实践
- 成本优化:通过路由不同的模型,可以根据查询的复杂度自动选择合适的模型,从而优化成本。
- 性能维护:通过预设的成本阈值,确保在降低成本的同时,保持响应的质量。
4. 典型生态项目
- Ollama:用于本地模型的支持。
- Anthropic, Gemini (Google AI Studio), Amazon Bedrock, Together AI, Anyscale Endpoints:多种模型提供者,可根据需求选择和配置。
以上就是 RouteLLM 的简单教程,希望能够帮助您快速上手并使用该项目。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考