wiki/appdoc/README_LangDoc.md

4.9 KiB

LangDoc Connector

Der LangDoc Connector ermöglicht die Integration der LangDoc API in das PowerOn Gateway System. LangDoc ist eine OpenAI-kompatible API, die verschiedene KI-Modelle bereitstellt.

Konfiguration

Umgebungsvariablen

Die folgenden Konfigurationsparameter müssen in den entsprechenden Umgebungsdateien gesetzt werden:

# LangDoc configuration
Connector_AiLangdoc_API_URL = https://api.langdock.com/v1/chat/completions
Connector_AiLangdoc_API_SECRET = YOUR_LANGDOC_API_KEY_HERE
Connector_AiLangdoc_MODEL_NAME = gpt-4o
Connector_AiLangdoc_TEMPERATURE = 0.2

API-Schlüssel erhalten

  1. Melden Sie sich bei Ihrem LangDoc-Konto an
  2. Navigieren Sie zu den API-Einstellungen
  3. Generieren Sie einen neuen API-Schlüssel
  4. Benennen Sie den Schlüssel entsprechend und speichern Sie ihn sicher

Verfügbare Funktionen

1. Textgenerierung (callAiBasic)

from modules.connectors.connectorAiLangdoc import AiLangdoc

# Connector initialisieren
langdoc = AiLangdoc()

# Nachrichten für die API vorbereiten
messages = [
    {"role": "user", "content": "Erkläre mir die Grundlagen von Machine Learning"}
]

# API aufrufen
response = await langdoc.callAiBasic(messages)
print(response)

Parameter:

  • messages: Liste von Nachrichten im OpenAI-Format (role, content)
  • temperature: Temperatur für die Antwortgenerierung (0.0-1.0, optional)
  • maxTokens: Maximale Anzahl der Tokens in der Antwort (optional)

2. Bildanalyse (callAiImage)

# Bildanalyse mit LangDoc Vision
prompt = "Beschreibe was du auf diesem Bild siehst"
image_path = "/path/to/image.jpg"

response = await langdoc.callAiImage(prompt, image_path)
print(response)

Parameter:

  • prompt: Prompt für die Bildanalyse
  • imageData: Dateipfad (str) oder Bilddaten (bytes)
  • mimeType: MIME-Typ des Bildes (optional)

3. Verfügbare Modelle auflisten (listModels)

# Alle verfügbaren Modelle auflisten
models = await langdoc.listModels()
for model in models:
    print(f"Model: {model['id']}")

4. Modellinformationen abrufen (getModelInfo)

# Informationen zu einem spezifischen Modell
model_info = await langdoc.getModelInfo("gpt-4o")
print(f"Model Details: {model_info}")

5. Verbindung testen (_testConnection)

# Verbindung zur LangDoc API testen
is_connected = await langdoc._testConnection()
if is_connected:
    print("Verbindung erfolgreich!")
else:
    print("Verbindung fehlgeschlagen!")

Unterstützte Modelle

LangDoc unterstützt verschiedene KI-Modelle, darunter:

  • GPT-4o: Neuestes OpenAI-Modell mit Vision-Fähigkeiten
  • GPT-4: Hochleistungsmodell für komplexe Aufgaben
  • GPT-3.5-turbo: Schnelles und kosteneffizientes Modell
  • Claude 3.5 Sonnet: Anthropic-Modell über LangDoc
  • Gemini Pro: Google-Modell über LangDoc

Verwendung in Workflows

Der LangDoc Connector kann in PowerOn Workflows verwendet werden:

# Beispiel für Workflow-Integration
async def processWithLangDoc(workflow_data):
    langdoc = AiLangdoc()
    
    # Textverarbeitung
    messages = [
        {"role": "system", "content": "Du bist ein hilfreicher Assistent."},
        {"role": "user", "content": workflow_data.get("user_input")}
    ]
    
    result = await langdoc.callAiBasic(messages)
    return {"ai_response": result}

Fehlerbehandlung

Der Connector behandelt verschiedene Fehlertypen:

  • 401 Unauthorized: Ungültiger API-Schlüssel
  • 429 Too Many Requests: Rate Limit überschritten
  • 400 Bad Request: Ungültige Anfrage
  • 500 Internal Server Error: Server-seitige Fehler

Sicherheitshinweise

  1. API-Schlüssel sicher aufbewahren: Verwenden Sie die Verschlüsselungsfunktionen des Systems
  2. Rate Limits beachten: LangDoc hat eigene Rate Limits
  3. Datenvalidierung: Validiere alle Eingaben vor dem API-Aufruf
  4. Logging: Alle API-Aufrufe werden geloggt für Debugging und Monitoring

Beispiel-Anwendungsfälle

1. Dokumentenanalyse

# Analyse von Dokumenten
messages = [
    {"role": "user", "content": f"Analysiere dieses Dokument: {document_text}"}
]
analysis = await langdoc.callAiBasic(messages)

2. Code-Generierung

# Code-Generierung
messages = [
    {"role": "user", "content": "Schreibe eine Python-Funktion für die Berechnung von Fibonacci-Zahlen"}
]
code = await langdoc.callAiBasic(messages)

3. Übersetzung

# Textübersetzung
messages = [
    {"role": "user", "content": f"Übersetze folgenden Text ins Englische: {german_text}"}
]
translation = await langdoc.callAiBasic(messages)

4. Zusammenfassung

# Textzusammenfassung
messages = [
    {"role": "user", "content": f"Fasse folgenden Text zusammen: {long_text}"}
]
summary = await langdoc.callAiBasic(messages)

Support und Dokumentation