From ALF & SAM

Plugin API Documentation

/api/caninterp

Interprets CAN messages based on ISO 14229 standard.
Provides detailed diagnostic session analysis and negative response code explanations.

Request Body
JSON
{ "user": "User_ID", "query": "Tx:0x10 0x02;Rx:0x7F 0x10 0x7E" }
Expected Response
JSON
{ "result": "当使用 DiagnosticSessionControl (0x10) service 下的ProgrammingSession (0x02)的时候取得了负相应 NRC 0x7E, 表示: the server does not support the requested sub-function in the session currently active" }
/api/getstudydetails

Retrieves all published research papers from ALF & SAM.
Supports natural language queries for paper discovery.

Request Body
JSON
{ "user": "User_ID", "query": "Tell me how to design a deeplearning model for bluetooth keyless entry." }
Response Format
Markdown
### 标题 ... ### 作者 ... ### 摘要 ... ### 链接 https://www.researchgate.net...
/api/det

这个服务主要是响应客户端发送过来的POST请求,并且从中抽取出DICOM对象以及检测算法的必要参数
最终服务会根据这些参数返回检测结果(OK or NG),以及标注过的图片。
关于这个服务的更多信息可以参考这个Notebook。

Request Body
JSON
{ "dicom_stream": "DICOM对象,格式为base64编码", "grey_lvl_upper": "检测使用的图片HU上限,DICOM会根据这个值截断并且归一化到1.0(default为10000)" "grey_lvl_lower": "检测使用的图片HU下限,DICOM会根据这个值截断并且归一化到0.0(default为0)" "chunk_size": "原始DICOM转换成的灰度图会按照这个值切成方块,根据环境变量里的检测器输入大小做必要的resize(default为640)" }
Expected Response
JSON
{ "image_stream": "标注过的图片" "is_ok": "是否是良品(OK or NG)" }
/api/ontorerank

Rerank document list from a vanilla RAG system
You need to provide query graph, list of graph each one from a retrieved document
This tool is designed for restrained search defined by an ontology.
More details of this tool can be found in this link and this notebook.

Request Body
JSON
{ "user": "User_ID", "query_kg": "graph from your question" "doc_kg": "A List of graph from your doc" }
Response Format
JSON
{ "score": "Rerank score one for each document", }
Ontology Example
JSON
{ "entities":[ "NamedPizza - a pizza with specific name", ... ], "object_property": [ "is a kind of", "hasTopping", ... ] "graph": [ ["NamedPizza", "hasTopping", "PizzaTopping"], ["PizzaTopping", "is a kind of", "Topping"], ... ] }
Usage Example
JSON
Request: { "user": "XXX", "query_kg":[["NamedPizza", "hasSpiciness", "Medium"], ["NamedPizza", "hasTopping", "vegetable"]], "doc_kg":[[["Veneziana", "hasTopping", "OnionTopping"], ["OnionTopping", "is a kind of", "VegetableTopping"], ["OnionTopping", "hasSpiciness", "Medium"]], [["Siciliana", "hasTopping", "GarlicTopping"], ["GarlicTopping", "is a kind of", "VegetableTopping"], ["GarlicTopping", "hasSpiciness", "Medium"]], [["Fiorentina", "hasTopping", "GarlicTopping"], ["GarlicTopping", "is a kind of", "VegetableTopping"], ["GarlicTopping", "hasSpiciness", "Medium"]], [["FruttiDiMare", "hasTopping", "GarlicTopping"], ["GarlicTopping", "is a kind of", "VegetableTopping"], ["GarlicTopping", "hasSpiciness", "Medium"]], [["PolloAdAstra", "hasTopping", "GarlicTopping"], ["GarlicTopping", "is a kind of", "VegetableTopping"], ["GarlicTopping", "hasSpiciness", "Medium"]], [["FourSeasons", "hasTopping", "PeperoniSausageTopping"], ["PeperoniSausageTopping", "is a kind of", "MeatTopping"], ["PeperoniSausageTopping", "hasSpiciness", "Medium"]], [["AmericanHot", "hasTopping", "PeperoniSausageTopping"], ["PeperoniSausageTopping", "is a kind of", "MeatTopping"], ["PeperoniSausageTopping", "hasSpiciness", "Medium"]], [["Parmense", "hasTopping", "AsparagusTopping"], ["AsparagusTopping", "is a kind of", "VegetableTopping"], ["AsparagusTopping", "hasSpiciness", "Mild"]], [["Veneziana", "hasTopping", "SultanaTopping"], ["SultanaTopping", "is a kind of", "FruitTopping"], ["SultanaTopping", "hasSpiciness", "Medium"]], [["SloppyGiuseppe", "hasTopping", "OnionTopping"], ["OnionTopping", "is a kind of", "VegetableTopping"], ["OnionTopping", "hasSpiciness", "Medium"]]] } Response: { {"result": "0.92, 0.92, 0.92, 0.92, 0.92, 0.86, 0.86, 0.82, 0.87, 0.92", "error": ""} }