AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


重磅开源:这个15k+ Star的项目让调用大模型像喝水一样简单!
发布日期:2024-12-25 19:19:51 浏览次数: 1540 来源:字节笔记本


你在调用大语言模型的时候是不是和我一样遇到过这样的问题:

  • 项目中要对接多个AI供应商,代码里充斥着各种适配逻辑
  • 不同平台的API调用方式各异,每换一个都要重新学习
  • 想要监控AI调用成本,但统计起来特别麻烦

今天给大家介绍一个超赞的开源项目 - LiteLLM,它完美解决了以上所有问题,让调用各家大模型变得像喝水一样自然!

为什么它这么受欢迎?

目前这个项目已经收获了15.3k+ Star,为什么这么多开发者喜欢它呢?核心原因是它真正做到了"Write Once, Run Anywhere"(写一次代码,到处运行)。

举个例子,假设你的应用原本使用 OpenAI,代码是这样的:

from litellm import completion

# OpenAI调用
response = completion(
    model="openai/gpt-4", 
    messages=[{"role": "user", "content": "写一个python快速排序"}]
)

某天你想切换到 Anthropic 的 Claude 或者 Google 的 Gemini,只需要改一下model参数就行:

# 换成Anthropic
response = completion(
    model="anthropic/claude-3-sonnet",
    messages=[{"role": "user", "content": "写一个python快速排序"}]
)

# 换成Google
response = completion(
    model="google/gemini-pro",
    messages=[{"role": "user", "content": "写一个python快速排序"}]
)

其他代码完全不用改,输出格式也保持一致,是不是特别优雅?

实用案例分享

1. 智能模型路由

假设你想在 GPT-4 不可用时自动切换到 Claude:

from litellm import Router

# 配置模型列表
model_list = [
    {
        "model_name": "gpt-4",
        "litellm_params": {"model": "openai/gpt-4"},
    },
    {
        "model_name": "gpt-4",
        "litellm_params": {"model": "anthropic/claude-3-sonnet"},
    }
]

# 创建路由器
router = Router(model_list=model_list)

# 自动选择可用模型
response = router.completion(
    model="gpt-4",
    messages=[{"role": "user", "content": "你好"}]
)

2. 成本监控

想知道每个项目花了多少AI费用?LiteLLM内置了多种监控方案:

from litellm import completion
import os

# 设置回调
os.environ["HELICONE_API_KEY"] = "your-key"
litellm.success_callback = ["helicone"]

# 调用时会自动记录用量
response = completion(
    model="openai/gpt-4",
    messages=[{"role": "user", "content": "Hi"}],
    metadata={"project": "chatbot", "user": "user_123"}
)

3. 流式输出

需要实时展示AI回复?支持!

response = completion(
    model="openai/gpt-4",
    messages=[{"role": "user", "content": "讲个故事"}],
    stream=True
)

for chunk in response:
    print(chunk.choices[0].delta.content or "", end="")

部署也超简单

想搭建自己的AI网关?一行命令搞定:

litellm --model huggingface/bigcode/starcoder

这样就启动了一个兼容OpenAI API的服务器,可以直接用OpenAI的SDK来调用:

import openai
client = openai.OpenAI(
    api_key="anything",
    base_url="http://localhost:4000"
)

response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "你好"}]
)

还等什么?

如果你正在开发AI应用,LiteLLM绝对值得一试:

  • 支持20+主流AI平台
  • 统一的调用方式
  • 完善的监控功能
  • 活跃的社区支持
  • 企业级的可靠性

项目地址:https://github.com/BerriAI/litellm

感兴趣的同学快去试试吧!有什么使用心得也欢迎在评论区交流~


字节笔记本公众号不定期分享AI开发最佳实践,欢迎关注交流!


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询