Chatbox调用Fastapi服务实践

1. 部署fastapi服务

fastapi_chatbox.py

from fastapi import FastAPI, Request
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import StreamingResponse
import uvicorn
import signal
import traceback
import sys
import json
import time

app = FastAPI()

# 允许跨域请求(如果Chatbox和FastAPI不在同一个域名下)
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

# 添加你需要的 /v1/chat/completions 路由
@app.post("/v1/chat/completions")
async def chat_completions(request: Request):
    data = await request.json()
    print("\n|> chat_completions Received chat completion request:\n", data)
    
    # 检查是否是流式请求
    stream = data.get("stream", False)
    
    if stream:
        # 流式响应
        async def generate():
            yield "data: {}\n\n".format(json.dumps({
                "id": "chatcmpl-123",
                "object": "chat.completion.chunk",
    
### 实现聊天应用中的API调用 在开发聊天应用程序时,可以通过多种方式集成API来增强功能。对于Windows平台上的桌面应用程序,可以利用Visual Basic (VB) 或其他支持COM接口的语言来进行API调用。 当涉及到具体操作如打开特定类型的对话框时,例如捕获打印机端口对话框,这通常不是直接与聊天界面交互的功能。然而,在某些情况下可能确实需要通过聊天窗口触发这样的行为。为了做到这一点,可以在接收到特定命令或者消息模式之后执行相应的API函数[^1]。 下面是一个简单的例子展示如何在一个基于事件驱动的消息处理循环里加入对外部DLL的调用来响应用户的输入: #### 使用 Visual Basic 调用 API 函数 假设有一个按钮点击或其他形式的消息作为触发条件,以下是实现该逻辑的方式之一: ```vbnet ' 声明外部库函数 Private Declare Function WNetConnectionDialog Lib "mpr.dll" _ (ByVal hwnd As Long, ByVal dwType As Long) As Long ' 定义窗体级别的变量用于存储当前句柄 Dim frmHandle As Long ' 设置窗体加载时初始化句柄值 Private Sub Form_Load() ' 获取本窗体的句柄并赋给全局变量 frmHandle = Me.hWnd End Sub ' 当用户发送指定指令时触发此子程序 Private Sub CommandButton_Click() Dim result As Long ' 执行连接网络资源对话框显示,并传入父窗口句柄以及类型参数2表示打印设备 result = WNetConnectionDialog(frmHandle, 2) If result <> 0 Then MsgBox "成功选择了打印机", vbInformation Else MsgBox "取消选择或发生错误", vbExclamation End If End Sub ``` 这段代码展示了怎样定义一个私有声明去访问`WNetConnectionDialog`函数,并且提供了一个方法使得当某个控件被激活(比如按下按钮)的时候能够弹出“捕获打印机端口”的对话框。 需要注意的是实际应用场景下应当更加谨慎地设计UI/UX体验,确保这类非标准的操作不会让用户感到困惑;同时也应该考虑安全性和权限管理方面的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值