llama-index

Форк
0
59 строк · 1.6 Кб
1
"""Make.com API wrapper.
2

3
Currently cannot load documents.
4

5
"""
6

7
from typing import Any, List, Optional
8

9
import requests
10

11
from llama_index.legacy.core.response.schema import Response
12
from llama_index.legacy.readers.base import BaseReader
13
from llama_index.legacy.schema import Document, NodeWithScore, TextNode
14

15

16
class MakeWrapper(BaseReader):
17
    """Make reader."""
18

19
    def load_data(self, *args: Any, **load_kwargs: Any) -> List[Document]:
20
        """Load data from the input directory.
21

22
        NOTE: This is not implemented.
23

24
        """
25
        raise NotImplementedError("Cannot load documents from Make.com API.")
26

27
    def pass_response_to_webhook(
28
        self, webhook_url: str, response: Response, query: Optional[str] = None
29
    ) -> None:
30
        """Pass response object to webhook.
31

32
        Args:
33
            webhook_url (str): Webhook URL.
34
            response (Response): Response object.
35
            query (Optional[str]): Query. Defaults to None.
36

37
        """
38
        response_text = response.response
39
        source_nodes = [n.dict() for n in response.source_nodes]
40
        json_dict = {
41
            "response": response_text,
42
            "source_nodes": source_nodes,
43
            "query": query,
44
        }
45
        r = requests.post(webhook_url, json=json_dict)
46
        r.raise_for_status()
47

48

49
if __name__ == "__main__":
50
    wrapper = MakeWrapper()
51
    test_response = Response(
52
        response="test response",
53
        source_nodes=[NodeWithScore(node=TextNode(text="test source", id_="test id"))],
54
    )
55
    wrapper.pass_response_to_webhook(
56
        "https://hook.us1.make.com/asdfadsfasdfasdfd",
57
        test_response,
58
        "Test query",
59
    )
60

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.