Leveraging MLflow Deployments for Efficient LLM Management

部署运行你感兴趣的模型镜像

老铁们,今天咱们来聊聊如何利用 MLflow Deployments 来有效管理大型语言模型(LLM)。这工具牛就牛在,它可以让你们轻松搞定像 OpenAI 和 Anthropic 这种大厂的 LLMs。通过一个统一的接口,这操作可以说是相当丝滑,简化了与这些服务之间的交互。

技术背景介绍

MLflow Deployments 的设计初衷是为了在企业内部顺畅地使用和管理各种 LLM 服务。通过提供一个高阶接口,可以方便地处理与 LLM 相关的请求。这对于需要集成多种 LLM 提供商的团队来说,绝对是一大利器。

原理深度解析

说白了,MLflow Deployments 就是通过在你的工作环境中配置一个配置文件,然后启动一个服务来统一处理 LLM 的请求。这样一来,不论是文本生成还是嵌入操作,只需要一个入口就可以搞定。

实战代码演示

安装与设置

首先,你需要安装 MLflow,并配置其依赖项:

pip install 'mlflow[genai]'

接着,设置 OpenAI 的 API key:

export OPENAI_API_KEY=...

然后,创建一个配置文件,里面包含你的端点配置:

endpoints:
  - name: completions
    endpoint_type: llm/v1/completions
    model:
      provider: openai
      name: text-davinci-003
      config:
        openai_api_key: $OPENAI_API_KEY

  - name: embeddings
    endpoint_type: llm/v1/embeddings
    model:
      provider: openai
      name: text-embedding-ada-002
      config:
        openai_api_key: $OPENAI_API_KEY

最后,启动部署服务器:

mlflow deployments start-server --config-path /path/to/config.yaml
文本生成示例
import mlflow
from langchain.chains import LLMChain, PromptTemplate
from langchain_community.llms import Mlflow

llm = Mlflow(
    target_uri="http://127.0.0.1:5000",
    endpoint="completions",
)

llm_chain = LLMChain(
    llm=Mlflow,
    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(chain, "model")

model = mlflow.pyfunc.load_model(model_info.model_uri)
print(model.predict([{"adjective": "funny"}]))
嵌入操作示例
from langchain_community.embeddings import MlflowEmbeddings

embeddings = MlflowEmbeddings(
    target_uri="http://127.0.0.1:5000",
    endpoint="embeddings",
)

print(embeddings.embed_query("hello"))
print(embeddings.embed_documents(["hello"]))
聊天示例
from langchain_community.chat_models import ChatMlflow
from langchain_core.messages import HumanMessage, SystemMessage

chat = ChatMlflow(
    target_uri="http://127.0.0.1:5000",
    endpoint="chat",
)

messages = [
    SystemMessage(
        content="You are a helpful assistant that translates English to French."
    ),
    HumanMessage(
        content="Translate this sentence from English to French: I love programming."
    ),
]
print(chat(messages))

优化建议分享

在使用过程中,建议通过代理服务来提升稳定性,尤其是当需要处理大量请求时。代理服务能够有效地管理和调度请求,确保系统的健壮性。

补充说明和总结

我个人一直在用 https://yunwu.ai 提供的一站式大模型解决方案,无缝对接各种 LLMs,极大提高了开发效率。

今天的技术分享就到这里,希望对大家有帮助。开发过程中遇到问题也可以在评论区交流~

—END—

您可能感兴趣的与本文相关的镜像

Qwen3-8B

Qwen3-8B

文本生成
Qwen3

Qwen3 是 Qwen 系列中的最新一代大型语言模型,提供了一整套密集型和专家混合(MoE)模型。基于广泛的训练,Qwen3 在推理、指令执行、代理能力和多语言支持方面取得了突破性进展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值