fiewolf1000 commited on
Commit
6a7f479
·
verified ·
1 Parent(s): 65318bb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -14
app.py CHANGED
@@ -1,4 +1,4 @@
1
- from fastapi import FastAPI, HTTPException, Depends, Request # 导入Request
2
  from fastapi.middleware.cors import CORSMiddleware
3
  from pydantic import BaseModel
4
  import os
@@ -95,30 +95,32 @@ async def create_embedding(
95
  req: EmbeddingRequest,
96
  _: bool = Depends(verify_api_key)
97
  ):
98
- # 打印Authorization头部
99
- auth_header = request.headers.get("Authorization")
100
- logger.info(f"请求中的Authorization头部: {auth_header}")
 
 
 
 
 
 
 
 
101
  logger.info(f"收到嵌入请求,模型: {req.model}, 输入类型: {type(req.input)}")
102
  try:
103
- # 获取模型
104
  model = get_model(req.model)
105
-
106
- # 处理输入(支持单文本或文本列表)
107
  inputs = [req.input] if isinstance(req.input, str) else req.input
108
  logger.info(f"处理输入,文本数量: {len(inputs)}")
109
 
110
- # 计算嵌入
111
  logger.info("开始计算嵌入")
112
  embeddings = model.encode(inputs, normalize_embeddings=True)
113
  logger.info(f"嵌入计算完成,嵌入形状: {embeddings.shape}")
114
 
115
- # 构建响应
116
  data = [
117
  EmbeddingData(embedding=embedding.tolist(), index=i)
118
  for i, embedding in enumerate(embeddings)
119
  ]
120
 
121
- # 估算token数(简单近似:每个单词约1 token)
122
  prompt_tokens = sum(len(text.split()) for text in inputs)
123
  logger.info(f"估算token数: {prompt_tokens}")
124
 
@@ -132,13 +134,19 @@ async def create_embedding(
132
  logger.error(error_msg)
133
  raise HTTPException(status_code=500, detail=error_msg)
134
 
135
- # 健康检查接口
136
  @app.get("/health")
137
- async def health_check():
138
- logger.info("健康检查请求")
 
 
 
 
 
 
139
  return {"status": "healthy", "models": list(MODEL_MAPPING.keys())}
140
 
141
  if __name__ == "__main__":
142
  import uvicorn
143
  logger.info("启动服务")
144
- uvicorn.run(app, host="0.0.0.0", port=7860)
 
1
+ from fastapi import FastAPI, HTTPException, Depends, Request
2
  from fastapi.middleware.cors import CORSMiddleware
3
  from pydantic import BaseModel
4
  import os
 
95
  req: EmbeddingRequest,
96
  _: bool = Depends(verify_api_key)
97
  ):
98
+ # 打印完整请求信息
99
+ logger.info("\n===== 接收到的完整请求信息 =====")
100
+ logger.info(f"请求方法: {request.method}")
101
+ logger.info(f"请求URL: {request.url}")
102
+ logger.info("请求头部:")
103
+ for name, value in request.headers.items():
104
+ logger.info(f" {name}: {value}")
105
+ logger.info(f"请求体: {await request.body()}") # 打印原始请求体
106
+ logger.info("===============================\n")
107
+
108
+ # 原有逻辑保持不变
109
  logger.info(f"收到嵌入请求,模型: {req.model}, 输入类型: {type(req.input)}")
110
  try:
 
111
  model = get_model(req.model)
 
 
112
  inputs = [req.input] if isinstance(req.input, str) else req.input
113
  logger.info(f"处理输入,文本数量: {len(inputs)}")
114
 
 
115
  logger.info("开始计算嵌入")
116
  embeddings = model.encode(inputs, normalize_embeddings=True)
117
  logger.info(f"嵌入计算完成,嵌入形状: {embeddings.shape}")
118
 
 
119
  data = [
120
  EmbeddingData(embedding=embedding.tolist(), index=i)
121
  for i, embedding in enumerate(embeddings)
122
  ]
123
 
 
124
  prompt_tokens = sum(len(text.split()) for text in inputs)
125
  logger.info(f"估算token数: {prompt_tokens}")
126
 
 
134
  logger.error(error_msg)
135
  raise HTTPException(status_code=500, detail=error_msg)
136
 
137
+ # 健康检查接口也打印完整请求
138
  @app.get("/health")
139
+ async def health_check(request: Request):
140
+ logger.info("\n===== 健康检查请求信息 =====")
141
+ logger.info(f"请求方法: {request.method}")
142
+ logger.info(f"请求URL: {request.url}")
143
+ logger.info("请求头部:")
144
+ for name, value in request.headers.items():
145
+ logger.info(f" {name}: {value}")
146
+ logger.info("===============================\n")
147
  return {"status": "healthy", "models": list(MODEL_MAPPING.keys())}
148
 
149
  if __name__ == "__main__":
150
  import uvicorn
151
  logger.info("启动服务")
152
+ uvicorn.run(app, host="0.0.0.0", port=7860)