Skip to content

BaranziniLab/translator_summarization

Repository files navigation

Biomedical Translator Data Summarization API

This repository contains a Flask-based API that generates summaries of structured responses from the Biomedical Data Translator system in natural language.

Summary Endpoint

API has the summary endpoint called "/summary".

It currently accepts JSON structured data which holds the user "query" and the "results" which has the following structure (Eg. refer this sample data):

{
  "query": "<a question of string datatype>",
  "results": [
    {
      "name": "<name of a biomedical concept>",
      "paths": [
        "<biological path 1>",
        "<biological path 2>",
        "<biological path 3>"
      ]
    }
  ]
}

The list of biological paths represents the mechanistic explanation of how that answer (i.e., the biomedical concept) relates to the query.

Make an API call

/summary endpoint accepts POST request. Here is a snippet for calling the endpoint from python:

import requests

api_endpoint = "https://ncats-llm-summarization.onrender.com/summary"

def stream_response(url, data):
    headers = {'Content-Type': 'application/json'}
    response = requests.post(url, json=data, headers=headers, stream=True)
    
    if response.status_code == 200:
        for chunk in response.iter_content(chunk_size=1, decode_unicode=True):
            if chunk:
                print(chunk, end='', flush=True)
    else:
        print(f"Error: {response.status_code}")
        print(response.text)

stream_response(api_endpoint, data)

Note: 'data' is the JSON data as mentioned above

Refer demo notebook for more details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published