matrix_chatgpt_bot/src/flowise.py

36 lines
1.2 KiB
Python
Raw Normal View History

2023-06-05 03:27:37 +00:00
import aiohttp
# need refactor: flowise_api does not support context converstaion, temporarily set it aside
async def flowise_query(api_url: str, prompt: str, session: aiohttp.ClientSession, headers: dict = None) -> str:
"""
Sends a query to the Flowise API and returns the response.
Args:
api_url (str): The URL of the Flowise API.
prompt (str): The question to ask the API.
session (aiohttp.ClientSession): The aiohttp session to use.
headers (dict, optional): The headers to use. Defaults to None.
Returns:
str: The response from the API.
"""
if headers:
response = await session.post(
api_url, json={"question": prompt}, headers=headers
)
else:
response = await session.post(api_url, json={"question": prompt})
return await response.json()
async def test():
session = aiohttp.ClientSession()
api_url = "http://127.0.0.1:3000/api/v1/prediction/683f9ea8-e670-4d51-b657-0886eab9cea1"
prompt = "What is the capital of France?"
response = await flowise_query(api_url, prompt, session)
print(response)
if __name__ == "__main__":
import asyncio
asyncio.run(test())