Skip to content

Patentsview

PatentsviewReader #

Bases: BaseReader

专利视图阅读器。

读取专利摘要。

Source code in llama_index/readers/patentsview/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
class PatentsviewReader(BaseReader):
    """专利视图阅读器。

    读取专利摘要。"""

    def __init__(self) -> None:
        """使用请求体进行初始化。"""
        self.json = {"q": {"patent_id": None}, "f": ["patent_abstract"]}

    def load_data(self, patent_number: List[str]) -> List[Document]:
        """加载给定专利号列表的专利摘要。

Args:
    patent_number: List[str]: 专利号列表,例如,8848839。

Returns:
    List[Document]: 包含每个专利摘要的Document对象列表。
"""
        if not patent_number:
            raise ValueError("Please input patent number")

        self.json["q"]["patent_id"] = patent_number

        response = requests.post(BASE_URL, json=self.json)

        if response.status_code == 200:
            data = response.json()
            patents = data.get("patents", [])

            results = []
            for patent in patents:
                results.append(Document(text=patent["patent_abstract"]))

        else:
            raise Exception(f"Request failed with status code: {response.status_code}")

        return results

load_data #

load_data(patent_number: List[str]) -> List[Document]

加载给定专利号列表的专利摘要。

Parameters:

Name Type Description Default
patent_number List[str]

List[str]: 专利号列表,例如,8848839。

required

Returns:

Type Description
List[Document]

List[Document]: 包含每个专利摘要的Document对象列表。

Source code in llama_index/readers/patentsview/base.py
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
    def load_data(self, patent_number: List[str]) -> List[Document]:
        """加载给定专利号列表的专利摘要。

Args:
    patent_number: List[str]: 专利号列表,例如,8848839。

Returns:
    List[Document]: 包含每个专利摘要的Document对象列表。
"""
        if not patent_number:
            raise ValueError("Please input patent number")

        self.json["q"]["patent_id"] = patent_number

        response = requests.post(BASE_URL, json=self.json)

        if response.status_code == 200:
            data = response.json()
            patents = data.get("patents", [])

            results = []
            for patent in patents:
                results.append(Document(text=patent["patent_abstract"]))

        else:
            raise Exception(f"Request failed with status code: {response.status_code}")

        return results