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

部队网站建设招标南京做网站工作室

部队网站建设招标,南京做网站工作室,wordpress 仪表盘 渗透,开平网络推广文章目录 一、FastAPI介绍二、环境配置三、示例代码1.app.py代码如下2.websocket_handler.py 代码如下3.运行app4.遇到的问题与解决 一、FastAPI介绍 FastAPI是一个高性能的Python Web框架,它基于Starlette并利用了 Python类型提示的优势。它可以帮助我们快速构建具…

文章目录

    • 一、FastAPI介绍
    • 二、环境配置
    • 三、示例代码
      • 1.app.py代码如下
      • 2.websocket_handler.py 代码如下
      • 3.运行app
      • 4.遇到的问题与解决

在这里插入图片描述

一、FastAPI介绍

FastAPI是一个高性能的Python Web框架,它基于Starlette并利用了 Python类型提示的优势。它可以帮助我们快速构建具有强大功能的Web应用程序。

二、环境配置

依赖库介绍:

Uvicorn 是一个基于 asyncio 开发的轻量级高效的 web 服务器框架

它的设计初衷是为了实现两个主要目标:

首先,使用 uvloophttptools 实现一个极速的 asyncio 服务器;

其次,实现一个基于 ASGI(异步服务器网关接口)的最小应用程序接口。

Uvicorn 目前支持 HTTPWebSocketsPub/Sub 广播,并且可以扩展到其他协议和消息类型。

pip install fastapi uvicorn ollama -i https://pypi.tuna.tsinghua.edu.cn/simple

三、示例代码

示例代码目录结构如下

fastapi_chat_app/
│
├── app.py
├── websocket_handler.py
├── static/
│   └── index.html
  • app.py FastAPI 应用程序的主要设置和路由。

  • websocket_handler.py 处理 WebSocket 连接和消息流。

  • static/index.html HTML页面。

    1.app.py代码如下

    from fastapi import FastAPI
    from fastapi.responses import HTMLResponse
    from fastapi.staticfiles import StaticFiles
    from websocket_handler import websocket_endpointapp = FastAPI()app.mount("/static", StaticFiles(directory="static"), name="static")@app.get("/", response_class=HTMLResponse)
    async def get_form():with open("static/index.html") as f:html_content = f.read()return HTMLResponse(content=html_content)app.websocket("/ws")(websocket_endpoint)if __name__ == "__main__":import uvicornuvicorn.run("app:app", host="127.0.0.0", port=5001, reload=True) # 如果希望远程服务器调用,可以将host更改为"127.0.0.0"
    

    2.websocket_handler.py 代码如下

    import ollama
    from fastapi import WebSocketasync def websocket_endpoint(websocket: WebSocket):await websocket.accept()  # 接受WebSocket连接user_input = await websocket.receive_text()  # 接收用户输入的文本消息stream = ollama.chat(  # 使用ollama库与指定模型进行对话model='llama3.1',  # 指定使用的模型为llama3.1messages=[{'role': 'user', 'content': user_input}],  # 传入用户的输入消息stream=True  # 启用流式传输)try:for chunk in stream:  # 遍历流式传输的结果model_output = chunk['message']['content']  # 获取模型输出的内容await websocket.send_text(model_output)  # 通过WebSocket发送模型输出的内容except Exception as e:  # 捕获异常await websocket.send_text(f"Error: {e}")  # 通过WebSocket发送错误信息finally:await websocket.close()  # 关闭WebSocket连接
    

3.运行app

  1. 运行 app.py 文件。
uvicorn app:app --reload

打开页面。
在这里插入图片描述

4.遇到的问题与解决

修改app.py 中host 和port 后,通过uvicorn app:app --reload,修改未生效,远程主机无通过 http://<host>:port进行访问。

解决:
uvicorn运行时指定端口号

$ uvicorn app:app --reload --host 0.0.0.0 --port 8000
INFO:     Will watch for changes in these directories: ['./fastapi_chat_app']
INFO:     Uvicorn running on http://0.0.0.0:8086 (Press CTRL+C to quit)
INFO:     Started reloader process [4230] using StatReload
INFO:     Started server process [4232]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
http://www.yayakq.cn/news/619984/

相关文章:

  • 做网站领券收佣金河北省公司执照网上注册
  • 上海普陀区企业网站建设优化培训课程
  • 一个空间可以做几个网站网站的静态页面谁做
  • 淘宝网站icp备案企业网站源码 多语言
  • 江南网盟-专注中小企业网站建设服务装修公司经营范围
  • 海外网站空间微信网站开发设计
  • 在别人网站挂黑链wordpress包下载
  • 珠海新盈科技 网站建设网页制作作业
  • 室内设计装修网站网店首页设计
  • 青岛高端网站建设高要建设网站
  • 自己做网站怎么赚钱营口网站建设公司
  • 网站分成推广怎么做网络营销推广方案创意
  • 电商网站开发用什么语言表达wordpress二次元
  • 济南网站制作方案实惠的福州网络推广
  • 营销型网站跟云网站常州城乡建设局网站
  • 旅游景点网站建设建筑工程网名
  • 外贸销售网站有哪些西安微网站建设
  • 公司网站点击量如何看用手机怎么制作动漫视频
  • 怎么创立自己的网站南京市住房和城乡建设部网站
  • 那些网站可以够买域名电商网站的支付功能
  • 网站建设合同服务响应时间山姆超市网上购物网
  • 做软件赚钱的网站有哪些免费建设com网站
  • 电子商务网站建设是什么意思校园门户网站开发需求
  • 建一个网站需要什么流程wordpress显示股价
  • 哈尔滨做网站哪好公司注册后每年的费用
  • 网站做sem优化唯美个人网站欣赏
  • 石家庄好用的招聘网站织梦后台怎么加自己做的网站
  • 上高做网站公司免费个人简历表
  • 做app网站WordPress更换主题残留
  • 如何学做网站html网站怎么做的