Metadata-Version: 2.4
Name: sitellm
Version: 0.1.1
Summary: SiteLLM= LiteLLM + Chinese + Security
License: MIT
License-File: LICENSE
License-File: LICENSE_BerriAI
Author: maple5218
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: PyJWT (==2.12.1) ; python_version >= "3.9"
Requires-Dist: a2a-sdk (==0.3.25) ; python_version >= "3.10"
Requires-Dist: aiohttp (==3.13.5)
Requires-Dist: apscheduler (==3.11.2)
Requires-Dist: azure-identity (==1.25.3) ; python_version >= "3.9"
Requires-Dist: azure-keyvault-secrets (==4.10.0)
Requires-Dist: azure-storage-blob (==12.28.0)
Requires-Dist: backoff (==2.2.1)
Requires-Dist: boto3 (==1.42.80)
Requires-Dist: click (==8.1.8)
Requires-Dist: cryptography (==43.0.3)
Requires-Dist: diskcache (==5.6.3)
Requires-Dist: fastapi (==0.124.4)
Requires-Dist: fastapi-sso (==0.16.0)
Requires-Dist: fastuuid (==0.14.0)
Requires-Dist: google-cloud-aiplatform (==1.133.0)
Requires-Dist: google-cloud-iam (==2.19.1)
Requires-Dist: google-cloud-kms (==2.24.2)
Requires-Dist: grpcio (==1.80.0)
Requires-Dist: gunicorn (==23.0.0)
Requires-Dist: httpx (==0.28.1)
Requires-Dist: importlib-metadata (==8.5.0)
Requires-Dist: jinja2 (==3.1.6)
Requires-Dist: jsonschema (==4.23.0)
Requires-Dist: mcp (==1.26.0) ; python_version >= "3.10"
Requires-Dist: mlflow (==3.9.0) ; python_version >= "3.10"
Requires-Dist: numpydoc (==1.8.0)
Requires-Dist: openai (==2.30.0)
Requires-Dist: orjson (==3.10.15)
Requires-Dist: polars (==1.39.3) ; python_version >= "3.10"
Requires-Dist: prisma (==0.15.0)
Requires-Dist: pydantic (==2.12.5)
Requires-Dist: pynacl (==1.6.2)
Requires-Dist: pyroscope-io (==0.8.16) ; sys_platform != "win32"
Requires-Dist: python-dotenv (==1.0.1)
Requires-Dist: python-multipart (==0.0.20)
Requires-Dist: pyyaml (==6.0.3)
Requires-Dist: redisvl (==0.4.1) ; python_version >= "3.9" and python_version < "3.14"
Requires-Dist: resend (==2.23.0)
Requires-Dist: rich (==13.9.4)
Requires-Dist: rq (==2.7.0)
Requires-Dist: sitellm-proxy-extras (==0.0.5)
Requires-Dist: soundfile (==0.12.1)
Requires-Dist: tiktoken (==0.12.0)
Requires-Dist: tokenizers (==0.22.2)
Requires-Dist: uvicorn (==0.33.0)
Requires-Dist: uvloop (==0.21.0) ; sys_platform != "win32"
Requires-Dist: websockets (==15.0.1)
Project-URL: Documentation, https://sitellm.yunzhisec.com/doc
Project-URL: Homepage, https://sitellm.yunzhisec.com
Project-URL: Repository, https://gitee.com/zhds/sitellm
Description-Content-Type: text/markdown

<h1 align="center">
    <img  width="400" src="https://gitee.com/zhds/sitellm/raw/master/logo.jpg">
</h1>
    <p align="center">
        <p align="center">SiteLLM = LiteLLM + 中文生态 + 安全
        </p>
        <p align="center">一站式开源AI治理运营中枢，集安全基座（Security）、智能运营（Intelligence）、全链路追溯（Trace）与生态协同（Ecosystem）四大能力，让企业轻松接入并管理所有AI资产。</p>
    </p>

# 架构图
<img width="1500"  alt="架构图" src="https://gitee.com/zhds/sitellm/raw/master/docs/arch.png" />

# UI
<img width="1500"  alt="Web UI" src="https://gitee.com/zhds/sitellm/raw/master/docs/main.png" />

