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

禹城有做网站公司网站模版

禹城有做网站,公司网站模版,思源黑体做网站,建设电商平台方案文章目录 一、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.khdw.cn/news/14299.html

相关文章:

  • 网站运营需要学什么seo关键词工具
  • 洛阳市副市长到省建设厅网站站长工具推荐
  • 厦门网站建设公司电话百度快照客服
  • 网站建设路由器怎么设置关键词推广怎么做
  • 开发网站sem投放是什么意思
  • 信用网站建设意义seo是什么意思网络用语
  • asp装修公司网站源码qianhu微建站
  • 高度重视部门网站建设淘宝客seo推广教程
  • 爱站网长尾关键词搜索网站运营是做什么的
  • 旺苍网站建设免费网络推广平台
  • 以域名做网站关键词福州seo网站排名
  • 家居公司网站建设方案pptsem推广是什么意思呢
  • 网站可以做弹窗广告么seo关键词分类
  • 中国最大的软件公司惠州seo排名
  • 以下哪个不是网站开发工具深圳网络营销推广服务
  • 中国铁路建设投资公司网站seo优化易下拉霸屏
  • 中国建设银行登录百度竞价关键词怎么优化
  • 中国容桂营销网站建设网上营销模式
  • 高端服装产品网站建设企业网站搭建
  • wordpress主题伪静态优化电池充电什么意思
  • 旅游网站的制作郑州百度seo排名公司
  • 珠海网站建设培训营销型企业网站推广的方法有哪些
  • 网站直播软件开发网络站点推广的方法有哪些
  • 做网站带来好处中国联通腾讯
  • 福安建设厅网站电商平台怎么做
  • 近两年网络营销成功案例seo舆情优化
  • 从哪些方面进行网站建设外贸网站营销推广
  • 大型网站tag标签 索引怎么推广软件让别人下载
  • 大连企业做网站百家号官网
  • 建设公司网站意义推广什么软件可以长期赚钱