Skip to content

The finished RPA Project for the FHGR RPA course with UI-Path

Notifications You must be signed in to change notification settings

WannabeTechWarrior/RPA_Project

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Willkommen auf dem GitHub unseres RPA-Projekts!

Dieses Repository wurde einerseits für die Versionenkontrolle und die kollaborative Mitarbeit des Teams genutzt und dient andererseits als Werkzeug zur Präsentation und Abgabe der Resultate.

RPA Mascot (generated with Midjourney)

RPA-Bot (generiert mit MidJourney)


Demo-Video

Die funktionierende Automatisierung wird in einer Demo vorgestellt: Link zum Demo-Video


Überblick


Beschreibung des Projekts

Die fünf Hauptaufgaben der Automatisierung wurden in separaten Workflow-Sequenzen implementiert. Der Main-Workflow ruft die fünf Sequenzen auf:

Sequenz 01 "get_pdf" - Webscraping aller PDF-Rechnungen.
Sequenz 02 "read_pdf" - Extraktion der relevanten Rechnungsdaten mit generative AI. Wir nutzen die OpenAI API mit dem ChatGPT 4o Modell, um die Rechnungsdaten in einem JSON-Format zu speichern.
Sequenz 03 "write_db" - Die Rechnungsdaten werden in eine MongoDB geschrieben. Ist die Rechnung bereits abgelegt, wird sie nicht nochmals hinzugefügt.
Sequenz 04 "read_db_to_excel" - Die Rechnungen, welche noch nicht verschickt wurden, werden ermittelt und in einen Excel-Report geschrieben. Sind alle Rechnungen bereits verschickt, wird kein Report erstellt.
Sequenz 05 "email" - Der Excel-Report wird via E-Mail als Attachment verschickt. Falls bereits alle Rechnungen zugestellt sind, wird eine alternative E-Mail zur Information ausgelöst.

Zur Veranschaulichung für die Demo haben wir Message Boxes mit dem Output der ChatGPT-Response im Code. Diese würden selbstverständlich für eine Live-Umgebung entfernt, damit der Bot vollautomatisiert laufen kann.


Orchestrierung

Das Projekt kann im UiPath Studio mit dem Button "Veröffentlichen" (ganz rechts in der Menüleiste) in den Orchestrator geladen werden.

Anschliessend kann die Installation im Ui Path Assistant abgeschlossen werden.

Nun kann die Automatisierung komfortabel auf Knopfdruck gestartet werden.

Im UiPath Assistant kann man unter weitere Aktionen (drei Punkte) eine Desktopverknüpfung für den Start der Automatisierung erstellen.

Architektur Schema

Dies können wir im UiPath Assistant oder auch auf dem UiPath Orchestrator machen. Der Orchestrator ist in der UiPath Automation Cloud zu finden (Login Link). Eine regelmässige Ausführung kann man unter dem Tab "Trigger" einrichten. Hier können wir auswählen, dass der Bot täglich um 08:00 Uhr automatisch ausgeführt wird. Somit sind die Anforderungen erfüllt, dass der Bot automatisch täglich und auch auf Knopfdruck ausgelöst werden kann.


Alternative zur Datenextraktion: OLLAMA

Für die Datenextraktion haben wir ursprünglich eine Alternative mit einem lokalen Open-Source Large Language Model implementiert. OLLAMA bietet ein Frontend für das Herunterladen und die Nutzung lokaler Open-Source LLMs.

Wir haben für das Endprodukt die OpenAI API verwendet, weil diese in UiPath im Allgemeinen einfacher zu implementieren ist und eine bessere "Plug-and-Play"-Lösung für unsere Automatisierung bietet. Die Einrichtung von OLLAMA hat nicht bei allen Gruppenmitgliedern einwandfrei funktioniert. Nichtsdestotrotz ist OLLAMA eine attraktive Alternative in Hinsicht auf verschiedene Aspekte wie Datenschutz, Kosten oder Flexibilität.

Wir haben deshalb ein Dokument erstellt, welches das Set-up der Lösung mit OLLAMA schildert. Zusätzlich haben wir ein Python-Script als Beispiel abgelegt.


Gruppe

  • Silvano Stupan
  • Joshua Kohler
  • Daniel Schafhäutle
  • Raphael Brunold

Schematische Darstellung

Diese Abbildung zeigt schematisch den Ablauf unserer Automatisierung:

Architektur Schema

Viel Spass beim Automatisieren!

About

The finished RPA Project for the FHGR RPA course with UI-Path

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 81.5%
  • C# 18.5%