Hallo zusammen,
ich bin total begeistert, wie viel Sie sich schon mit dem Thema befasst haben.
Auch unsere Entwicklung setzt sich intensiv mit dem Thema Künstliche Intelligenz auseinander und wir evaluieren derzeit verschiedene Einsatzmöglichkeiten in tomedo. Wie bereits vereinzelt erwähnt, müssen wir stets darauf achten, nicht versehentlich zu einem Medizinprodukt zu werden.
Mein Kollege Herr Preuß hat dies, wie ich finde, sehr gut auf den Punkt gebracht: https://forum.tomedo.de/index.php/83009/ki-helferlein
Viele Grüße
Jan-Ole Finkeisen
Ich hatte sowas mal vorgeschlagen. Wird wahrscheinlich nichts werden.
https://forum.tomedo.de/index.php/77438/ki-fur-analyse-von-eingegangenen-befunden
Hallo,
irgendwie hat mich das Thema interessiert. Folgendes in Python ist dabei rausgekommen:
from openai import OpenAI
from PyPDF2 import PdfReader
import os
# OpenAI API-Client initialisieren
client = OpenAI(api_key='Hier den Key für die Nutzung der openAI API einsetzen ')
def extract_text_from_pdf(pdf_path):
if not os.path.isfile(pdf_path):
print("Fehler: Datei existiert nicht.")
return ""
with open(pdf_path, 'rb') as file:
reader = PdfReader(file)
text = ""
for page in reader.pages:
text_content = page.extract_text()
if text_content:
text += text_content
return text
def rename_pdf_based_on_content(pdf_path):
if not pdf_path:
print("Fehler: Kein Dateipfad angegeben.")
return
text = extract_text_from_pdf(pdf_path)
if not text:
print("Fehler: Text konnte nicht aus der PDF extrahiert werden.")
return
try:
response = client.completions.create(
model="gpt-3.5-turbo-instruct", # Aktualisiertes Modell
prompt="Extract the first name, last name, and birth date from the text: " + text,
max_tokens=150
)
print("OpenAI API Response:", response)
if response.choices:
result_text = response.choices[0].text.strip()
extracted_info = [info.split(': ')[1] for info in result_text.split('\n') if ': ' in info]
new_name = "_".join(extracted_info[:2]) + ".pdf" # Nur Vor- und Nachname für den Dateinamen verwenden
new_path = os.path.join(os.path.dirname(pdf_path), new_name)
os.rename(pdf_path, new_path)
print(f"Datei umbenannt von {pdf_path} zu {new_path}")
else:
print("Keine Daten in der Antwort.")
except Exception as e:
print(f"Fehler bei der API-Anfrage: {e}")
# Beispielaufruf der Funktion
rename_pdf_based_on_content('/Users/jansmid/Desktop/Pythonprojekte/test.pdf')
# Kann noch angepasst werden, damit eine beliebige Datei im Prompt übergeben werden kann
Benötigt wird Python3,
Ist alles mit ChatGPT und Google gemacht.
Was macht das Programm?
Es werden zwei Bibliotheken benutzt: PyPDF2 und openai. Die Nutzen von openai ist kostenpflichtig, 30 Anfragen kosten ungefähr ein Cent (über den Daumen gepeilt). PyPDF2 extrahiert den Text. Dann wird dieser Text an openai weitergeleitet und Vorname, Nachname und Geburtstag extrahiert. Das macht openai. Danach wird die Datei test.pdf umbenannt in vorname_nachnahme_geburtsdatum.pdf.
Bisher wird nur die Datei test.pdf verwendet.
Die eigentlich Arbeit macht openai. Die Anfragen kann man flexibel verändert, im nächsten Schritt werde ich es mal mit Diagnosen von Max Muster probieren. Wie gesagt: alles "quick and dirty" hingebogen, mehr für mich, um es zu lernen. Aber vielleicht hat ja jemand Spass am basteln.
Vom Arbeitsablauf würde dann in ein per Automator überwachter Ordner reingescannt werden. Automator würde dann die gescannte Datei mittels dem pythonskript umbennen. Die Datei könnte dann mit dem Programm von dem Threadersteller automatisch erkannt werden.
Disclaimer: Datenschutz....komplett ungelöst und daher nur mit "Max Muster" verwendbar. Lt OpenAI werden Daten, die über die API empfangen werden, nicht weiterverwendet, aber natürlich darf man keine echten Daten verwenden. Ich hoffe, dass das Gerücht, dass Apple eine lokal laufende LLM zu in naher Zukunft zu Verfügung stellt, stimmt und damit die ganze Datenschutzproblematik umgangen werden kann.
Gruß
-js