https://github.com/xiaotianxt/llm-proxy-worker
通用LLM代理Cloudflare Worker,支持 openai/gemini/groq/anthropic/sambanova
https://github.com/xiaotianxt/llm-proxy-worker
Last synced: 3 months ago
JSON representation
通用LLM代理Cloudflare Worker,支持 openai/gemini/groq/anthropic/sambanova
- Host: GitHub
- URL: https://github.com/xiaotianxt/llm-proxy-worker
- Owner: xiaotianxt
- Created: 2025-03-02T05:30:47.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-03-02T09:13:03.000Z (3 months ago)
- Last Synced: 2025-03-02T10:22:25.167Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 12.7 KB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 通用LLM代理 Cloudflare Worker
这是一个通用的LLM(大语言模型)代理Cloudflare Worker,可以将请求转发到多种AI服务提供商的API。通过简单的URL路径配置,您可以使用单个Worker代理所有主流LLM服务。
## 功能特点
- **统一接口**:使用一致的URL路径格式代理到不同的LLM服务
- **多服务支持**:内置支持OpenAI、Anthropic(Claude)、Google Gemini、Groq、SambaNova等
- **易于扩展**:只需添加新的端点配置即可支持更多服务
- **CORS支持**:自动处理跨域请求问题
- **无状态设计**:简洁高效的实现方式## 如何使用
### 部署Worker
1. 在Cloudflare注册并创建Worker
2. 将`worker.js`文件内容复制到Worker编辑器中
3. 根据需要修改`LLM_ENDPOINTS`配置
4. 保存并部署### 使用方法
通过在URL路径前缀中指定服务提供商名称来路由请求:
```
https://your-worker.workers.dev/{provider}/{original-api-path}
```例如:
- OpenAI: `/openai/v1/chat/completions`
- Claude: `/anthropic/v1/messages`
- Gemini: `/gemini/v1beta/models/gemini-pro:generateContent`
- Groq: `/groq/chat/completions`### API密钥
您需要在请求中包含各服务所需的API密钥。Worker只是转发请求,不会修改或添加认证信息。
## Worker代码说明
该Worker的工作原理:
1. **路由解析**:提取URL路径中的第一个段作为提供商标识符
2. **端点匹配**:根据提供商标识符查找对应的API端点
3. **请求转换**:重新构建目标URL并转发请求
4. **响应处理**:返回API响应并添加CORS头Worker通过简单的配置对象`LLM_ENDPOINTS`来定义路由映射关系,每个键值对表示一个LLM服务及其端点。
## 自定义配置
您可以根据需要修改`LLM_ENDPOINTS`对象添加其他LLM服务:
```javascript
const LLM_ENDPOINTS = {
'openai': 'https://api.openai.com',
'anthropic': 'https://api.anthropic.com',
'gemini': 'https://generativelanguage.googleapis.com',
'groq': 'https://api.groq.com',
'sambanova': 'https://api.sambanova.ai',
'azure': 'https://YOUR_AZURE_RESOURCE_NAME.openai.azure.com',
// 添加更多服务...
};
```## 高级用法
对于需要特殊处理的API(如格式转换或参数调整),您可以扩展Worker代码添加额外处理逻辑。
## 注意事项
- 此Worker默认仅转发请求,不会缓存、修改或存储任何数据
- 确保您有权限访问相应的API并持有有效的API密钥
- 生产环境使用时,建议增加速率限制、请求验证等安全措施## 贡献
欢迎通过Issues或Pull Requests贡献改进意见和代码。
## 许可
MIT