本教程提供了关于如何使用 fastapi_poe 客户端库的指南。如果您想通过 import fastapi_poe as fp
导入库,以下内容将会很有帮助。
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)
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())
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())
通过上述示例,您可以启动一个服务,这样您的机器人就可以开始处理请求了。
阅读全文
温馨提示: