Skip to content

Ionic shopping

IonicShoppingToolSpec #

Bases: BaseToolSpec

Ionic购物工具规范。

该工具可用于使用LLMs构建电子商务体验。

Source code in llama_index/tools/ionic_shopping/base.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
class IonicShoppingToolSpec(BaseToolSpec):
    """Ionic购物工具规范。

    该工具可用于使用LLMs构建电子商务体验。"""

    spec_functions = ["query"]

    def __init__(self, api_key: Optional[str] = None) -> None:
        """Ionic API密钥。

了解有关Ionic API密钥归属的更多信息
https://docs.ioniccommerce.com/guides/attribution
"""
        from ionic import Ionic as IonicSDK

        if api_key:
            self.client = IonicSDK(api_key_header=api_key)
        else:
            self.client = IonicSDK()

    def query(
        self,
        query: str,
        num_results: Optional[int] = 5,
        min_price: Optional[int] = None,
        max_price: Optional[int] = None,
    ) -> list[Product]:
        """使用此函数来搜索产品并获取产品推荐。

Args:
    query(str):产品名称或产品类别的精确查询
    num_results(可选[int]):默认为5。要返回的产品结果数量。
    min_price(可选[int]):请求者愿意支付的最低价格(以分为单位)
    max_price(可选[int]):请求者愿意支付的最高价格(以分为单位)
"""
        request = QueryAPIRequest(
            query=SDKQuery(
                query=query,
                num_results=num_results,
                min_price=min_price,
                max_price=max_price,
            )
        )
        response: QueryResponse = self.client.query(
            request=request,
            security=QuerySecurity(),
        )

        return [
            product
            for result in response.query_api_response.results
            for product in result.products
        ]

query #

query(
    query: str,
    num_results: Optional[int] = 5,
    min_price: Optional[int] = None,
    max_price: Optional[int] = None,
) -> list[Product]

使用此函数来搜索产品并获取产品推荐。

Source code in llama_index/tools/ionic_shopping/base.py
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
    def query(
        self,
        query: str,
        num_results: Optional[int] = 5,
        min_price: Optional[int] = None,
        max_price: Optional[int] = None,
    ) -> list[Product]:
        """使用此函数来搜索产品并获取产品推荐。

Args:
    query(str):产品名称或产品类别的精确查询
    num_results(可选[int]):默认为5。要返回的产品结果数量。
    min_price(可选[int]):请求者愿意支付的最低价格(以分为单位)
    max_price(可选[int]):请求者愿意支付的最高价格(以分为单位)
"""
        request = QueryAPIRequest(
            query=SDKQuery(
                query=query,
                num_results=num_results,
                min_price=min_price,
                max_price=max_price,
            )
        )
        response: QueryResponse = self.client.query(
            request=request,
            security=QuerySecurity(),
        )

        return [
            product
            for result in response.query_api_response.results
            for product in result.products
        ]