仓库 notebook 的 c6 文件夹下:
fastapi_chat_app/ │ ├── app.py ├── websocket_handler.py ├── static/ │ └── index.html └── requirements.txt
git clone https://github.com/AXYZdong/handy-ollama
pip install -r requirements.txt
app.py 文件中的核心代码如下:
import ollama from fastapi import WebSocket async def websocket_endpoint(websocket: WebSocket): await websocket.accept() # 接受WebSocket连接 user_input = await websocket.receive_text() # 接收用户输入的文本消息 stream = ollama.chat( # 使用ollama库与指定模型进行对话 model='llama3.1', # 指定使用的模型为llama3.1 messages=[{'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连接
接受 WebSocket 连接:
接收用户输入:
初始化对话流:
处理模型输出:
异常处理:
关闭 WebSocket 连接:
uvicorn app:app --reload
打开页面。
后台显示的正常输出。
以上就是FastAPI 部署 Ollama 可视化对话界面的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号