当前位置: 首页 > wzjs >正文

做网站哪个服务商便宜免费网站建站平台

做网站哪个服务商便宜,免费网站建站平台,互联网法院,建筑三维建模背景: vllm推理框架启动模型不具备api-key验证。需借助fastapi可以实现该功能 代码实现: rom fastapi import FastAPI, Header, HTTPException, Request,Response import httpx import logging# 创建 FastAPI 应用 app FastAPI() logging.basicConfig(…

背景:

      vllm推理框架启动模型不具备api-key验证。需借助fastapi可以实现该功能

代码实现:

rom fastapi import FastAPI, Header, HTTPException, Request,Response
import httpx
import logging# 创建 FastAPI 应用
app = FastAPI()
logging.basicConfig(level=logging.DEBUG)
# 配置 vLLM 的服务地址
VLLM_BASE_URL = "http://localhost:25010"# 定义合法的 API Key 列表(可以根据需要扩展为数据库或配置文件)
VALID_API_KEYS = {"zml_123456789", "zml_1234567890"}# 中间件:验证 API Key
# 验证 API Key
async def verify_api_key(authorization: str = Header(None)):# 打印接收到的 Authorization 字段logging.debug(f"Received Authorization header: {authorization}")# 检查 Authorization 是否存在且以 "Bearer " 开头if not authorization or not isinstance(authorization, str) or not authorization.startswith("Bearer "):raise HTTPException(status_code=403, detail="Invalid Authorization Header")# 提取 API Keytry:api_key = authorization.split(" ")[1]  # 提取 "Bearer " 后的部分except IndexError:raise HTTPException(status_code=403, detail="Malformed Authorization Header")# 验证 API Key 是否合法if api_key not in VALID_API_KEYS:raise HTTPException(status_code=403, detail="Invalid API Key")# 代理路由:转发请求到 vLLM
@app.api_route("/{path:path}", methods=["GET", "POST", "PUT", "DELETE"])
async def proxy(request: Request, path: str, authorization: str = Header(None)):# 验证 API Keylogging.debug(f"Received request with path: {path}")logging.debug(f"Received headers: {request.headers}")await verify_api_key(authorization)# 构造转发的目标 URLtarget_url = f"{VLLM_BASE_URL}/{path}"# 获取请求体和查询参数body = await request.body()query_params = request.query_params# 使用 httpx 转发请求async with httpx.AsyncClient() as client:# 根据请求方法转发response = await client.request(method=request.method,url=target_url,params=query_params,data=body,headers={key: value for key, value in request.headers.items() if key != "host"})# 返回 vLLM 的响应return Response(content=response.content, status_code=response.status_code, headers=dict(response.headers))

三、启动

uvicorn my_fastapi:app  --host=0.0.0.0 --port=12345
# my_fastapi 为脚本名称

通过访问fastapi提供的12345即可实现改功能

http://www.dtcms.com/wzjs/145901.html

相关文章:

  • 青岛网站制作最近有哪些新闻
  • 广州教育平台登录入口正规seo大概多少钱
  • 全面的哈尔滨网站建设seo排名如何优化
  • 该网站的域名已经被其他人绑定网络广告策划
  • 北京朝阳住房建设委员会网站如何结合搜索检索与seo推广
  • 河北省建设厅网站官网百度下载安装官方下载
  • 亚洲tvseo优化公司排名
  • 佛山 建站公司aso优化服务
  • 超大免费网站空间企业网站建设公司
  • 做平面的公司网站网络推广平台有哪些渠道
  • php动态网站开发唐四薪什么是网络营销的核心
  • 西安软件外包公司排名长沙优化科技有限公司正规吗
  • 动态网站开发考试saas建站平台
  • 绍兴seo整站优化网页设计与制作模板
  • 高端网站开发成本推广方案怎么写模板
  • api接口开发网站开发公司查询
  • 杭州建设网站网站代理公司
  • 广州微网站建设市场湖南专业seo推广
  • html做音乐网站java培训
  • 北京平面设计公司排行榜上海牛巨仁seo
  • 医疗科技网站建设网络营销与直播电商专业介绍
  • 免费做网站可以一直用吗seo分析师招聘
  • 注册个体户网站排名优化方法
  • 当下最热的网页制作工具贵州seo和网络推广
  • 做育儿类网站用什么程序好足球世界排名国家
  • 下载手机商城app下载安装中山seo推广优化
  • 个人网站 可以做论坛吗广州网络营销
  • b2b 网站制作网站运营公司
  • 个人 建设图片分享网站怎么快速优化网站排名
  • 国外优秀建筑设计网站谷歌seo网站推广怎么做