别再切换N个大模型API了!LiteLLM用OpenAI格式一键调用100+模型,YC孵化+Stripe、Netflix都在疯用
litellm 是一个统一调用多种大语言模型API的Python库。简单讲,它让你用一套代码对接上百种AI模型服务,不用为每个模型单独写适配代码。适用人群:需要快速切换或集成多个大模型的开发者和AI应用团队。
主要语言:Python
stars: 40.6k
编辑
核心功能
- 调用100+大语言模型:提供Python SDK和AI网关(代理服务器)两种方式,支持多种端点,如
/chat/completions、/responses、/embeddings等。 - 调用A2A代理:支持LangGraph、Vertex AI Agent Engine等多种代理提供商,同样有Python SDK和AI网关两种使用方式。
- 连接MCP服务器:可将MCP服务器连接到任何大语言模型,也提供Python SDK和AI网关两种途径,还能与Cursor IDE结合使用。
优势
- 统一接口:通过代理服务器或Python SDK,为访问多个大语言模型提供统一接口,简化开发流程。
- 高性能:在1k RPS下,P95延迟仅8ms。
- 多场景支持:无论是开发者构建LLM项目,还是Gen AI Enablement / ML平台团队,都能找到适合的使用方式。
- 丰富的提供商支持:支持众多大语言模型提供商,涵盖OpenAI、Anthropic、Azure等。
- 企业级特性:提供企业版,具备更好的安全性、用户管理和专业支持,包括功能优先级、定制集成、专业支持、定制SLA和单点登录等。
应用场景
- 开发者:在Python代码中直接使用LiteLLM SDK,方便调用不同的大语言模型,进行项目开发。
- Gen AI Enablement / ML平台团队:使用LiteLLM AI网关,作为中央服务来管理和访问多个大语言模型,实现集中化的API管理、成本跟踪和用户管理。
使用方式
- Python SDK:通过
pip install litellm安装,然后在代码中导入使用,示例代码如下:
from litellm import completion
import os
os.environ["OPENAI_API_KEY"] = "your-openai-key"
os.environ["ANTHROPIC_API_KEY"] = "your-anthropic-key"
# OpenAI
response = completion(model="openai/gpt-4o", messages=[{"role": "user", "content": "Hello!"}])
# Anthropic
response = completion(model="anthropic/claude-sonnet-4-20250514", messages=[{"role": "user", "content": "Hello!"}])
- AI网关(代理服务器):先通过
pip install 'litellm[proxy]'安装,再启动代理服务器,示例代码如下:
pip install 'litellm[proxy]'
litellm --model gpt-4o
import openai
client = openai.OpenAI(api_key="anything", base_url="http://0.0.0.0:4000")
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}]
)
开发模式
- 服务:在根目录设置
.env文件,运行依赖服务docker-compose up db prometheus。 - 后端:创建虚拟环境,激活环境,安装依赖,生成Prisma,启动代理后端。
- 前端:进入
ui/litellm-dashboard目录,安装依赖,启动仪表盘。
开源神器!WebGPU驱动的实时3D建筑编辑器,React生态栈+Turborepo架构,开发效率直接拉满
[pascalorg/editor] 是一个 基于 TypeScript 开发的轻量级在线代码编辑器 的 工具。简单讲,它提供了一个可嵌入网页的代码编辑界面,支持语法高亮和基本编辑功能,类似简化版 VS Code。适用人群:前端开发者、需要集成代码编辑功能的项目作者。
主要语言:TypeScript
stars: 6.7k
编辑
仓库简介
Pascal Editor 是一个使用 React Three Fiber 和 WebGPU 构建的 3D 建筑编辑器。它采用 Turborepo 进行单仓库多包管理,包含多个核心包和应用,遵循 MIT 许可协议。
架构特点
- 单仓库多包架构:由
apps/editor(Next.js 应用)、packages/core(负责节点模式定义、状态管理和系统逻辑)和packages/viewer(3D 渲染组件)三个主要部分组成。 - 关注点分离
-@pascal-app/core:负责节点模式、场景状态管理、系统逻辑、空间查询和事件总线。
-@pascal-app/viewer:通过 React Three Fiber 进行 3D 渲染,提供默认相机和控件以及后期处理。
-apps/editor:包含 UI 组件、工具、自定义行为和编辑器特定系统。 - 状态管理:各包使用 Zustand 进行状态管理,包括
useScene(核心场景数据)、useViewer(查看器状态)和useEditor(编辑器状态)。
核心概念
- 节点:描述 3D 场景的数据基本单元,所有节点继承自
BaseNode,以扁平字典形式存储,通过parentId和children数组定义父子关系。 - 场景状态:由
@pascal-app/core中的 Zustand 存储管理,包含节点数据、根节点 ID 和待更新的脏节点集合,支持持久化和撤销重做操作。 - 场景注册表:将节点 ID 映射到 Three.js 对象,方便快速查找,渲染器使用
useRegistry钩子进行注册。 - 节点渲染器:为每种节点类型创建 Three.js 对象的 React 组件,先创建占位符,再注册到注册表,最后由系统根据节点数据更新几何形状。
- 系统:在渲染循环中运行的 React 组件,处理脏节点,更新几何形状和变换。包括核心系统(如
WallSystem、SlabSystem等)和查看器系统(如LevelSystem、ScanSystem等)。 - 脏节点:节点发生变化时会被标记为脏节点,系统仅对脏节点重新计算几何形状。
- 事件总线:使用 typed event emitter(mitt)进行组件间通信,支持多种节点和网格事件。
- 空间网格管理器:处理碰撞检测和放置验证,用于物品放置工具的位置验证和楼板高程计算。
编辑器架构
- 工具:通过工具栏激活,处理特定操作,如选择、绘制墙壁、创建区域、放置物品和创建楼板等。
- 选择管理器:采用自定义选择管理器,支持层次化导航,每个深度级别有不同的选择策略。
- 编辑器特定系统:如
ZoneSystem控制区域可见性,支持自定义相机控制和节点聚焦。
数据流程
用户操作触发工具处理程序,调用 useScene 的创建或更新节点方法,节点更新后标记为脏节点,React 重新渲染节点渲染器,系统检测到脏节点后更新几何形状并清除脏标记。
技术栈
- 前端框架:React 19 + Next.js 16
- 3D 渲染:Three.js(WebGPU 渲染器)、React Three Fiber + Drei
- 状态管理:Zustand
- 模式验证:Zod
- 撤销重做:Zundo
- 布尔几何运算:three-bvh-csg
- 单仓库管理:Turborepo
- 包管理:Bun
开发与部署
- 开发:在根目录运行
bun install安装依赖,bun dev启动开发服务器,支持热重载。 - 生产构建:使用
turbo build构建所有包,或使用turbo build --filter=@pascal-app/core构建特定包。 - 发布包:先构建包,再使用
npm publish --workspace=@pascal-app/core --access public发布到 npm。
优势与应用场景
-
优势:采用模块化架构,便于开发和维护;使用现代前端技术和 3D 渲染库,提供高效的渲染性能;支持撤销重做和持久化,提升用户体验。
-
应用场景:适用于建筑设计、室内设计、3D 建模等领域,帮助用户创建和编辑 3D 建筑模型。
原文:mp.weixin.qq.com/s/jy0TaCM8u…
欢迎关注公zh:AI Tech研习社
关注公zh,后台回复【OpenClaw完全使用手册】,领取OpenClaw完全使用手册.pdf学习资料,更多学习资源敬请期待。