Samples and next steps


Suppose we’re having the above conversation over Poe with a bot server running at https://ai.example.com/llm.
For the Poe conversation above, the Poe server sends a POST request to https://ai.example.com/llm with the following JSON in the body:
"version": "1.0",
"type": "query",
"query": [
"role": "user",
"content": "What is the capital of Nepal?",
"content_type": "text/markdown",
"timestamp": 1678299819427621,
"user": "u-1234abcd5678efgh",
"conversation": "c-jklm9012nopq3456",
The bot server responds with an HTTP 200 response code, then sends the following server-sent events:
event: meta
data: {"content_type": "text/markdown", "linkify": true}
event: text
data: {"text": "The"}
event: text
data: {"text": " capital of Nepal is"}
event: text
data: {"text": " Kathmandu."}
event: done
data: {}
The text may also be split into more or fewer individual events as desired. Sending more events means that users will see partial responses from the bot server faster.

Next steps

  • Check out our quick start to promptly get a bot running.
  • Tools:
    • fastapi-poe, a library for building Poe bots using the FastAPI framework. We recommend using this library if you are building your own bot.
    • Poe Simulator, a simulated Poe server for testing your bots.
  • Example bots:
    • HerokuCat, a demo bot to demonstrate the features of the protocol.
      • See the documentation for a full list of commands supported.
      • The source code for this bot is available in the tutorial.
    • llama-poe, a knowledge-augmented Poe bot powered by LlamaIndex and FastAPI.