poe-platform / fastapi_poe

A helper library for writing Poe API bots using FastAPI
Apache License 2.0
147 stars 25 forks source link

fastapi_poe

An implementation of the Poe protocol using FastAPI.

Write your own bot

This package can also be used as a base to write your own bot. You can inherit from PoeBot to make a bot:

import fastapi_poe as fp

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

if __name__ == "__main__":
    fp.run(EchoBot(), allow_without_key=True)

Now, run your bot using python <filename.py>.

Enable authentication

Poe servers send requests containing Authorization HTTP header in the format "Bearer

"; the access key is configured in the bot settings page. To validate that the request is from the Poe servers, you can either set the environment variable POE_ACCESS_KEY or pass the parameter access_key in the run function like: ```python if __name__ == "__main__": fp.run(EchoBot(), access_key=) ``` ## Samples Check out our starter code [repository](https://github.com/poe-platform/server-bot-quick-start) for some examples you can use to get started with bot development.