mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-08-16 21:24:09 +00:00
435 lines
21 KiB
Python
435 lines
21 KiB
Python
DOCUMENT_CLASSIFY_PROMPT = """
|
|
You are an expert in document classification where you are given a document under <document> xml tags and you need to classify it based on the data inside <document-type> xml tag.
|
|
|
|
Your output should be enclosed inside <output> xml tag and it should be based on one of the <document-type> options mentioned below.Just output <document-type> in the output <output> xml tag.
|
|
|
|
### Document
|
|
<document>
|
|
{document}
|
|
</document>
|
|
|
|
###
|
|
|
|
## Document Types that need to classified.
|
|
<document-type>
|
|
["LPA(Limited Partner Agreement)", "LPA-Amendment(Limited Partner Agreement-Amendment)", "Side Letter"]
|
|
</document-type>
|
|
"""
|
|
|
|
LPA_STATEMENT_PROMPT = """
|
|
<SYSTEM>
|
|
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 <thinking> tags.
|
|
2. Reflect on your thinking to check for any errors or improvements within the <reflection> tags.
|
|
3. Make any necessary adjustments based on your reflection.
|
|
4. Provide your final, concise answer within the <output> tags.
|
|
|
|
Important: The <thinking> and <reflection> 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 <output> tags.
|
|
|
|
Use the following format for your response:
|
|
<thinking>
|
|
[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.]
|
|
</thinking>
|
|
<reflection>
|
|
[Your reflection on your reasoning, checking for errors or improvements]
|
|
</reflection>
|
|
<output>
|
|
[Your final, concise answer to the query in the specified JSON format. This is the only part that will be shown to the user.]
|
|
</output>
|
|
|
|
</SYSTEM>
|
|
|
|
<USER>
|
|
You are given data in the <document> 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>
|
|
{document}
|
|
</document>
|
|
|
|
Final output to place under <output> xml tag and populate empty values if the data is not present in the document.
|
|
<output-format>
|
|
{{
|
|
"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"
|
|
}}
|
|
</output-format>
|
|
</user>
|
|
"""
|
|
|
|
SIDE_LETTER_PROMPT = """
|
|
You are given side letter document related to a limited partner under <document> xml tag.
|
|
|
|
First get a very good understanding of the below document under <document> xml tag . Your task is to generate the response in below format <output-format> in <output> xml tags and partner id related to the partner to be written to <id>
|
|
|
|
## Document
|
|
<document>
|
|
{document}
|
|
</document>
|
|
|
|
## partner id document
|
|
<partner-id-document>
|
|
{role_doc}
|
|
</partner-id-document>
|
|
|
|
|
|
<output-format>
|
|
{{
|
|
"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": " <case:1> : 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
|
|
<case:2>: Just return `No changes` ",
|
|
"managementFee": "
|
|
<case:1> : 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
|
|
<case:2> :Just return `No changes` ",
|
|
"sideLetterKeyPoints": "Extract key details in the document, Just return it in a string",
|
|
}}
|
|
</output-format>
|
|
|
|
<id>
|
|
"Extract value related to partner id name from <role-document> document"
|
|
</id>
|
|
"""
|
|
|
|
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:
|
|
<securities>
|
|
<security>
|
|
<type>PRICED</type>
|
|
<description>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.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>PRE MONEY SAFE</type>
|
|
<description>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.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>CONVERTIBLE NOTE</type>
|
|
<description>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.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>WARRANTS</type>
|
|
<description>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.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>PREFERRED</type>
|
|
<description>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.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>TOKEN</type>
|
|
<description>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.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>COMMON</type>
|
|
<description>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.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>OPTIONS</type>
|
|
<description>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.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>BRIDGE LOAN</type>
|
|
<description>Short-term debt financing provided to a company to cover immediate capital needs until a more significant funding round or event occurs.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>Advance on Convertible Securities</type> # if its applicable it always be same value
|
|
<description>A form of bridge financing where investors provide capital upfront with the agreement to receive equity or another security type in a future round.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>Partnership Interest</type> # if its applicable it always be same value
|
|
<description>An ownership stake in a partnership entity. Holders may receive distributions based on profits and have voting rights in the partnership's governance.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>Membership Interest</type> # if its applicable it always be same value
|
|
<description>An ownership stake in an LLC (Limited Liability Company). Membership interests may include voting rights, profit distributions, and management participation.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>SAFT</type>
|
|
<description>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.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>BOND</type>
|
|
<description>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.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>PRIVATE INVESTMENT</type>
|
|
<description>An investment made directly into a private company. This can take various forms, including equity, debt, or hybrid instruments.</description>
|
|
</security>
|
|
|
|
<security>
|
|
<type>ORDINARY</type>
|
|
<description>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.</description>
|
|
</security>
|
|
</securities>
|
|
|
|
## input
|
|
<input>
|
|
{security_type}
|
|
</input>
|
|
|
|
## Always output need to exact value and to be enclosed in <output> 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 <input> 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 <output> xml tags.
|
|
|
|
# platform supported account types
|
|
<account-type>
|
|
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
|
|
</account-type>
|
|
|
|
## if you are not able to find a exact math in the above <account-type> xml list then you need to pick the applicable value from the <other-type> xml data.
|
|
<other-type>
|
|
Due to Other
|
|
Other Prepaids
|
|
Other assets
|
|
Other Accrual
|
|
Other Professional Fees
|
|
Other Fees
|
|
Due from Related Parties
|
|
Other Interest Income
|
|
Misc Income
|
|
</other-type>
|
|
|
|
## input account type
|
|
<input>
|
|
{account_type}
|
|
<input>
|
|
|
|
Think step by step when deciding the the output and the output should be a exact match not close match with <account-types> and be a close match with <other-types>.
|
|
"""
|
|
|