Spaces:
Running
Running
from llama_index.core import PromptTemplate | |
from typing import Optional, List | |
from pydantic import BaseModel, Field | |
from llama_index.core.prompts import PromptTemplate | |
class StudyCharacteristics(BaseModel): | |
STUDYID: str | |
AUTHOR: str | |
YEAR: int | |
TITLE: str | |
APPENDIX: Optional[str] | |
PUBLICATION_TYPE: str | |
STUDY_DESIGN: str | |
STUDY_AREA_REGION: str | |
STUDY_POPULATION: str | |
IMMUNISABLE_DISEASE_UNDER_STUDY: str | |
ROUTE_OF_VACCINE_ADMINISTRATION: str | |
DURATION_OF_STUDY: str | |
DURATION_IN_RELATION_TO_COVID19: str | |
STUDY_COMMENTS: Optional[str] | |
class VaccineCoverageVariables(BaseModel): | |
STUDYID: str | |
AUTHOR: str | |
YEAR: int | |
TITLE: str | |
VACCINE_COVERAGE_RATES: float = Field(..., ge=0, le=100) | |
PROPORTION_ADMINISTERED_WITHIN_RECOMMENDED_AGE: float = Field(..., ge=0, le=100) | |
IMMUNISATION_UPTAKE: float = Field(..., ge=0, le=100) | |
VACCINE_DROP_OUT_RATES: float = Field(..., ge=0, le=100) | |
INTENTIONS_TO_VACCINATE: float = Field(..., ge=0, le=100) | |
VACCINE_CONFIDENCE: float = Field(..., ge=0, le=100) | |
STUDY_COMMENTS: Optional[str] | |
study_characteristics_prompt = PromptTemplate( | |
"Based on the given text, extract the following study characteristics:\n" | |
"STUDYID: {studyid}\n" | |
"AUTHOR: {author}\n" | |
"YEAR: {year}\n" | |
"TITLE: {title}\n" | |
"APPENDIX: {appendix}\n" | |
"PUBLICATION_TYPE: {publication_type}\n" | |
"STUDY_DESIGN: {study_design}\n" | |
"STUDY_AREA_REGION: {study_area_region}\n" | |
"STUDY_POPULATION: {study_population}\n" | |
"IMMUNISABLE_DISEASE_UNDER_STUDY: {immunisable_disease}\n" | |
"ROUTE_OF_VACCINE_ADMINISTRATION: {route_of_administration}\n" | |
"DURATION_OF_STUDY: {duration_of_study}\n" | |
"DURATION_IN_RELATION_TO_COVID19: {duration_covid19}\n" | |
"STUDY_COMMENTS: {study_comments}\n" | |
"Provide the information in a JSON format. If a field is not found, leave it as null." | |
) | |
vaccine_coverage_prompt = PromptTemplate( | |
"Based on the given text, extract the following vaccine coverage variables:\n" | |
"STUDYID: {studyid}\n" | |
"AUTHOR: {author}\n" | |
"YEAR: {year}\n" | |
"TITLE: {title}\n" | |
"VACCINE_COVERAGE_RATES: {coverage_rates}\n" | |
"PROPORTION_ADMINISTERED_WITHIN_RECOMMENDED_AGE: {proportion_recommended_age}\n" | |
"IMMUNISATION_UPTAKE: {immunisation_uptake}\n" | |
"VACCINE_DROP_OUT_RATES: {drop_out_rates}\n" | |
"INTENTIONS_TO_VACCINATE: {intentions_to_vaccinate}\n" | |
"VACCINE_CONFIDENCE: {vaccine_confidence}\n" | |
"STUDY_COMMENTS: {study_comments}\n" | |
"Provide the information in a JSON format. For numerical values, provide percentages as floats between 0 and 100. If a field is not found, leave it as null." | |
) | |
sample_questions = { | |
"Vaccine Coverage": [ | |
"What are the vaccine coverage rates reported in the study?", | |
"What proportion of vaccines were administered within the recommended age range?", | |
"What is the immunisation uptake reported in the study?", | |
"What are the vaccine drop-out rates mentioned in the document?", | |
"What are the intentions to vaccinate reported in the study?", | |
"How is vaccine confidence described in the document?", | |
], | |
"Ebola Virus": [ | |
"What is the sample size of the study?", | |
"What is the type of plasma used in the study?", | |
"What is the dosage and frequency of administration of the plasma?", | |
"Are there any reported side effects?", | |
"What is the change in viral load after treatment?", | |
"How many survivors were there in the intervention group compared to the control group?", | |
], | |
"Gene Xpert": [ | |
"What is the main objective of the study?", | |
"What is the study design?", | |
"What disease condition is being studied?", | |
"What are the main outcome measures in the study?", | |
"What is the sensitivity and specificity of the Gene Xpert test?", | |
"How does the cost of the Gene Xpert testing strategy compare to other methods?", | |
], | |
} | |
highlight_prompt = PromptTemplate( | |
"Context information is below.\n" | |
"---------------------\n" | |
"{context_str}\n" | |
"---------------------\n" | |
"Given this information, please answer the question: {query_str}\n" | |
"Include all relevant information from the provided context. " | |
"Highlight key information by enclosing it in **asterisks**. " | |
"When quoting specific information, please use square brackets to indicate the source, e.g. [1], [2], etc." | |
) | |
evidence_based_prompt = PromptTemplate( | |
"Context information is below.\n" | |
"---------------------\n" | |
"{context_str}\n" | |
"---------------------\n" | |
"Given this information, please answer the question: {query_str}\n" | |
"Provide an answer to the question using evidence from the context above. " | |
"Cite sources using square brackets." | |
) | |