DOCUMENT_CLASSIFY_PROMPT = """ You are an expert in document classification where you are given a document under xml tags and you need to classify it based on the data inside xml tag. Your output should be enclosed inside xml tag and it should be based on one of the options mentioned below.Just output in the output xml tag. ### Document {document} ### ## Document Types that need to classified. ["LPA(Limited Partner Agreement)", "LPA-Amendment(Limited Partner Agreement-Amendment)", "Side Letter"] """ LPA_STATEMENT_PROMPT = """ You are an expert in LPA (Limited Partner Agreement) data extraction that uses a Chain of Thought (CoT) approach with reflection to answer queries. Follow these steps: 1. Think through the problem step by step within the tags. 2. Reflect on your thinking to check for any errors or improvements within the tags. 3. Make any necessary adjustments based on your reflection. 4. Provide your final, concise answer within the tags. Important: The and sections are for your internal reasoning process only. Do not include any part of the final answer in these sections and never make assumptions. The actual response to the query must be entirely contained within the tags. Use the following format for your response: [Your step-by-step reasoning goes here. This is your internal thought process, not the final answer. Please explain the reason for selecting each piece of information.] [Your reflection on your reasoning, checking for errors or improvements] [Your final, concise answer to the query in the specified JSON format. This is the only part that will be shown to the user.] You are given data in the xml tag. First, get a very good understanding of the document and extract data related to the fields described below by understanding the fields based on the description. ### Document {document} Final output to place under xml tag and populate empty values if the data is not present in the document. {{ "fundName": "name of the fund", "fileInfo":"name of the fund and under which type of the document is it - Date of the agreement" "managementFee": "Extract the following information from the document: 1. Annual management fee percentage(s), including any changes over time 2. Fund start date which you can find in the first page of the document: (YYYY-MM-DD) 3. Fund end date: (YYYY-MM-DD) Using this extracted information, create a Python structure with the following elements: 1. fund_start_date: A string representing the fund start date in 'YYYY-MM-DD' format 2. fund_end_date: A string representing the fund end date in 'YYYY-MM-DD' format 3. management_fee_schedule: A list of dictionaries, where each dictionary represents a fee period with the following keys: - 'start_date': A string in 'YYYY-MM-DD' format representing the start date of the fee period - 'annual_management_fee_percent': A float representing the annual management fee percentage for that period The fee_schedule should capture any changes in the management fee over the fund's lifetime. Example output: {{ fund_start_date = "2019-07-15" fund_end_date = "2024-12-31" management_fee_schedule = [ {{`start_date`: "2019-07-15", `annual_management_fee_percent`: 2.5}}, {{`start_date`: "2023-07-01", `annual_management_fee_percent`: 2.0}} ] }}, "fundSector": "This field refers to where the fund will be invested, like sectors etc.", "fundRegisteredOffice": "The address location of the office", "fundClosingDate": "This field should be populated with the timeframe within which LPs should join based on the general partner's call",( give me year or quarter details) "fundsToInvestDays": "Extract the number of days within which the General Partner must return capital contributions for unconsummated investments to the Partners. Please provide only the numerical value?", "lateEntryFee": "What is the extra fee that a Limited Partner must pay to join the VC after the closing date?", "lateEntryFeeAllocation": "What will be done with the lateEntryFee received from new Limited Partners?", "capitalThreshold": "What is the capital threshold that a limited partner can make a single call ?", "capitalContributionDays": "Within how many days the Limited Partner should contribute capital to the partnership as requested by the General Partner?((Captial contribution)", "erisaLimit": "What percentage of capital contribution should the VC get from ERISA partners out of their total fund?", "capitalContributionOfGP": "What is the capital contribution percentage of the General Partner to partnership capital?", "profitAllocationToGP": "What is the percentage of profit that will be allocated to the General Partner?", # just give me the percentage value "limitedPartnerContributionAfterDistrubtion":"Identify and extract any clauses or sections that describe limitations on the return of distributions to partners in a partnership agreement. Specifically, look for: 1. The maximum amount partners may be required to return 2. Any percentage limitations based on initial investments or capital commitments 3. Distinctions between different types of partners (e.g., Limited Partners vs. General Partners) 4. Time limits for requesting the return of distributions 5. Conditions under which distributions may be recalled 6. Any formulas or calculations used to determine the amount to be returned Please provide the exact text of relevant clauses along with a brief explanation of each limitation found" "managementFeeCompensation": "How often will the management fee be compensated?", "managementFeeReductionTimeFrame": "Within what timeframe will there be a reduction of the management fee?", "reducedManagementFee": "What is the new management fee percentage for the quarter after the reduction date?", "timeFrameReducedManagementFee": "How often will there be a decrease in the management fee after hitting the management fee reduction timeframe?",# timeframe "floorValueOfManagementFee": "What is the floor value of the management fee after annual management fee reduction?", "partnershipExtension": "For how many years can a General Partner extend the partnership upon the partnership end date?", "partnershipExtensionAdditional": "For how many additional years can the General Partner extend after the initial partnership extension?", "Management Expenses":"Extract complete information in any clauses or sections that describe about the expenses related to management and there limitations and i want the section as well", "Fund/Partnership Expenses": "Extract complete information in any clauses or sections that describe about the expenses related to Fund/Partnership and there limitations and i want the section as well", "OnetimeOrganizationExpenses":"Extract complete information in any clauses or sections that describe about the expenses related to OnetimeOrganization and there limitations and i want the section as well" }} """ SIDE_LETTER_PROMPT = """ You are given side letter document related to a limited partner under xml tag. First get a very good understanding of the below document under xml tag . Your task is to generate the response in below format in xml tags and partner id related to the partner to be written to ## Document {document} ## partner id document {role_doc} {{ "fundName":"Name of the fund", "fundDate":"Limited Partner Agreement date in format : YYYY-MM-DD", "partnerName":"Name of the investing partner", "quarter":"", "platform":"Name of the platform which generated the report,if you are not sure return empty", "carriedInterest": " : If there is a change in carried interest then execute below one Just give me the percentage value of profit/carry interest that will be allocated to the General Partner. else : Just return `No changes` ", "managementFee": " : If there is a changing in management fee structure execute below one Extract the following information from the document: 1. Annual management fee percentage(s), including any changes over time 2. Fund start date which you can find in the first page of the document: (YYYY-MM-DD) 3. Fund end date: which you have to create based on the understanding you got from the document : (YYYY-MM-DD) Using this extracted information, create a Python structure with the following elements: 1. fund_start_date: A string representing the fund start date in 'YYYY-MM-DD' format 2. fund_end_date: A string representing the fund end date in 'YYYY-MM-DD' format 3. management_fee_schedule: A list of dictionaries, where each dictionary represents a fee period with the following keys: - 'start_date': A string in 'YYYY-MM-DD' format representing the start date of the fee period - 'annual_management_fee_percent': A float representing the annual management fee percentage for that period The fee_schedule should capture any changes in the management fee over the fund's lifetime. Example output: {{ fund_start_date = "2019-07-15" fund_end_date = "2024-12-31" management_fee_schedule = [ {{`start_date`: "2019-07-15", `annual_management_fee_percent`: 2.5}}, {{`start_date`: "2023-07-01", `annual_management_fee_percent`: 2.0}} ] }} else :Just return `No changes` ", "sideLetterKeyPoints": "Extract key details in the document, Just return it in a string", }} "Extract value related to partner id name from document" """ ZIVE_SECURITY_TYPE_PROMPT = """ You are Fund AI assistant . Your task is to convert "Security type" fund investment to platform supported security type. If you are unsure about the security type make "PREFERRED" as default security type. ## Below are the security type that platform supported: PRICED A security issued during a funding round where the company's valuation has been established. Investors purchase shares at a fixed price based on the agreed pre-money valuation. PRE MONEY SAFE A SAFE is a contract that allows investors to provide capital to a company in exchange for the right to receive equity in the future. A pre-money SAFE sets the valuation cap before new investment, not including the incoming SAFE money. CONVERTIBLE NOTE A type of debt instrument that converts into equity upon a specific event, such as a future financing round. Convertible notes often include interest and may have a valuation cap or discount for conversion. WARRANTS A financial instrument that gives the holder the right to purchase company stock at a specific price before expiration. Warrants are often issued as part of a funding deal or incentive. PREFERRED Preferred stock offers investors certain privileges over common stockholders, such as priority in dividends and liquidation preferences. It is commonly issued during VC funding rounds. TOKEN A blockchain-based digital asset representing various rights or utilities within a project, such as governance, usage, or financial stake. Tokens are issued during ICOs (Initial Coin Offerings) or similar fundraising efforts. COMMON Common stock represents basic ownership in a company, typically held by founders and employees. Common stockholders usually have voting rights but are last in line for payouts during liquidation. OPTIONS Stock options grant the holder the right to purchase shares at a pre-determined price within a set time frame. Often used to incentivize employees or early contributors. BRIDGE LOAN Short-term debt financing provided to a company to cover immediate capital needs until a more significant funding round or event occurs. Advance on Convertible Securities # if its applicable it always be same value A form of bridge financing where investors provide capital upfront with the agreement to receive equity or another security type in a future round. Partnership Interest # if its applicable it always be same value An ownership stake in a partnership entity. Holders may receive distributions based on profits and have voting rights in the partnership's governance. Membership Interest # if its applicable it always be same value An ownership stake in an LLC (Limited Liability Company). Membership interests may include voting rights, profit distributions, and management participation. SAFT Similar to a SAFE but specifically used for token-based projects. Investors provide funds upfront in exchange for rights to receive future tokens once they are issued. BOND A fixed-income security representing a loan made by an investor to a borrower. The issuer agrees to repay the principal along with interest over a specified term. PRIVATE INVESTMENT An investment made directly into a private company. This can take various forms, including equity, debt, or hybrid instruments. ORDINARY Typically refers to ordinary shares, which are similar to common stock. Holders may have voting rights and share in the profits but are last in line for liquidation payouts. ## input {security_type} ## Always output need to exact value and to be enclosed in xml tags. Just give the output not need of any explanation """ ACCOUNT_TYPE_PROMPT = """ You are a Fund Expert in classifying account types. You are given account type and you need to look for exact match of the into platform supported account type and if not it should match with other category which need to derive based on other category and you need to write into xml tags. # platform supported account types Bank Money market funds Capital Call Receivable - LP Portfolio Interest Receivable Reimbursement Payable Due to investment Portfolio Interest Income Due to Related Party Due to Management Company Investment - Unrealized Gain/Loss Unrealized Gain/Loss Portfolio Company Receivable Realized Gain/Loss Distribution Payable Cash Distribution - LP Due to General Partner Misc Receivable Temporarily Commingled Cash from Bank Receivable Due from the Management Company Receivable between Master Feeder Receivable from Affiliate Payable between Master Feeder Payable to Affiliate Due from Affiliates Due to Affiliates Accelaration Prepaids Organization Costs Asset Investment Management Fee Payable Admission Fee Payable Admission Fees Due to Limited Partner Management Fees Prepaid Due to Portfolio Company Deferred Capital Calls - LP Deferred Capital Calls - GP Audit Accrual Fund Administration Accrual Tax Accrual Syndication Costs - General Contributed Capital - LP Misc Income Management Fees Management fees offset Audit Fees Tax Prep Fees Fund Administration Fees Administration Fees Administration Fees - Allocated from Master Audit Fees - Allocated from Master Bank Charges - Allocated from Master Commission Expense Commission Expense - Allocated from Master FATCA Expenses FATCA Expenses - Allocated from Master FS Preparation FS Preparation - Allocated From Master Legal Expenses - Allocated from Master Marketing Expenses - Allocated from Master Offering & Organizational Cost Offering & Organizational Cost - Allocated from Master Performance Fees Prepaid Offering & Organizational Cost Travelling Expense Travelling Expense - Allocated from Master Administration Fees Payable Bank Charges Payable FATCA Payable FS Prepartion Payable Marketing Expenses Payable Offering & Organizational Cost Payable Performance Fees Payable Travelling Expense Payable Audit Fees Payable Due to/from GP Unrealized Gain (Loss) from Private Investment Companies Unrealized Gain (Loss) from Private Investment Companies - Allocated from Master Unrealized Gain (Loss) from Cryptocurrencies (Price) - Allocated from Master Unrealized Gain (Loss) on Investment in Cryptocurrencies (Price) Due from Limited Partner Due/To from Offshore Feeder Fund Due/To from Offshore Master Fund Due/To from Onshore Feeder Fund Receivable from pending settlement Investment in Cryptocurrencies, (At Cost) Investment in Fixed Income Bond Investment in Master Investment in Private Investment Companies Investment In Safes, (At Cost) Investment In SAFT, (At Cost) Change in Unrealized Gain (Loss) from Private Investment Companies Change in Unrealized Gain (Loss) on Investment in Cryptocurrencies (Price) Change in Unrealized Gain (Loss) on Investment in Cryptocurrencies (Price) - Allocated from Master Income from Master Staking Income Staking Income - Allocated from Master Interest Income - Allocated from Master Realized Gain (Loss) on Investment in Cryptocurrencies (Price) Realized Gain (Loss) on Investment in Cryptocurrencies (Price) - Allocated from Master Legal Fees Legal Fees Accrual Interest Payable Loan Payable Organization Costs Expense Filing Fees Office supplies Subscription Fee - LP Organization Costs Amortization Distribution Payable - GP Tax Preparation Fees Accrual Escrow from portfolio investments sold Cash Distribution - GP Cash Carry Distributions Carried Interest Distribution - GP Bank Charges Bank Interest Income Consulting Organization Expenses Due Diligence Interest Expense Deal Fees Due from General Partner Dues and Subscriptions Conference and Trade Shows Website Design Syndication Costs - Placement Agent Fees Software Reimbursement of Partnership Expenses Contributed Capital - GP Contributed capital - cashless offset - GP Capital Call Receivable - GP Expense Payable Marketing Expenses Travel Meal Acquisition Fee Interest Income Late Interest Income Dividend Income ## if you are not able to find a exact math in the above xml list then you need to pick the applicable value from the xml data. Due to Other Other Prepaids Other assets Other Accrual Other Professional Fees Other Fees Due from Related Parties Other Interest Income Misc Income ## input account type {account_type} Think step by step when deciding the the output and the output should be a exact match not close match with and be a close match with . """