python3写一个http接口(UI界面), 给别人调用4--streamlit

python3写一个http接口服务(UI界面), 给别人调用4–streamlit

一、概述

首先推荐streamlit, streamlit是一种低代码方案, 即快速构建和共享数据应用程序。说人话就是傻瓜式构建UI界面, 做个人demo很方便。
streamlit/streamlit在github上star已经超过20k了。
美国云计服务商雪花-Snowflake在2022年8亿美元收购了sreamlit公司。只是没想到有一天也会用上低代码工具。

二、使用感受

感觉streamlit还行, 上手简单, 官方demo齐全, UI界面也比较圆润。就是安装依赖太多了。

样例github地址: https://github.com/yongzhuo/web-demo)

三、streamlit简单demo样例

# -*- coding: UTF-8 -*-
# !/usr/bin/python
# @time     :2022/7/16 21:56
# @author   :Mo
# @function :demo of streamlit


"""计算文本的jaccard相似度

启动运行
# shell
# streamlit run demo.py --server.port 8832
# nohup streamlit run demo.py --server.port 8832 > tc_jaccard.log 2>&1 &
# tail -n 1000  -f tc_jaccard.log
# 关闭也很慢

"""


import json

import streamlit as st


st.title("Calculate-Jaccard-Similarity")

st.subheader("Input 👇 ")
sen_1 = st.text_area("sentence-1:", value="你会什么", height=32)
sen_2 = st.text_area("sentence-2:", value="你叫什么", height=32)


def cal_jaccard(sen_1, sen_2):
    """ 计算相似度 """
    try:
        sent_intersection = list(set(list(sen_1)).intersection(set(list(sen_2))))
        sent_union = list(set(list(sen_1)).union(set(list(sen_2))))
        score_jaccard = round(float(len(sent_intersection) / len(sent_union)), 6)
    except:
        score_jaccard = 0.0
    res = {"result": score_jaccard}
    data = {"code": 200, "data": res, "message": "success"}
    return data


score = cal_jaccard(sen_1, sen_2)

st.subheader("Result 👇 ")
st.text(json.dumps(score, ensure_ascii=False, indent=4))

四、启动方式

streamlit run demo.py --server.port 8832

五、界面效果展示

访问: http://localhost:8832/

windows下它会自动跳转到默认浏览器界面

5.1 nlp-demo

在这里插入图片描述

5.2 cv-demo

在这里插入图片描述

六、参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值