LitReviewAI / src /ai_functions.py
bano1's picture
Update src/ai_functions.py
0dc951b verified
Raw
History Blame Contribute Delete
1.76 kB
from src.config import client
def get_paper_analysis(abstract):
"""
Generate summary, limitations, and research gaps
in a single API call.
"""
if not abstract:
return {
"summary": "No abstract available.",
"limitations": "N/A",
"research_gaps": "N/A"
}
prompt = f"""
You are an academic research assistant.
Analyze the following research abstract and return your answer in exactly this format:
SUMMARY:
(3-5 sentence summary)
LIMITATIONS:
- bullet point
- bullet point
RESEARCH_GAPS:
- bullet point
- bullet point
Abstract:
{abstract}
"""
response = client.chat.completions.create(
model="llama-3.1-8b-instant",
messages=[
{
"role": "user",
"content": prompt
}
],
temperature=0.3,
)
text = response.choices[0].message.content
summary = ""
limitations = ""
research_gaps = ""
current = None
for line in text.splitlines():
line = line.strip()
if line.upper().startswith("SUMMARY"):
current = "summary"
continue
elif line.upper().startswith("LIMITATIONS"):
current = "limitations"
continue
elif line.upper().startswith("RESEARCH_GAPS"):
current = "research_gaps"
continue
if current == "summary":
summary += line + "\n"
elif current == "limitations":
limitations += line + "\n"
elif current == "research_gaps":
research_gaps += line + "\n"
return {
"summary": summary.strip(),
"limitations": limitations.strip(),
"research_gaps": research_gaps.strip()
}