# LiteLLM
- LiteLLM 是一个开源的 AI 网关（AI Gateway）。它提供了一个统一且标准化的接口，让你能够轻松调用超过 100 种大语言模型（LLM）提供商的服务——包括 OpenAI、Anthropic、Gemini、Bedrock、Azure 等等——并且全程都可以直接沿用大家最熟悉的 OpenAI 接口格式。
- 简单来说，它就是一个强大的 OpenAI 代理服务器（也就是 LLM 网关）。除了能帮你统一对接各种模型外，它还能帮你追踪各项 API 的开销（track spend），甚至可以为每一个虚拟密钥（virtual key）或用户单独设置预算限额，非常适合需要集中管理 AI 资源的企业或开发者。

# 中文生态

### 中文界面：更亲切直观
SiteLLM 提供完整的中文界面支持。虽然英文界面也能看懂，但中文界面让操作更加亲切直观，降低使用门槛，尤其适合企业内部推广和快速上手。

### SiteLLM 原生支持国内主流大模型，开箱即用：

- 阿里通义千问（Qwen 系列）
- 百度文心一言（ERNIE Bot）
- 智谱清言（GLM 系列）
- 月之暗面 Kimi（Moonshot）
- 科大讯飞星火（Spark）
- Llama.cpp (本地)
以及更多通过 OpenAI 兼容接口接入的国内模型
无需翻墙、无需代理，直接在国内网络环境下调用，延迟低、稳定性好。


### 中文安全护栏：适配国内场景
原有内置护栏基于英文环境设计，在国内对话场景中实用性有限。升级后，内置护栏全面支持中文内容检测，包括：

- 中文敏感词过滤
- 中文 Prompt 注入检测
- 中文合规内容识别

### 组织管理：一键接入国内协作平台
后续规划与主流国内协作平台深度集成：

- 飞书：一键同步组织架构、用户身份
- 钉钉：SSO 单点登录、部门权限映射
- 企业微信：通讯录同步、审批流程对接

# 安全

## 专业红队+AI代码审计
版本发布经过AI和红队的双重审计才发布，尽可能减少安全风险

## 安全护栏：
SiteLLM 的安全护栏体系继承LiteLLM,支持三种类型的护栏，覆盖从本地规则到外部 API 的完整能力，满足企业级 AI 应用的安全合规需求。

### 1. 内容过滤护栏（规则型）

- **实现方式**：基于内置规则引擎进行本地内容过滤
- **特点**：
  - 无需外部依赖，本地即可运行
  - 低延迟，实时拦截
  - 支持关键词、正则表达式、敏感词库等规则配置
  - **全面支持中文检测**：内置中文敏感词库、中文 Prompt 注入检测规则，适配国内对话场景
- **适用场景**：输入/输出内容的实时过滤，如敏感词、违规内容、Prompt 注入检测

### 2. 第三方合作伙伴护栏（API 型）

- **实现方式**：调用第三方合作伙伴提供的安全检测 API 接口
- **特点**：
  - 借助成熟的安全服务提供商能力
  - 无需自行维护规则库和模型
  - 可按需选择不同供应商（如内容安全、合规检测等）
  - **深度集成国内安全服务商**：支持**云智信安**等国内护栏 API，提供中文内容安全检测、合规判断等专业能力
- **适用场景**：需要专业级内容审核、合规判断的场景

### 3. 自研 API 护栏（API 型）

- **实现方式**：通过调用自主开发的 API 接口进行安全检测
- **特点**：
  - 完全自主可控，可根据业务深度定制
  - 支持私有模型、自定义规则、内部知识库
  - 与内部系统无缝集成
- **适用场景**：有定制化安全需求、数据不出域要求的企业场景

## 关于策略：灵活绑定，层层防护
使用策略来分组护栏并控制哪些策略适用于特定团队、密钥或模型。
### 为什么使用策略？
为团队、密钥或模型启用/禁用特定护栏，将护栏组合到单个策略中，继承现有策略并覆盖所需内容 
### 关于策略应用
策略应用控制您的策略在何处应用。策略在应用到特定团队、密钥、模型、标签或全局之前不会产生任何作用。

### 应用范围：

- 全局 (*) - 应用于所有请求
- 团队 - 仅适用于特定团队
- 密钥 - 仅适用于特定API密钥（支持通配符如dev-*）
- 模型 - 仅在使用特定模型时适用
- 标签 - 匹配来自密钥/团队 metadata.tags 或在请求体中动态传递的标签（metadata.tags）。使用此功能可在跨组强制执行策略，例如"标记为healthcare的所有密钥获得HIPAA护栏。"支持通配符（prod-*）。






