add exxetaGPT prototyp
parent
7cf96232e9
commit
10686bbd98
Binary file not shown.
|
|
@ -0,0 +1,104 @@
|
|||
{
|
||||
"Fondsname": {
|
||||
"value": "Real Estate Prime Europe",
|
||||
"page_number": 2,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
"Fondsmanager": {
|
||||
"value": null,
|
||||
"page_number": null,
|
||||
"confidence_level": "low"
|
||||
},
|
||||
"Name_Kapitalverwaltungsgesellschaft": {
|
||||
"value": "Real Estate",
|
||||
"page_number": 5,
|
||||
"confidence_level": "medium"
|
||||
},
|
||||
"Datum": {
|
||||
"value": "End of December 2018",
|
||||
"page_number": 12,
|
||||
"confidence_level": "medium"
|
||||
},
|
||||
"Risikoprofil": {
|
||||
"value": "Core/Core+",
|
||||
"page_number": 10,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
"Artikel_gem_SFDR": {
|
||||
"value": null,
|
||||
"page_number": null,
|
||||
"confidence_level": "low"
|
||||
},
|
||||
"Zielrendite_über_die_Fondslaufzeit": {
|
||||
"value": "IRR: 6%-7%",
|
||||
"page_number": 10,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
"Rendite_seit_Auflage": {
|
||||
"value": "Total return: 5.3%, 16.1%, 13.6%, 8.9%, 12.8% for years 2015-2018",
|
||||
"page_number": 12,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
"Zielausschüttungsrendite_über_die_Fondslaufzeit": {
|
||||
"value": "Cash on Cash: 4%-5%",
|
||||
"page_number": 10,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
"Ausschüttungsrendite_seit_Auflage": {
|
||||
"value": "Unlevered Cash-on-cash examples: 4.14%, 3.31%",
|
||||
"page_number": 33,
|
||||
"confidence_level": "medium"
|
||||
},
|
||||
"Laufzeit": {
|
||||
"value": "Open-ended",
|
||||
"page_number": 9,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
"LTV_Loan_to_Value": {
|
||||
"value": "50% max at asset and fund level",
|
||||
"page_number": 10,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
"Soll_Ist": {
|
||||
"value": "59.8%",
|
||||
"page_number": 12,
|
||||
"confidence_level": "medium"
|
||||
},
|
||||
"Ziel": {
|
||||
"value": "Target 40-45%",
|
||||
"page_number": 10,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
"Managementgebühren_Bezogen_auf_NAV_Net_Asset_Value": {
|
||||
"value": "Sliding scale 55-50-40bp x NAV",
|
||||
"page_number": 10,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
"Sektorenallokation": {
|
||||
"value": {
|
||||
"Office": "75.6%",
|
||||
"Retail": "13.8%",
|
||||
"Hotels": "4.3%",
|
||||
"Industrial/logistics": "1.0%",
|
||||
"Residential": "0.4%",
|
||||
"Others": "4.9%"
|
||||
},
|
||||
"page_number": 5,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
"Länderallokation": {
|
||||
"value": {
|
||||
"Germany": null,
|
||||
"France": null,
|
||||
"Italy": null,
|
||||
"Netherlands": null,
|
||||
"United Kingdom": null,
|
||||
"Czech Republic": null,
|
||||
"Luxembourg": null,
|
||||
"Spain": null,
|
||||
"Finland": null
|
||||
},
|
||||
"page_number": 16,
|
||||
"confidence_level": "medium"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,112 @@
|
|||
{
|
||||
"details": [
|
||||
{
|
||||
"key": "Fondsname",
|
||||
"value": "Not directly mentioned",
|
||||
"page": null,
|
||||
"confidence": "low"
|
||||
},
|
||||
{
|
||||
"key": "Fondsmanager",
|
||||
"value": "Not directly mentioned",
|
||||
"page": null,
|
||||
"confidence": "low"
|
||||
},
|
||||
{
|
||||
"key": "Name Kapitalverwaltungsgesellschaft",
|
||||
"value": "Not directly mentioned",
|
||||
"page": null,
|
||||
"confidence": "low"
|
||||
},
|
||||
{
|
||||
"key": "Datum",
|
||||
"value": "31 March 2024",
|
||||
"page": 5,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Risikoprofil",
|
||||
"value": "Not directly mentioned",
|
||||
"page": null,
|
||||
"confidence": "low"
|
||||
},
|
||||
{
|
||||
"key": "Artikel gem. SFDR",
|
||||
"value": "Not directly mentioned",
|
||||
"page": null,
|
||||
"confidence": "low"
|
||||
},
|
||||
{
|
||||
"key": "Zielrendite über die Fondslaufzeit",
|
||||
"value": "7%+ Net Investors' long-term return",
|
||||
"page": 1,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Rendite seit Auflage",
|
||||
"value": "+6.0% annualised Total Return",
|
||||
"page": 27,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Zielausschüttungsrendite über die Fondslaufzeit",
|
||||
"value": "4.0%",
|
||||
"page": 27,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Ausschüttungsrendite seit Auflage",
|
||||
"value": "Not directly mentioned",
|
||||
"page": null,
|
||||
"confidence": "low"
|
||||
},
|
||||
{
|
||||
"key": "Laufzeit",
|
||||
"value": "Open-ended",
|
||||
"page": 30,
|
||||
"confidence": "medium"
|
||||
},
|
||||
{
|
||||
"key": "LTV (Loan-to-Value)",
|
||||
"value": "18.7%",
|
||||
"page": 16,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Soll/Ist",
|
||||
"value": "Not directly mentioned",
|
||||
"page": null,
|
||||
"confidence": "low"
|
||||
},
|
||||
{
|
||||
"key": "Ziel",
|
||||
"value": "Achieve a resilient income performance and a long-term capital appreciation",
|
||||
"page": 1,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Managementgebühren Bezogen auf NAV (Net Asset Value)",
|
||||
"value": "Between 70bps and 125bps based on ticket size",
|
||||
"page": 34,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Sektorenallokation",
|
||||
"value": [
|
||||
"Office",
|
||||
"Residential",
|
||||
"Industrial/Logistics",
|
||||
"Retail",
|
||||
"Hotels"
|
||||
],
|
||||
"page": 36,
|
||||
"confidence": "medium"
|
||||
},
|
||||
{
|
||||
"key": "Länderallokation",
|
||||
"value": ["Europe", "North America", "Asia Pacific"],
|
||||
"page": 36,
|
||||
"confidence": "medium"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
"information": [
|
||||
{
|
||||
"key": "Fondsname",
|
||||
"value": "Europäische Logistikstrategie",
|
||||
"page_number": 1,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Fondsmanager",
|
||||
"value": "Nicht direkt erwähnter spezifischer Name",
|
||||
"page_number": 5,
|
||||
"confidence": "low"
|
||||
},
|
||||
{
|
||||
"key": "Name Kapitalverwaltungsgesellschaft",
|
||||
"value": "Nicht direkt erwähnt",
|
||||
"page_number": 5,
|
||||
"confidence": "low"
|
||||
},
|
||||
{
|
||||
"key": "Datum",
|
||||
"value": "30.06.2023",
|
||||
"page_number": 12,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Risikoprofil",
|
||||
"value": "Halten-Strategie",
|
||||
"page_number": 2,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Artikel gem. SFDR",
|
||||
"value": "Artikel 8",
|
||||
"page_number": 8,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Zielrendite über die Fondslaufzeit",
|
||||
"value": "5,00-5,25%",
|
||||
"page_number": 2,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Rendite seit Auflage",
|
||||
"value": "Nicht direkt erwähnt",
|
||||
"page_number": null,
|
||||
"confidence": "low"
|
||||
},
|
||||
{
|
||||
"key": "Zielausschüttungsrendite über die Fondslaufzeit",
|
||||
"value": "5,00-5,25%",
|
||||
"page_number": 6,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Ausschüttungsrendite seit Auflage",
|
||||
"value": "Nicht direkt erwähnt",
|
||||
"page_number": null,
|
||||
"confidence": "low"
|
||||
},
|
||||
{
|
||||
"key": "Laufzeit",
|
||||
"value": "Auf Basis langfristiger Strategien und Verträge",
|
||||
"page_number": 2,
|
||||
"confidence": "medium"
|
||||
},
|
||||
{
|
||||
"key": "LTV (Loan-to-Value)",
|
||||
"value": "25-40%",
|
||||
"page_number": 2,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Soll/Ist",
|
||||
"value": "Nicht direkt erwähnt",
|
||||
"page_number": null,
|
||||
"confidence": "low"
|
||||
},
|
||||
{
|
||||
"key": "Ziel",
|
||||
"value": "Langfristiges Halten und Management von Core+ Logistikimmobilien",
|
||||
"page_number": 2,
|
||||
"confidence": "medium"
|
||||
},
|
||||
{
|
||||
"key": "Managementgebühren Bezogen auf NAV (Net Asset Value)",
|
||||
"value": "60 bps p.a.",
|
||||
"page_number": 26,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Sektorenallokation",
|
||||
"value": "Logistikimmobilien",
|
||||
"page_number": 5,
|
||||
"confidence": "high"
|
||||
},
|
||||
{
|
||||
"key": "Länderallokation",
|
||||
"value": "Niederlande, Frankreich, Skandinavien, Deutschland",
|
||||
"page_number": 2,
|
||||
"confidence": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
"extracted_information": [
|
||||
{
|
||||
"key": "Fondsname",
|
||||
"value": "Core Plus Open-ended Fund",
|
||||
"page_number": 2,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
{
|
||||
"key": "Fondsmanager",
|
||||
"value": "Specialist Nordic Manager",
|
||||
"page_number": 2,
|
||||
"confidence_level": "medium"
|
||||
},
|
||||
{
|
||||
"key": "Name Kapitalverwaltungsgesellschaft",
|
||||
"value": "Capital Management is an AIFM supervised by the CSSF in Luxembourg",
|
||||
"page_number": 36,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
{
|
||||
"key": "Datum",
|
||||
"value": "August 2024",
|
||||
"page_number": 0,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
{
|
||||
"key": "Risikoprofil",
|
||||
"value": "Prioritizing assets where strong growth is expected over the next decade",
|
||||
"page_number": 2,
|
||||
"confidence_level": "medium"
|
||||
},
|
||||
{
|
||||
"key": "Artikel gem. SFDR",
|
||||
"value": "Article 8 of the Sustainable Financial Disclosure Regulation (SFDR)",
|
||||
"page_number": 16,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
{
|
||||
"key": "Zielrendite über die Fondslaufzeit",
|
||||
"value": "7-8% net total annual return",
|
||||
"page_number": 2,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
{
|
||||
"key": "Rendite seit Auflage",
|
||||
"value": "Realized Gross IRR® (Max)",
|
||||
"page_number": 5,
|
||||
"confidence_level": "medium"
|
||||
},
|
||||
{
|
||||
"key": "Zielausschüttungsrendite über die Fondslaufzeit",
|
||||
"value": "3-4% dividend yield",
|
||||
"page_number": 2,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
{
|
||||
"key": "Ausschüttungsrendite seit Auflage",
|
||||
"value": "NA (specific historical payout not provided)",
|
||||
"page_number": null,
|
||||
"confidence_level": "low"
|
||||
},
|
||||
{
|
||||
"key": "Laufzeit",
|
||||
"value": "Open-ended with an initial 24-month lock-in for new investors",
|
||||
"page_number": 36,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
{
|
||||
"key": "LTV (Loan-to-Value)",
|
||||
"value": "Target LTV of 35% (capped at 37.5%)",
|
||||
"page_number": 11,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
{
|
||||
"key": "Soll/Ist",
|
||||
"value": "Estimated CAPEX / Current Yield and Occupancy",
|
||||
"page_number": 28,
|
||||
"confidence_level": "medium"
|
||||
},
|
||||
{
|
||||
"key": "Ziel",
|
||||
"value": "Targeting properties that are comparatively sustainable and aligned with EU Taxonomy",
|
||||
"page_number": 11,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
{
|
||||
"key": "Managementgebühren Bezogen auf NAV (Net Asset Value)",
|
||||
"value": "Management fee of 85 bps on NAV",
|
||||
"page_number": 36,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
{
|
||||
"key": "Sektorenallokation",
|
||||
"value": "Logistics, Residential, Office",
|
||||
"page_number": 12,
|
||||
"confidence_level": "high"
|
||||
},
|
||||
{
|
||||
"key": "Länderallokation",
|
||||
"value": "Sweden, Norway, Denmark, Finland",
|
||||
"page_number": 12,
|
||||
"confidence_level": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
import fitz # PyMuPDF
|
||||
from dotenv import load_dotenv
|
||||
import os
|
||||
from openai import AzureOpenAI
|
||||
|
||||
load_dotenv()
|
||||
|
||||
BASE_URL = "https://ai.exxeta.com/api/v2/azure/openai"
|
||||
API_KEY = os.getenv("OPENAI_API_KEY")
|
||||
|
||||
def extract_text_from_pdf(pdf_path):
|
||||
# Open the PDF file
|
||||
doc = fitz.open(pdf_path)
|
||||
|
||||
# Initialize a variable to store the extracted text
|
||||
extracted_text = ""
|
||||
|
||||
# Iterate through each page
|
||||
for page_num in range(len(doc)):
|
||||
page = doc.load_page(page_num) # Load the page
|
||||
text = page.get_text() # Extract text from the page
|
||||
extracted_text += "[Page " + str(page_num) + "]\n" + text + "\n"
|
||||
|
||||
return extracted_text
|
||||
|
||||
# Example usage
|
||||
pdf_document = "../../pitch-books/Teaser 2 FINAL.pdf"
|
||||
# pdf_document = "../../pitch-books/Pitchbook 4.pdf"
|
||||
text = extract_text_from_pdf(pdf_document)
|
||||
print(text)
|
||||
|
||||
client = AzureOpenAI(api_key=API_KEY, base_url=BASE_URL, api_version="2023-07-01-preview")
|
||||
|
||||
response = client.chat.completions.create(
|
||||
model="gpt-4o",
|
||||
messages=[
|
||||
{"role": "system", "content": "You are a helpful assistant that always responds in JSON format. Your responses should be valid JSON objects without any explanatory text outside the JSON structure. Structure your answers appropriately with keys and values relevant to the user's query."},
|
||||
{"role": "user", "content": """
|
||||
Extract from the text the following information:
|
||||
- Fondsname
|
||||
- Fondsmanager
|
||||
- Name Kapitalverwaltungsgesellschaft
|
||||
- Datum
|
||||
- Risikoprofil
|
||||
- Artikel gem. SFDR
|
||||
- Zielrendite über die Fondslaufzeit
|
||||
- Rendite seit Auflage
|
||||
- Zielausschüttungsrendite über die Fondslaufzeit
|
||||
- Ausschüttungsrendite seit Auflage
|
||||
- Laufzeit
|
||||
- LTV (Loan-to-Value)
|
||||
- Soll/Ist
|
||||
- Ziel
|
||||
- Managementgebühren Bezogen auf NAV (Net Asset Value)
|
||||
- Sektorenallokation
|
||||
- Länderallokation
|
||||
|
||||
for each value in the list:
|
||||
- the key
|
||||
- the value
|
||||
- the page number
|
||||
- theconfidence level (high/medium/low)(that the value is correct)
|
||||
|
||||
TEXT TO ANALYZE:
|
||||
""" + text + """
|
||||
"""},
|
||||
],
|
||||
response_format={"type": "json_object"}
|
||||
)
|
||||
|
||||
print(response.choices[0].message.content)
|
||||
Loading…
Reference in New Issue