mirror of
https://github.com/run-llama/llama-hub.git
synced 2025-08-14 03:31:41 +00:00
62 lines
1.7 KiB
Python
62 lines
1.7 KiB
Python
"""Make.com API wrapper.
|
|
|
|
Currently cannot load documents.
|
|
|
|
"""
|
|
|
|
from typing import Any, List, Optional
|
|
|
|
import requests
|
|
from llama_index.readers.base import BaseReader
|
|
from llama_index.readers.schema.base import Document
|
|
from llama_index.response.schema import Response
|
|
from llama_index.data_structs.node import Node, NodeWithScore
|
|
|
|
|
|
class MakeWrapper(BaseReader):
|
|
"""Make reader."""
|
|
|
|
def load_data(self, *args: Any, **load_kwargs: Any) -> List[Document]:
|
|
"""Load data from the input directory.
|
|
|
|
NOTE: This is not implemented.
|
|
|
|
"""
|
|
raise NotImplementedError("Cannot load documents from Make.com API.")
|
|
|
|
def pass_response_to_webhook(
|
|
self, webhook_url: str, response: Response, query: Optional[str] = None
|
|
) -> None:
|
|
"""Pass response object to webhook.
|
|
|
|
Args:
|
|
webhook_url (str): Webhook URL.
|
|
response (Response): Response object.
|
|
query (Optional[str]): Query. Defaults to None.
|
|
|
|
"""
|
|
response_text = response.response
|
|
source_nodes = [n.to_dict() for n in response.source_nodes]
|
|
json_dict = {
|
|
"response": response_text,
|
|
"source_nodes": source_nodes,
|
|
"query": query,
|
|
}
|
|
r = requests.post(webhook_url, json=json_dict)
|
|
r.raise_for_status()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
wrapper = MakeWrapper()
|
|
test_response = Response(
|
|
response="test response",
|
|
source_nodes=[
|
|
NodeWithScore(node=Node(source_text="test source", doc_id="test id"))
|
|
],
|
|
)
|
|
wrapper.pass_response_to_webhook(
|
|
"https://hook.us1.make.com/asdfadsfasdfasdfd",
|
|
test_response,
|
|
"Test query",
|
|
)
|