ChatGLM3在Docker环境部署,Linux运维免打包多渠道统计如何实现

简介: ChatGLM3在Docker环境部署,Linux运维免打包多渠道统计如何实现
DEVICE = “cuda”
DEVICE_ID = “0”
CUDA_DEVICE = f"{DEVICE}:{DEVICE_ID}" if DEVICE_ID else DEVICE
def torch_gc():
if torch.cuda.is_available():
with torch.cuda.device(CUDA_DEVICE):
torch.cuda.empty_cache()
torch.cuda.ipc_collect()
app = FastAPI() # 创建API实例
app.add_middleware(
CORSMiddleware,
# 允许跨域的源列表,例如 [“http://www.example.org”] 等等,[““] 表示允许任何源
allow_origins=[””],
# 跨域请求是否支持 cookie,默认是 False,如果为 True,allow_origins 必须为具体的源,不可以是 [““]
allow_credentials=False,
# 允许跨域请求的 HTTP 方法列表,默认是 [“GET”]
allow_methods=[””],
# 允许跨域请求的 HTTP 请求头列表,默认是 [],可以使用 [““] 表示允许所有的请求头
# 当然 Accept、Accept-Language、Content-Language 以及 Content-Type 总之被允许的
allow_headers=[””],
# 可以被浏览器访问的响应头, 默认是 [],一般很少指定
# expose_headers=[“*”]
# 设定浏览器缓存 CORS 响应的最长时间,单位是秒。默认为 600,一般也很少指定
# max_age=1000
)
@app.post(“/”)
async def create_item(request: Request):
global model, tokenizer
json_post_raw = await request.json()
json_post = json.dumps(json_post_raw)
json_post_list = json.loads(json_post)
prompt = json_post_list.get(‘prompt’)
history = json_post_list.get(‘history’)
max_length = json_post_list.get(‘max_length’)
top_p = json_post_list.get(‘top_p’)
temperature = json_post_list.get(‘temperature’)
response, history = model.chat(tokenizer,
prompt,
history=history,
max_length=max_length if max_length else 32760,
top_p=top_p if top_p else 0.7,
#top_p=top_p if top_p else 0.1,
temperature=temperature if temperature else 0.95)
#temperature=temperature if temperature else 0.1)
now = datetime.datetime.now()
time = now.strftime("%Y-%m-%d %H:%M:%S")
answer = {
    "response": response,
    "history": history,
    "status": 200,
    "time": time
}
log = "[" + time + "] " + '", prompt:"' + prompt + '", response:"' + repr(response) + '"'
print(log)
torch_gc()
return answer

if name == ‘main’:


相关文章
|
3天前
|
Nacos Docker 容器
docker部署nacos
docker部署nacos
20 2
|
1天前
|
监控 测试技术 开发者
【Docker项目实战】使用Docker部署NextTrace Web路由工具
【6月更文挑战第16天】使用Docker部署NextTrace Web路由工具
13 2
|
2天前
|
存储 Linux Docker
python项目 以docker形式打包部署全流程
在很久很久以前,我已经听过Docker的大名,当时服务着急上线虽然考虑过用Docker来部署我的服务,但是因为赶期的原因放弃了。 这两天因为华为云服务器到期,而且阿里云服务器优惠力度特别大的原因,我要把华为云服务器里的工程迁移到阿里云。 迁移的过程中,大量的时间精力浪费在了重装python,加载依赖,迁移项目,配置端口等环境配置的工作上。 我在想,如果当时用了Docker部署,我至于受这气?
|
2天前
|
Web App开发 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署linkding书签管理器
【6月更文挑战第15天】使用Docker部署linkding书签管理器
14 7
|
3天前
|
Linux Docker Python
【docker】Mac M1 构建 x64 linux镜像
【docker】Mac M1 构建 x64 linux镜像
7 0
|
3天前
|
应用服务中间件 nginx Docker
docker部署nginx
docker部署nginx
20 1
|
3天前
|
消息中间件 存储 数据安全/隐私保护
docker部署rabbitmq
docker部署rabbitmq
7 0
|
3天前
|
关系型数据库 MySQL Docker
docker部署mysql
docker部署mysql
11 1
|
3天前
|
NoSQL Redis Docker
docker部署redis
docker部署redis
13 4
|
3天前
|
测试技术 Linux 项目管理
【Docker项目实战】使用Docker部署Note Mark笔记工具
【6月更文挑战第14天】使用Docker部署Note Mark笔记工具
12 4