FastAPI POE:Python API 参考指南

本教程提供了关于如何使用 fastapi_poe 客户端库的指南。如果您想通过 import fastapi_poe as fp 导入库,以下内容将会很有帮助。

ai_tutorial_poe_server_fastapi_Python_Reference_1

fp.PoeBot

这是一个类,用于定义您的机器人行为。定义完 PoeBot 类后,您可以将其传递给 make_app 函数以创建一个用于服务您的机器人的 FastAPI 应用。

参数:

  • path (str = "/"): 您的机器人服务的路径,默认为 /。您可以根据需要调整此路径,这在您想要在同一服务器上服务多个机器人时非常有用。
  • access_key (Optional[str] = None): 机器人的访问密钥。提供后,用于验证来自可信源的请求。若不提供,则某些需要访问密钥的功能(如文件输出)将不可用。
  • concat_attachments_to_message (bool = True): 是否将附件内容解析后并入消息文本。默认为 True,建议保持默认设置,以便机器人可以理解用户上传的附件。

PoeBot.get_response

覆写此方法以定义机器人针对用户查询的响应。

参数:

  • request (QueryRequest): 代表来自 Poe 的聊天响应请求的对象。

返回:

  • AsyncIterable[PartialResponse]: 代表您对 Poe 服务器的响应的对象,这将显示给用户。

使用示例:

    
async def get_response(self, request: fp.QueryRequest) -> AsyncIterable[fp.PartialResponse]:
    last_message = request.query[-1].content
    yield fp.PartialResponse(text=last_message)

更多函数和类的详细说明:

您可以通过覆写其他方法来增加机器人的功能,如处理反馈、错误、附件上传等。

快速创建和运行您的机器人

使用 fp.make_app 函数,您可以快速创建一个为您的机器人服务的 FastAPI 应用。这个函数除了需要传入您的机器人对象外,还可以设置访问密钥和其他一些服务器设置。

使用示例:

    
from fastapi import FastAPI
import fastapi_poe as fp

class MyBot(fp.PoeBot):
    async def get_response(self, request: fp.QueryRequest):
        # Your code here to handle the query
        pass

app = fp.make_app(bot=MyBot())

通过上述示例,您可以启动一个服务,这样您的机器人就可以开始处理请求了。

阅读全文
AI工具教程
免费领取AI学习资料 进AI副业交流群
礼物
AI工具教程
免费领取AI学习资料 进AI副业交流群