wiki/poweron/appdoc/README_LangDoc.md
2025-09-26 23:37:07 +02:00

183 lines
5 KiB
Markdown

# 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:
```ini
# 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
Connector_AiLangdoc_MAX_TOKENS = 2000
```
### 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`)
```python
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`)
```python
# 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`)
```python
# Alle verfügbaren Modelle auflisten
models = await langdoc.listModels()
for model in models:
print(f"Model: {model['id']}")
```
### 4. Modellinformationen abrufen (`getModelInfo`)
```python
# Informationen zu einem spezifischen Modell
model_info = await langdoc.getModelInfo("gpt-4o")
print(f"Model Details: {model_info}")
```
### 5. Verbindung testen (`_testConnection`)
```python
# 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:
```python
# 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
```python
# Analyse von Dokumenten
messages = [
{"role": "user", "content": f"Analysiere dieses Dokument: {document_text}"}
]
analysis = await langdoc.callAiBasic(messages)
```
### 2. Code-Generierung
```python
# Code-Generierung
messages = [
{"role": "user", "content": "Schreibe eine Python-Funktion für die Berechnung von Fibonacci-Zahlen"}
]
code = await langdoc.callAiBasic(messages)
```
### 3. Übersetzung
```python
# Textübersetzung
messages = [
{"role": "user", "content": f"Übersetze folgenden Text ins Englische: {german_text}"}
]
translation = await langdoc.callAiBasic(messages)
```
### 4. Zusammenfassung
```python
# Textzusammenfassung
messages = [
{"role": "user", "content": f"Fasse folgenden Text zusammen: {long_text}"}
]
summary = await langdoc.callAiBasic(messages)
```
## Support und Dokumentation
- **LangDoc API Dokumentation**: https://docs.langdock.com/
- **LangDoc Website**: https://www.langdock.com/
- **PowerOn Gateway Dokumentation**: Siehe README.md im Hauptverzeichnis