neue KI Features
This commit is contained in:
parent
aeba05cc19
commit
b8d0660526
8 changed files with 1814 additions and 6 deletions
|
|
@ -25,7 +25,7 @@ services:
|
||||||
POSTGRES_CONNECTION: "jdbc:postgresql://db/office-alexander-logistics"
|
POSTGRES_CONNECTION: "jdbc:postgresql://db/office-alexander-logistics"
|
||||||
TZ: "CET"
|
TZ: "CET"
|
||||||
LANG: "en_US.UTF-8"
|
LANG: "en_US.UTF-8"
|
||||||
MAILGATEWAY: "mailgateway"
|
MAILGATEWAY: "mailpit"
|
||||||
|
|
||||||
ASYNCEVENT_PROCESSOR_ENABLED: "true"
|
ASYNCEVENT_PROCESSOR_ENABLED: "true"
|
||||||
ASYNCEVENT_PROCESSOR_INITIALDELAY: "10000"
|
ASYNCEVENT_PROCESSOR_INITIALDELAY: "10000"
|
||||||
|
|
@ -102,12 +102,15 @@ services:
|
||||||
###############################################
|
###############################################
|
||||||
# Mailgateway
|
# Mailgateway
|
||||||
###############################################
|
###############################################
|
||||||
mailgateway:
|
mailpit:
|
||||||
image: imixs/exim4
|
image: axllent/mailpit:latest
|
||||||
|
container_name: mailpit
|
||||||
environment:
|
environment:
|
||||||
EXIM_SMARTHOST: "www149.your-server.de:25"
|
MP_SMTP_BIND_ADDR: "0.0.0.0:25"
|
||||||
EXIM_PASSWORD: "www149.your-server.de:webmaster@imixs.com:$MAILPASSWORD"
|
ports:
|
||||||
EXIM_ALLOWED_SENDERS: "10.0.0.0/8:172.18.0.0/12:192.168.0.0/16"
|
- "1025:25" # Host:1025 -> Container:25 (SMTP)
|
||||||
|
- "8025:8025" # Web UI
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
# prometheus:
|
# prometheus:
|
||||||
# image: prom/prometheus:latest
|
# image: prom/prometheus:latest
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
BIN
workflow/examples/7554697016.PDF
Normal file
BIN
workflow/examples/7554697016.PDF
Normal file
Binary file not shown.
BIN
workflow/examples/FV065_08_2026-połączono.pdf
Normal file
BIN
workflow/examples/FV065_08_2026-połączono.pdf
Normal file
Binary file not shown.
1684
workflow/posteingang-de-2.0.1_debug.bpmn
Normal file
1684
workflow/posteingang-de-2.0.1_debug.bpmn
Normal file
File diff suppressed because it is too large
Load diff
40
workflow/prompts/invoice-extract-en-debug.xml
Normal file
40
workflow/prompts/invoice-extract-en-debug.xml
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<PromptDefinition>
|
||||||
|
<prompt_options>{"n_predict": 4096, "temperature": 0 }</prompt_options>
|
||||||
|
<prompt><![CDATA[[INST]You are a clerk at the logistic company 'Alexander Global Logistics'. Your task is to check incoming invoices. [/INST]
|
||||||
|
|
||||||
|
<itemvalue>invoice.summary</itemvalue>
|
||||||
|
|
||||||
|
</s>[INST]Transfer the invoice data into an XML object with the following structure:
|
||||||
|
|
||||||
|
<invoice>
|
||||||
|
<cdtr.name>...</cdtr.name>
|
||||||
|
<invoice.number>...</invoice.number>
|
||||||
|
<invoice.date type="date">2024-12-31</invoice.date>
|
||||||
|
<invoice.duedate type="date">2024-12-31</invoice.duedate>
|
||||||
|
<invoice.total type="double">1234.00</invoice.total>
|
||||||
|
<cdtr.iban>...</cdtr.iban>
|
||||||
|
<cdtr.bic>...</cdtr.bic>
|
||||||
|
<invoice.positions>...</invoice.positions>
|
||||||
|
</invoice>
|
||||||
|
|
||||||
|
Transfer the individual invoice data to the XML tags, taking into account the following suggestions for mapping:
|
||||||
|
|
||||||
|
- Company name ==> "cdtr.name" (the name of the company that issued the invoice document, not the recipient)
|
||||||
|
- Invoice number ==> "invoice.number"
|
||||||
|
- Invoice Date ==> "invoice.date"
|
||||||
|
- Total ==> "invoice.total" (in EUR or if not available in USD or PLN)
|
||||||
|
- IBAN ==> "cdtr.iban"
|
||||||
|
- BIC or SWIFT ==> "cdtr.bic"
|
||||||
|
- Payment date / Due date ==> "invoice.duedate"
|
||||||
|
- The Reference Number in the format [2 letters][3 letters][4-digit booking period YYMM][3-digit sequence number] ==> "invoice.positions"
|
||||||
|
|
||||||
|
Note: Output only the XML object! Don't add explanations or comments. Use only the XML structure specified in this example and do not create any other XML tags. If you don't have data for some fields, leave the corresponding XML tags blank. Format date values (invoice.date, invoice.duedate) into the ISO 8601 format (YYYY-MM-DD). Format numbers and amounts (type="double") according to ISO 4217.
|
||||||
|
|
||||||
|
<<EXAMPLES_XML>>
|
||||||
|
|
||||||
|
[/INST]
|
||||||
|
|
||||||
|
]]>
|
||||||
|
</prompt>
|
||||||
|
</PromptDefinition>
|
||||||
81
workflow/prompts/invoice-summarize-en-debug.xml
Normal file
81
workflow/prompts/invoice-summarize-en-debug.xml
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<PromptDefinition>
|
||||||
|
<prompt_options>{"n_predict": 2048, "temperature": 0}</prompt_options>
|
||||||
|
<prompt><![CDATA[[INST]You are an employee at the logistic company 'Alexander Global Logistics'. Your job is to check incoming invoice documents and forward them internally to employees. [/INST]
|
||||||
|
|
||||||
|
<FILECONTEXT>^.+\.([pP][dD][fF])$</FILECONTEXT>
|
||||||
|
|
||||||
|
</s>[INST]
|
||||||
|
|
||||||
|
Summarize the data from this invoice document.
|
||||||
|
|
||||||
|
Extract and summarize the following categories:
|
||||||
|
|
||||||
|
1. Vendor information
|
||||||
|
2. General billing data
|
||||||
|
3. Invoice total information
|
||||||
|
4. Payment summary (including bank data)
|
||||||
|
5. Reference data (Position Number)
|
||||||
|
|
||||||
|
Do not summarize the invoice line items.
|
||||||
|
|
||||||
|
Use only the values found in the document as default values. Do not perform
|
||||||
|
any calculations, summing, or changes to amounts yourself. Format all
|
||||||
|
numbers and amounts according to ISO 4217.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
1. Vendor information
|
||||||
|
The vendor is the sender of the invoice, i.e. the company that issued the
|
||||||
|
invoice document — not the recipient. The recipient is our own company,
|
||||||
|
Alexander Global Logistics, and must never be extracted as the vendor.
|
||||||
|
The vendor's company name is often found at the very beginning or the very
|
||||||
|
end of the invoice document.
|
||||||
|
|
||||||
|
2. General billing data
|
||||||
|
Extract standard billing information such as invoice date, invoice number,
|
||||||
|
billing period, and any other general invoice metadata present in the
|
||||||
|
document.
|
||||||
|
|
||||||
|
3. Invoice total information
|
||||||
|
Extract the invoice total(s) exactly as stated in the document (e.g. net
|
||||||
|
amount, tax amount, gross/total amount). Do not recalculate or verify these
|
||||||
|
figures — use the values as printed.
|
||||||
|
|
||||||
|
4. Payment summary (including bank data)
|
||||||
|
Extract payment-related information such as payment terms, due date, and
|
||||||
|
bank details (e.g. IBAN, BIC/SWIFT, bank name, account holder) if present.
|
||||||
|
|
||||||
|
5. Reference data (Position Number)
|
||||||
|
Search the document for our internal "Position Number". It always follows
|
||||||
|
this structure, regardless of how it is written on the invoice:
|
||||||
|
|
||||||
|
[2 letters][3 letters][4-digit booking period YYMM][3-digit sequence number]
|
||||||
|
|
||||||
|
Standard formatted example: IM-GCA-2607-100
|
||||||
|
- "IM" = 2-letter code
|
||||||
|
- "GCA" = 3-letter code
|
||||||
|
- "2607" = booking period (YYMM, i.e. year 26, month 07)
|
||||||
|
- "100" = 3-digit sequence number
|
||||||
|
|
||||||
|
Vendors frequently omit the separators or use different separators when
|
||||||
|
printing this number on their invoices, e.g.:
|
||||||
|
- No separators at all: "EXGCA2608009"
|
||||||
|
- Spaces: "EX GCA 2608 009"
|
||||||
|
- Dots or slashes: "EX.GCA.2608.009" / "EX/GCA/2608/009"
|
||||||
|
|
||||||
|
Search the entire document text for any substring matching this pattern
|
||||||
|
(2 letters, 3 letters, 4 digits, 3 digits — in that order, with or without
|
||||||
|
separators between the groups). The 4-digit booking period (YYMM) is the
|
||||||
|
most distinctive part of the pattern and can help you locate it.
|
||||||
|
|
||||||
|
Once found, extract it and output it normalized into the standard format:
|
||||||
|
XX-XXX-YYMM-NNN (e.g. "EXGCA2608009" → "EX-GCA-2608-009").
|
||||||
|
|
||||||
|
Do not confuse this number with other codes, order numbers, or customer
|
||||||
|
numbers that may appear on the invoice.
|
||||||
|
|
||||||
|
[/INST]
|
||||||
|
]]>
|
||||||
|
</prompt>
|
||||||
|
</PromptDefinition>
|
||||||
Loading…
Reference in a new issue