Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://doi.org/10.5281/zenodo.15281299
25 April 2025, 10:06:35 UTC
  • Code
  • Branches (0)
  • Releases (1)
  • Visits
    • Branches
    • Releases
      • 1
      • 1
    • c999079
    • /
    • conradhuebler-ALIMA-9149c20
    • /
    • README.md
    Raw File Download

    To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
    Select below a type of object currently browsed in order to display its associated SWHID and permalink.

    • content
    • directory
    • snapshot
    • release
    origin badgecontent badge
    swh:1:cnt:82dd694d5ac9a2d7163b03db7607fb1dc683e01b
    origin badgedirectory badge
    swh:1:dir:9c72c77c294e128e1d4610d12e313488bc084d66
    origin badgesnapshot badge
    swh:1:snp:4ca73675f00499f7788b560b527d2d3608e24808
    origin badgerelease badge
    swh:1:rel:536b651fe52569a0b29d9afb23a4c016482765cb

    This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
    Select below a type of object currently browsed in order to generate citations for them.

    • content
    • directory
    • snapshot
    • release
    (requires biblatex-software package)
    Generating citation ...
    (requires biblatex-software package)
    Generating citation ...
    (requires biblatex-software package)
    Generating citation ...
    (requires biblatex-software package)
    Generating citation ...
    README.md
    # ALIMA
    
    Ein leistungsstarkes Werkzeug zur automatisierten Schlagwortgenerierung und Klassifikation mit KI-Unterstützung entwickelt an der Universitätsbibliothek "Georgius Agricola" der TU Bergakademie Freiberg.
    
    ## Überblick
    
    Der ALIMA ist eine Python-basierte Desktop-Anwendung, die fortschrittliche KI-Technologien mit bibliothekarischen Informationssystemen verbindet. Die Anwendung unterstützt bei der Generierung von präzisen GND konformen Schlagwörtern.
    ALIMA wurde mit Hilfe von Claude Sonnet (3.5 und 3.7) entwickelt.
    
    ## Funktionen
    Textanalyse
    
        - KI-gestützte Inhaltsanalyse: Automatische Zusammenfassung und thematische Analyse von wissenschaftlichen Texten
        - Zeitlich begrenzbare Anfragen: Abbruchmöglichkeit für langläufige KI-Anfragen
        - Streaming-Verarbeitung: Echtzeit-Anzeige der KI-Ausgabe während der Verarbeitung
    
    Schlagwortsuche und -generierung
    
        - Integrierte Schlagwortsuche: Anbindung an verschiedene Datenquellen (Lobid, SWB, lokaler Katalog (aktuell der - Universitätsbibliothek der TU Freiberg))
        - GND-Schlagwort-Integration: Automatische Verknüpfung mit der Gemeinsamen Normdatei
        - DDC-Filterung: Filtermöglichkeiten nach DDC-Klassifikationen
        - Caching-System: Lokale Speicherung von GND-Einträgen für schnelleren Zugriff
    
    PDF-Verarbeitung
    
        - PDF-Import: Direkte Extraktion von Text aus PDF-Dokumenten
        - Metadaten-Extraktion: Automatisches Auslesen von Titeln, Autoren und Keywords aus PDF-Metadaten
    
    Flexibles KI-System
    
        - Multi-Anbieter-Unterstützung: Kompatibilität mit verschiedenen KI-Diensten (OpenAI, Gemini, Anthropic, ChatAI)
        - Anpassbare KI-Parameter: Konfigurierbare Temperatur und Seed-Werte für die KI-Generierung
        - Prompt-Management: Verwaltung von Vorlagen für unterschiedliche Aufgabentypen
    
    ## Installation
    ### Voraussetzungen
    
        - Python 3.8 oder höher
        - PyQt6
        - Weitere Abhängigkeiten (siehe requirements.txt)
    
    ### Installationsschritte
    
    Repository klonen:
    ```bash
    git clone https://github.com/conradhuebler/ALIMA.git
    cd ALIMA
    ```
    ### Virtuelle Umgebung erstellen und aktivieren:
    ```bash
    python -m venv venv
    source venv/bin/activate  # Unter Windows: venv\Scripts\activate
    ```
    ### Abhängigkeiten installieren:
    ```
    pip install -r requirements.txt
    ```
    ### Konfigurationsdatei erstellen:
    
    Erstelle eine Datei ~/.alima_config.json mit folgendem Inhalt:
    ```json
    {
        "providers": ["openai", "chatai", "gemini", "anthropic"],
        "api_keys": {
            "openai": "YOUR_OPENAI_API_KEY",
            "chatai": "YOUR_CHATAI_API_KEY",
            "gemini": "YOUR_GEMINI_API_KEY",
            "anthropic": "YOUR_ANTHROPIC_API_KEY",
            "catalog_token": "YOUR_CATALOG_API_TOKEN",
            "catalog_search_url": "https://liberoserver/libero/LiberoWebServices.CatalogueSearcher.cls",
            "catalog_details" : "https://liberoserver/libero/LiberoWebServices.LibraryAPI.cls"
        }
    }
    ```
    Für die Katalogsuche wird libero verwendet, zum Beispiel als liberoserver: ***libero.unibib.tu-edoras.rohan:443***. Die ollama-URL ist aktuell ***http://localhost:11434***, kann aber unter 
    ```bash
    src/llm/llm_interface.py
    ```
    angepasst werden.
    ### Anwendung starten:
    ```bash
    python main.py
    ```
    
    ## Verwendung
    ### Generierung freier Schlagworte
    
        - Öffne den "Abstract-Analyse"-Tab
        - Füge Text ein oder importiere eine PDF-Datei
        - Wähle den KI-Provider und das Modell
        - Klicke auf "Analyse starten"
        - Die Ergebnisse werden im unteren Bereich angezeigt
    
    ### Suche nach GND-Schlagworten auf der Basis der freien Schlagworte
    
        - Öffne den "GND-Suche"-Tab
        - Gib Suchbegriffe ein (durch Komma getrennt oder in Anführungszeichen für exakte Phrasen)
        - Wähle die gewünschten Suchquellen (Lobid, SWB, Katalog)
        - Klicke auf "Suche starten"
        - Filtere die Ergebnisse mit den DDC-Filtern nach Bedarf
        - Verwende "Gefilterte Schlagwörter generieren" für eine optimierte Liste
    
    ### Vergabe von GND-Schlagworten
    
        - Öffne den "Verifkation"-Tab
        - Abstrakt/Text und Liste mit GND-Schlagworten sind gefüllt
        - Wähle den KI-Provider und das Modell
        - Klicke auf "Analyse starten"
        - Die Ergebnisse werden im unteren Bereich angezeigt
    
    ### Abbrechen laufender Anfragen
    
        - Klicke auf den "Abbrechen"-Button während einer laufenden KI-Anfrage
        - Die Anwendung wird die Anfrage sofort beenden und den bereits generierten Text anzeigen
    
    ## Hinweise und Probleme
    
        - Gemini-Modelle müssen mit einem Seed von 0 gestartet werden
        - Praktisch getestet wurden Gemini, Ollama und Chatai (GWDG) als LLM-Server
        - Diverse Konfigurationen und Dialoge sind noch nicht eingebaut
        - Das kleinste Modell, das auch im letzten Schritt gute Ergebnisse erzielt, ist Gemma 3 27B
    
    # Lizenz
    LGPL v3
    
    # Mitwirkende
    Conrad Hübler
    
    # Danksagung
    Besten Dank an das Fachreferats- und IT-Team der Universitätsbibliothek. Besonderer Dank an Patrick Reichel für die effiziente Lobid-Abfrage.
    
    # Kontakt
    Conrad Hübler
    

    back to top

    Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
    The source code of Software Heritage itself is available on our development forge.
    The source code files archived by Software Heritage are available under their own copyright and licenses.
    Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API