File size: 1,270 Bytes
af10061
06ce591
 
b6c8d68
06ce591
 
b6c8d68
06ce591
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from PyPDF2 import PdfReader
from google import genai
import time
import os

# set up authentication
api_key = os.getenv("GEMINI_API_KEY")
client = genai.Client(api_key=api_key)

# read in documents
acled = PdfReader("ACLED.pdf")
dame = PdfReader("DAME.pdf")
nansen = PdfReader("Nansen.pdf")

# extract text from documents
acled_text = ""

dame_text = ""

nansen_text = ""

for page in acled.pages:
    acled_text += page.extract_text()

for page in dame.pages:
    dame_text += page.extract_text()

for page in nansen.pages:
    nansen_text += page.extract_text()

# place extracted texts into a single list
documents = [acled_text, dame_text, nansen_text]

def retriever(prompt, history):
  """
  Retrieves information from pre-loaded documents.
  Args:
      prompt: A string representing the search query
      history: A placeholder representing query history

  Returns:
      Search results in natural language.
  """
  context = "\n\n".join(documents)
  super_prompt = f"{context}\n\nRetrieve information:\n\nQuestion: {prompt}"

  response = client.models.generate_content(
    model="gemini-2.0-flash",
    contents=super_prompt)

  stream_text = ""
  for each in response.text.split():
    stream_text += each + " "
    time.sleep(0.01)
    yield stream_text