cacodex commited on
Commit
c0139c7
·
verified ·
1 Parent(s): a385375

Upload 17 files

Browse files
README.md CHANGED
@@ -7,26 +7,29 @@ pinned: false
7
 
8
  # NVIDIA NIM 响应网关
9
 
10
- 这是一个面向公开使用的 NVIDIA NIM OpenAI `/v1/responses` 兼容网关
11
 
12
  它不在本地保存任何用户的 NIM API Key。用户调用本项目时,需要自己通过请求头携带 NIM Key,网关只负责协议转换、性能优化、聚合统计和官方模型目录展示。
13
 
14
  ## 主要能力
15
 
16
- - 将 NVIDIA 官方 `POST /v1/chat/completions` 转换为 OpenAI 风格的 `POST /v1/responses`
17
- - 支持 tool calling / function calling
18
- - 支持 `function_call_output` 回灌
19
- - 支持 `previous_response_id` 对话续写
20
- - `/v1/responses` 和 `/v1/responses/{response_id}` 使用用户自带的 NIM Key 做鉴权与上游转发
21
- - `/v1/models` 直接返回来自 NVIDIA 官方 `/v1/models` 的同步结果,保持 OpenAI 风格结构
22
- - `/` 为白色主题的模型健康度页面,按 10 分钟成功率矩阵展示 MODEL_LIST 中的模型
23
- - `/models` 为独立白色主题官方模型列表页面,支持按提供商筛选模型
24
- - 模型提供商卡片为固定高度避免模型较多时卡片过长
25
- - 使用共享 HTTP 连接池、SQLite WAL 和异步线程化落库来增强高并发场景下转发性能
 
 
 
26
 
27
  ## 用户如何调用
28
 
29
- 对于 `POST /v1/responses`,请通过下面任意一种方式传入你自己的 NVIDIA NIM Key:
30
 
31
  - `Authorization: Bearer <你的 NIM Key>`
32
  - `X-API-Key: <你的 NIM Key>`
@@ -45,9 +48,9 @@ pinned: false
45
  同步后的模型目录同时用于:
46
 
47
 
48
- - `GET /v1/models`
49
- - `GET /models`
50
- - `GET /api/catalog`
51
 
52
  ## 页面与接口
53
 
@@ -62,21 +65,23 @@ pinned: false
62
 
63
 
64
 
65
- 页面:
66
-
67
- - `GET /`:模型健康度页面
68
- - `GET /models`:官方模型列表页面
69
-
70
- 前端数据接口:
71
 
72
  - `GET /api/dashboard`
73
  - `GET /api/catalog`
74
 
75
- 兼容接口:
76
-
77
- - `POST /v1/responses`
78
- - `GET /v1/responses/{response_id}`
79
- - `GET /v1/models`
 
 
80
 
81
  ## 环境变量
82
 
@@ -118,7 +123,10 @@ pinned: false
118
 
119
  ## 参考资料
120
 
121
- - OpenAI Responses API: https://platform.openai.com/docs/guides/responses-vs-chat-completions
122
- - OpenAI Function Calling: https://platform.openai.com/docs/guides/function-calling
123
- - NVIDIA Build: https://build.nvidia.com/
124
- - NVIDIA NIM API 文档: https://docs.api.nvidia.com/
 
 
 
 
7
 
8
  # NVIDIA NIM 响应网关
9
 
10
+ 这是一个面向公开使用的 NVIDIA NIM 兼容网关,同时支持 OpenAI `/v1/responses` 和 Anthropic `/v1/messages` 风格请求
11
 
12
  它不在本地保存任何用户的 NIM API Key。用户调用本项目时,需要自己通过请求头携带 NIM Key,网关只负责协议转换、性能优化、聚合统计和官方模型目录展示。
13
 
14
  ## 主要能力
15
 
16
+ - 将 NVIDIA 官方 `POST /v1/chat/completions` 转换为 OpenAI 风格的 `POST /v1/responses`
17
+ - NVIDIA 官方 `POST /v1/chat/completions` 转换为 Anthropic 风格的 `POST /v1/messages`
18
+ - 支持 tool calling / function calling
19
+ - 支持 Anthropic `tools` / `tool_choice` / `tool_result` 以及 Claude Code 常见的客户端工具调用形态
20
+ - 支持 `function_call_output` 回灌
21
+ - 支持 `previous_response_id` 对话续写
22
+ - `/v1/responses` `/v1/responses/{response_id}` 使用用户自带的 NIM Key 做鉴权与上游转发
23
+ - `/v1/messages` 使用用户自带 NIM Key 做鉴权与上游转发支持 Anthropic SSE 风格流式事件
24
+ - `/v1/models` 直接返回来自 NVIDIA 官方 `/v1/models` 的同步结果保持 OpenAI 风格结构
25
+ - `/` 为白色主题的模型健康度页面,按 10 分钟成功率矩阵展示 MODEL_LIST 中模型
26
+ - `/model_list` 为独立的白色主题官方模型列表页面,支持按提供商筛选模型
27
+ - 模型提供商卡片为固定高度,避免模型较多时卡片过长
28
+ - 使用共享 HTTP 连接池、SQLite WAL 和异步线程化落库来增强高并发场景下的转发性能
29
 
30
  ## 用户如何调用
31
 
32
+ 对于 `POST /v1/responses` 和 `POST /v1/messages`,请通过下面任意一种方式传入你自己的 NVIDIA NIM Key:
33
 
34
  - `Authorization: Bearer <你的 NIM Key>`
35
  - `X-API-Key: <你的 NIM Key>`
 
48
  同步后的模型目录同时用于:
49
 
50
 
51
+ - `GET /v1/models`
52
+ - `GET /models`
53
+ - `GET /api/catalog`
54
 
55
  ## 页面与接口
56
 
 
65
 
66
 
67
 
68
+ 页面:
69
+
70
+ - `GET /`:模型健康度页面
71
+ - `GET /model_list`:官方模型列表页面
72
+
73
+ 前端数据接口:
74
 
75
  - `GET /api/dashboard`
76
  - `GET /api/catalog`
77
 
78
+ 兼容接口:
79
+
80
+ - `POST /v1/responses`
81
+ - `POST /v1/messages`
82
+ - `GET /v1/responses/{response_id}`
83
+ - `GET /v1/models`
84
+ - `GET /models`
85
 
86
  ## 环境变量
87
 
 
123
 
124
  ## 参考资料
125
 
126
+ - OpenAI Responses API: https://platform.openai.com/docs/guides/responses-vs-chat-completions
127
+ - OpenAI Function Calling: https://platform.openai.com/docs/guides/function-calling
128
+ - Anthropic Messages API: https://docs.anthropic.com/en/api/messages
129
+ - Anthropic Tool Use: https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/overview
130
+ - NVIDIA Build: https://build.nvidia.com/
131
+ - NVIDIA NIM API 文档: https://docs.api.nvidia.com/
132
+ - NVIDIA NIM + Claude Code 集成: https://docs.nvidia.com/nim/large-language-models/latest/ai-assistant-integrations/claude-code.html
app/__pycache__/__init__.cpython-313.pyc CHANGED
Binary files a/app/__pycache__/__init__.cpython-313.pyc and b/app/__pycache__/__init__.cpython-313.pyc differ
 
app/__pycache__/main.cpython-313.pyc CHANGED
Binary files a/app/__pycache__/main.cpython-313.pyc and b/app/__pycache__/main.cpython-313.pyc differ
 
app/main.py CHANGED
The diff for this file is too large to render. See raw diff