Télémétrie LM Studio Bionic.
Acheminez l'API locale compatible OpenAI de LM Studio via un petit proxy qui envoie journaux, métriques et traces à Observagent.
Ce que cette intégration couvre
Utilisez cette configuration lorsque votre client peut pointer vers une URL de base compatible OpenAI. Gardez le proxy sur la même machine que LM Studio et envoyez le client vers http://127.0.0.1:1235/v1.
Offre minimum requise
LM Studio / Bionic Free (modèles locaux).
- Ce guide utilise un modèle local chargé et le serveur API local. Bionic+ et Pro sont des offres optionnelles d’inférence cloud.
Conditions examinées le .
Étapes d'intégration
Sélectionnez une plateforme pour voir les commandes et chemins propres à votre ordinateur. La configuration du projet et la vérification de la livraison sont communes à toutes les plateformes.
- Étape 1
Démarrer l'API LM Studio
Chargez un modèle, démarrez le serveur local et vérifiez le port 1234.
- Téléchargez et chargez un modèle avant de démarrer le serveur API local.
- La réponse des modèles confirme que le point de terminaison compatible OpenAI est accessible sur le port 1234.
PowerShelllms server start Invoke-WebRequest http://127.0.0.1:1234/v1/models - Étape 2
Installer l'environnement du proxy
Clonez le dépôt public Observagent et installez ses dépendances.
- Placez lmstudio_proxy.py et le vérificateur optionnel dans le répertoire de travail avant de démarrer le proxy.
- L’environnement virtuel isole FastAPI et les dépendances OpenTelemetry des autres projets Python.
PowerShellgit clone https://github.com/Observagent/observagent-lmstudio-proxy.git cd observagent-lmstudio-proxy python -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -r requirements.txt - Étape 3
Configurer et démarrer le proxy
Définissez les identifiants dans le même terminal qui démarre le proxy.
- Remplacez YOUR_PROJECT_KEY par une clé pouvant écrire les journaux, métriques et traces.
- Conservez ces variables et le processus du proxy dans la même session de terminal.
- Un démarrage réussi indique que Uvicorn écoute sur http://127.0.0.1:1235.
PowerShell$env:OBSERVAGENT_ENDPOINT = "https://dashboard.observagent.cloud" $env:OBSERVAGENT_API_KEY = "YOUR_PROJECT_KEY" $env:OBSERVAGENT_SESSION_ID = "lmstudio-bionic-local" $env:LMSTUDIO_UPSTREAM = "http://127.0.0.1:1234" python -m uvicorn lmstudio_proxy:app --host 127.0.0.1 --port 1235 - Étape 4
Router une requête et vérifier
Faites pointer votre client compatible OpenAI vers http://127.0.0.1:1235/v1, effectuez une requête, puis vérifiez séparément les journaux, métriques et traces dans Observagent.
- Configurez l’URL de base de l’application appelante comme http://127.0.0.1:1235/v1 ; le port 1234 contourne la télémétrie.
- Effectuez une requête de modèle, puis inspectez les journaux, métriques et traces indépendamment dans Observagent.
- Le proxy enregistre des métadonnées opérationnelles et n’ajoute pas intentionnellement de contenu de requête ou de réponse à la télémétrie.
PowerShellpython .\verify_delivery.py
Démarrer l'API LM Studio locale
Installez LM Studio, téléchargez un modèle, et démarrez son serveur local. Le défaut documenté est le port 1234.
lms server start
# Vérifier le point de terminaison compatible OpenAI
Invoke-WebRequest http://127.0.0.1:1234/v1/modelsDans LM Studio, le même serveur peut être démarré depuis les contrôles Developer / Local Server. Si vous activez l'authentification API, enregistrez le jeton pour l'environnement du proxy ci-dessous.
Installer l'environnement du proxy
Exécutez ces commandes dans PowerShell. Gardez ce terminal pour le processus du proxy.
git clone https://github.com/Observagent/observagent-lmstudio-proxy.git
cd observagent-lmstudio-proxy
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txtTéléchargez lmstudio_proxy.py dans ce dossier, ou utilisez la copie dans les téléchargements ci-dessus. Le fichier de test inclus peut être exécuté avant la configuration.
python test_lmstudio_proxy.pyCréer une clé de projet
Dans Observagent, créez ou choisissez un projet. Activez Logs, Metrics, et Traces, activez la surveillance, et utilisez Connect source pour générer une clé de projet avec accès en écriture de télémétrie. Une nouvelle clé ne remplace les autres clés que pour ce projet ; les autres projets restent inchangés.
Si la création de clé de projet n'est pas disponible, contactez votre administrateur Observagent ou canal de support. C'est un problème de compte ou de déploiement côté serveur, pas un paramètre du client LM Studio.
Configurer les points de terminaison et identifiants
Définissez l'URL de base du backend, la clé de projet, l'ID de session, et l'amont LM Studio local. Utilisez l'URL de base sans /v1/logs ; le proxy ajoute les trois chemins.
$env:OBSERVAGENT_ENDPOINT = "https://dashboard.observagent.cloud"
$env:OBSERVAGENT_API_KEY = "YOUR_OBSERVAGENT_PROJECT_KEY"
$env:OBSERVAGENT_SESSION_ID = "lmstudio-bionic-local"
$env:LMSTUDIO_UPSTREAM = "http://127.0.0.1:1234"
# Seulement si l'authentification LM Studio est activée :
$env:LMSTUDIO_API_TOKEN = "YOUR_LM_STUDIO_TOKEN"Ne committez jamais la clé ou le jeton. Le proxy émet trois exports OTLP HTTP indépendants : /v1/logs, /v1/metrics, et /v1/traces.
Démarrer le proxy et router votre client
python -m uvicorn lmstudio_proxy:app --host 127.0.0.1 --port 1235Pointez un client compatible OpenAI vers http://127.0.0.1:1235/v1. Par exemple :
$body = @{ model = "your-loaded-model"; messages = @(@{ role = "user"; content = "Reply with the word telemetry." }); stream = $false } | ConvertTo-Json -Depth 5
Invoke-RestMethod -Uri http://127.0.0.1:1235/v1/chat/completions -Method Post -ContentType "application/json" -Body $bodyLe proxy prend en charge les complétions de chat, les complétions, les embeddings, et la liste de modèles. Les requêtes envoyées directement au port 1234 contournent la télémétrie.
Vérifier journaux, métriques et traces
Surveillez le terminal du proxy pour les requêtes terminées. Puis ouvrez Données de télémétrie dans le projet et filtrez par la source récente lmstudio-api. Vérifiez Logs, Metrics, et l'historique de traces du projet séparément ; l'arrivée d'un signal ne prouve pas que les deux autres sont arrivés.
python verify_delivery.pyLa vérification envoie un enregistrement synthétique à chaque point de terminaison. Elle devrait rapporter HTTP 200 et un compte enregistré pour chaque signal. Une requête protobuf vide retournant status: ok, count: 0 ne teste que l'accès au point de terminaison.
Comprendre la limite de confidentialité
Le proxy exporte la route, le modèle, le statut, la durée, l'usage de jetons lorsque fourni par LM Studio, et les métadonnées d'erreur. Il n'ajoute pas de contenu d'invite ou de réponse à la télémétrie. La requête traverse toujours le proxy local et LM Studio, donc suivez vos politiques de conservation et d'accès.
lms log stream de LM Studio peut inclure l'entrée et la sortie exactes. Cette intégration ne transmet pas intentionnellement ce flux de diagnostic. Capturez-le séparément uniquement après une revue de confidentialité.Dépanner la livraison
- Le proxy démarre mais aucun enregistrement : confirmez que le client utilise le port 1235 et que les trois variables d'environnement sont définies dans le même terminal.
- 401 de LM Studio : définissez
LMSTUDIO_API_TOKENuniquement lorsque l'authentification API locale est activée. - 401/403 d'Observagent : vérifiez la clé de projet, les bascules de signal, et l'URL de base. N'ajoutez pas de
/v1supplémentaire àOBSERVAGENT_ENDPOINT. - Les journaux arrivent mais pas les métriques/traces : vérifiez les trois signaux du projet et laissez le temps à l'exportateur de se vider après une requête.
- L'activité Bionic est manquante : ce proxy ne peut pas voir les chats intégrés, sessions cloud, ou requêtes qui n'utilisent pas son URL d'API locale.
Voir le README complet pour les références et étapes de récupération.