?? 背景概述
近年來,隨著大語言模型(LLM)的蓬勃發展,OpenAI 的 GPT 系列、Google 的 Gemini、Anthropic 的 Claude、以及開源的 Ollama 本地模型等,逐漸成為自然語言處理、智能問答、AI 助手等應用的基礎組件。
開發者在使用這些模型時常面臨如下問題:
- 各模型接口不統一(OpenAI、Gemini、Claude 請求格式不同);
- 無法在一個平臺中快速切換和對比多個模型;
- 需要部署獨立前端或調用 SDK,開發成本較高;
- 本地模型 Ollama 缺乏統一整合界面;
為解決上述痛點設計實現一個 基于純 Python、前后端一體化、輕量級的通用大模型調用平臺。
? 平臺目標
- 支持 主流云端模型(OpenAI、Gemini、Claude);
- 支持 本地大模型 Ollama(如 LLaMA3、Phi3、Gemma);
- 使用 Python 全棧實現,無需 HTML/JS;
- 界面友好、輕量快速啟動,適用于調試、對比測試、原型開發。
?? 技術棧選型
模塊 | 工具/框架 | 說明 |
---|---|---|
Web 前端 | Gradio | 用 Python 構建交互式 Web UI,無需寫前端 |
后端接口 | Python + httpx | 通過 HTTP 請求調用各大模型 API |
配置管理 | YAML(PyYAML) | 管理模型配置、API Key |
本地模型 | Ollama | 支持離線推理,自帶本地 Web API 接口 |
?? 項目結構
llm-unified-platform/
├── config.yaml # 所有模型接口配置
└── app.py # 前后端集成的主程序(Gradio)
?? config.yaml 示例配置
models:openai:url: https://api.openai.com/v1/chat/completionskey: sk-xxxxxtype: openaigemini:url: https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContentkey: xxx-google-keytype: geminiclaude:url: https://api.anthropic.com/v1/messageskey: xxx-anthropic-keytype: claudeollama:url: http://localhost:11434/api/chatmodel: llama3type: ollama
?? 主程序:app.py(Gradio 前后端一體)
import gradio as gr
import httpx, yaml# 加載配置
with open("config.yaml",