182 lines
4.9 KiB
Markdown
182 lines
4.9 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
|
|
```
|
|
|
|
### 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
|