GeneFunctions

GeneFunctions · GPT アクション

ScholarAI

Allows the user to search facts and findings from scientific articles

  • GET /api/abstractsGet relevant paper abstracts by search 2-6 relevant keywords.
  • GET /api/fulltextGet full text of a paper by URL for PDF incrementally. Good for general summary. DO NOT use this endpoint for singular questions, use /api/question instead.
  • GET /api/save-citationSave citation to reference manager
  • GET /api/questionGet sections of PDF to answer questions about PDF. ALWAYS use this endpoint if the user has a specific question about a singular PDF.
  • GET /api/literature_mapFind papers related to another paper using their ss_id
  • GET /api/get_paper_metadataFind a singular paper's data using an arbitrary identifier, like a DOI or PMID.
元の API スキーマ
{
  "openapi": "3.0.1",
  "info": {
    "title": "ScholarAI",
    "description": "Allows the user to search facts and findings from scientific articles",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://scholar-ai.net"
    }
  ],
  "paths": {
    "/api/abstracts": {
      "get": {
        "operationId": "searchAbstracts",
        "summary": "Get relevant paper abstracts by search 2-6 relevant keywords.",
        "parameters": [
          {
            "name": "keywords",
            "in": "query",
            "description": "Keywords of inquiry which should appear in article. Must be in English.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "The sort order for results. Valid values are relevance, cited_by_count, publication_date. Defaults to relevance.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "in": "query",
            "description": "The user query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "peer_reviewed_only",
            "in": "query",
            "description": "Whether to only return peer reviewed articles. Defaults to true, ChatGPT should cautiously suggest this value can be set to false",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_year",
            "in": "query",
            "description": "The first year, inclusive, to include in the search range. Excluding this value will include all years.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_year",
            "in": "query",
            "description": "The last year, inclusive, to include in the search range. Excluding this value will include all years.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The offset of the first result to return. Defaults to 0.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "num_results_to_show",
            "in": "query",
            "description": "The number of results to return. Defaults to 4.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/searchAbstractsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/fulltext": {
      "get": {
        "operationId": "getFullText",
        "summary": "Get full text of a paper by URL for PDF incrementally. Good for general summary. DO NOT use this endpoint for singular questions, use /api/question instead.",
        "parameters": [
          {
            "name": "pdf_url",
            "in": "query",
            "description": "URL for PDF",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chunk",
            "in": "query",
            "description": "chunk number to retrieve, defaults to 1",
            "required": false,
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paperContentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/save-citation": {
      "get": {
        "operationId": "saveCitation",
        "summary": "Save citation to reference manager",
        "parameters": [
          {
            "name": "doi",
            "in": "query",
            "description": "Digital Object Identifier (DOI) of article",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zotero_user_id",
            "in": "query",
            "description": "Zotero User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zotero_api_key",
            "in": "query",
            "description": "Zotero API Key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saveCitationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/question": {
      "get": {
        "operationId": "question",
        "summary": "Get sections of PDF to answer questions about PDF. ALWAYS use this endpoint if the user has a specific question about a singular PDF.",
        "parameters": [
          {
            "name": "question",
            "in": "query",
            "description": "The user question. Must be in English.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pdf_url",
            "in": "query",
            "description": "URL for source PDF",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paperContentResponse"
                }
              }
            }
          },
          "402": {
            "description": "Premium required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/premiumRequiredResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/literature_map": {
      "get": {
        "operationId": "literatureMap",
        "summary": "Find papers related to another paper using their ss_id",
        "parameters": [
          {
            "name": "ss_id",
            "in": "query",
            "description": "The ss_id of the paper to find related papers for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "in": "query",
            "description": "Desired theme of related papers found. Should be provided if the user wants to find similar papers of a particular theme.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "adjacent_type",
            "in": "query",
            "description": "Type of adjacent papers being request. Valid options are 'citedBy', 'references', and 'recommended'. Argument should be a collection of the desired adjacent papers, comma separated. Defaults to 'citedBy,references,recommended'.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/api/get_paper_metadata": {
      "get": {
        "operationId": "getPaperMetadata",
        "summary": "Find a singular paper's data using an arbitrary identifier, like a DOI or PMID.",
        "parameters": [
          {
            "name": "paper_id",
            "in": "query",
            "description": "The identifier of the paper to find. MUST be of the format <identifier_type>:<identifier_value>. Identifier type can be one of DOI, PMID, SS_ID, ARXIV, MAG, ACL, or PMCID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "searchAbstractsResponse": {
        "type": "object",
        "properties": {
          "next_offset": {
            "type": "number",
            "description": "The offset of the next page of results."
          },
          "total_num_results": {
            "type": "number",
            "description": "The total number of results."
          },
          "abstracts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "abstract": {
                  "type": "string",
                  "description": "Summary of the context, methods, results, and conclusions of the paper."
                },
                "doi": {
                  "type": "string",
                  "description": "The DOI of the paper."
                },
                "landing_page_url": {
                  "type": "string",
                  "description": "Link to the paper on its open-access host."
                },
                "pdf_url": {
                  "type": "string",
                  "description": "Link to the paper PDF."
                },
                "publicationDate": {
                  "type": "string",
                  "description": "The date the paper was published in YYYY-MM-DD format."
                },
                "relevance": {
                  "type": "number",
                  "description": "The relevance of the paper to the search query. 1 is the most relevant."
                },
                "creators": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "The name of the creator."
                  }
                },
                "cited_by_count": {
                  "type": "number",
                  "description": "The number of citations of the article."
                },
                "ss_id": {
                  "type": "string",
                  "description": "Unique identifier for the paper."
                }
              }
            },
            "description": "The list of relevant abstracts."
          }
        }
      },
      "paperContentResponse": {
        "type": "object",
        "properties": {
          "chunks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "chunk_num": {
                  "type": "number",
                  "description": "The chunk number of the paper."
                },
                "chunk": {
                  "type": "string",
                  "description": "The chunk of the paper."
                },
                "img_mds": {
                  "type": "list",
                  "description": "List of content that appears in the current chunk. Display ALL markdown, including images. The viewing platform ALWAYS supports markdown, ALWAYS show the images."
                },
                "pdf_url": {
                  "type": "string",
                  "description": "Link to the paper PDF."
                }
              }
            },
            "description": "The chunk of the paper."
          },
          "total_chunk_num": {
            "type": "number",
            "description": "The total chunks of the paper."
          },
          "hint": {
            "type": "string",
            "description": "Instructions for GPT to follow regarding this response."
          }
        }
      },
      "saveCitationResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Confirmation of successful save or error message."
          }
        }
      },
      "premiumRequiredResponse": {
        "type": "object",
        "properties": {
          "hint": {
            "type": "string",
            "description": "Suggestion to use premium or alternative for free users."
          }
        }
      }
    }
  }
}