ppt / app.py
sarim's picture
remove async
a5f868b
raw
history blame
1.63 kB
import asyncio
import streamlit as st
from pydantic_ai import Agent
from pydantic_ai.models.groq import GroqModel
import nest_asyncio
import pdfplumber
import os
api_key = os.getenv("API_KEY")
data = []
#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
model = GroqModel('llama-3.1-70b-versatile', api_key = api_key)
async def ppt_content(data):
agent = Agent(model,system_prompt=(
"You are an expert in making power-point perssentation",
"Convert the content of the attached PDF into PowerPoint slides",
"Title Slide: Include the document's title, subtitle, author, and date.",
"Methodology Slide: Summarize the methodology in bullet points",
"Results Slide: Present key findings using tables or charts.",
"Discussion Slide: Summarize the implications and limitations.",
"Conclusion Slide: State the overall conclusion.",
"Reference Slide: Include all citations used."
))
result_1 = agent.run_sync(user_prompt=data)
print(result_1.data)
def ai_ppt(data):
asyncio.run(ppt_content(data=data))
def extract_data(feed):
with pdfplumber.open(feed) as pdf:
pages = pdf.pages
for p in pages:
data.append(p.extract_text())
return None
# if data is not None:
# st.caption(data)
# ai_ppt(data=data)
def main():
uploaded_file = st.file_uploader('Choose your .pdf file', type="pdf")
if uploaded_file is not None:
extract_data(uploaded_file)
if st.button("Search"):
ai_ppt(data)
if __name__ == '__main__':
import asyncio
nest_asyncio.apply()
main()