Skip to content

Passio nutrition ai

NutritionAIToolSpec #

Bases: BaseToolSpec

用于查询Passio Nutrition AI API的工具。

Source code in llama_index/tools/passio_nutrition_ai/base.py
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
class NutritionAIToolSpec(BaseToolSpec):
    """用于查询Passio Nutrition AI API的工具。"""

    spec_functions = ["nutrition_ai_search"]
    auth_: ManagedPassioLifeAuth

    def __init__(self, api_key: str) -> None:
        """使用参数进行初始化。"""
        self.auth_ = ManagedPassioLifeAuth(api_key)

    @retry(
        retry=retry_if_result(is_http_retryable),
        stop=stop_after_attempt(4),
        wait=wait_random(0, 0.3) + wait_exponential(multiplier=1, min=0.1, max=2),
    )
    def _http_get(self, query: str):
        return requests.get(
            ENDPOINT_BASE_URL,
            headers=self.auth_.headers,
            params={"term": query},  # type: ignore
        )

    def _nutrition_request(self, query: str):
        response = self._http_get(query)
        if not response:
            raise ValueError("No response from NutritionAI API.")
        return response.json()

    def nutrition_ai_search(self, query: str):
        """获取特定食物项目的营养成分。
输入应为食物项目的搜索查询字符串。

Args:
    query(str):要查找的食物项目。

返回一个JSON结果,其中包含食物项目的营养成分,如果有的话,还包括有时更匹配的替代食物项目。
"""
        return self._nutrition_request(query)
nutrition_ai_search(query: str)

获取特定食物项目的营养成分。 输入应为食物项目的搜索查询字符串。

返回一个JSON结果,其中包含食物项目的营养成分,如果有的话,还包括有时更匹配的替代食物项目。

Source code in llama_index/tools/passio_nutrition_ai/base.py
134
135
136
137
138
139
140
141
142
143
    def nutrition_ai_search(self, query: str):
        """获取特定食物项目的营养成分。
输入应为食物项目的搜索查询字符串。

Args:
    query(str):要查找的食物项目。

返回一个JSON结果,其中包含食物项目的营养成分,如果有的话,还包括有时更匹配的替代食物项目。
"""
        return self._nutrition_request(query)