Compétences surrealdb-python
🗄️

surrealdb-python

Sûr ⚙️ Commandes externes🌐 Accès réseau📁 Accès au système de fichiers

Travailler avec SurrealDB en Python

Créer des applications avec SurrealDB nécessite de comprendre ses capacités multi-modèles, notamment les relations graphiques, les embeddings vectoriels et les abonnements en temps réel. Cette compétence fournit des conseils complets pour utiliser le SDK Python afin d'implémenter des opérations CRUD, la recherche sémantique et les modèles de traversée de graphes.

Prend en charge: Claude Codex Code(CC)
📊 70 Adéquat
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "surrealdb-python". Comment créer des utilisateurs et trouver les amis d'amis en utilisant la traversée de graphes ?

Résultat attendu:

  • Créez d'abord deux utilisateurs :
  • await db.create('person:alice', {'name': 'Alice'})
  • await db.create('person:bob', {'name': 'Bob'})
  • Créez une relation knows entre eux :
  • await db.query("RELATE person:alice->knows->person:bob SET since = '2024-01-01'")
  • Trouvez les amis d'amis en utilisant la traversée multi-saut :
  • result = await db.query("SELECT ->knows->person->knows->person AS friends_of_friends FROM person:alice")

Utilisation de "surrealdb-python". Comment stocker les embeddings de documents et rechercher du contenu similaire ?

Résultat attendu:

  • Définissez d'abord votre schéma :
  • await db.query("DEFINE TABLE documents SCHEMAFULL")
  • Générez et stockez l'embedding avec votre modèle :
  • embedding = model.encode(text).tolist()
  • await db.create('documents', {'content': text, 'embedding': embedding})
  • Recherchez en utilisant KNN :
  • SELECT * FROM documents WHERE embedding <|5|> $query_vector

Utilisation de "surrealdb-python". Configurer un abonnement en temps réel pour surveiller les changements

Résultat attendu:

  • Démarrez une requête en direct sur une table :
  • live_id = await db.live('user')
  • Abonnez-vous aux notifications :
  • async for notification in db.subscribe_live(live_id):
  • print(f"Change: {notification['action']} - {notification['result']}")
  • Arrêtez quand c'est terminé :
  • await db.kill(live_id)

Audit de sécurité

Sûr
v5 • 1/16/2026

Documentation-only skill containing Markdown guides and Python code examples for SurrealDB operations. All 172 static findings are false positives: the analyzer misinterprets markdown backticks as shell execution, vector similarity functions as crypto algorithms, and database queries as reconnaissance. No executable code, no network calls, no file system access beyond documentation references.

4
Fichiers analysés
1,266
Lignes analysées
3
résultats
5
Total des audits

Facteurs de risque

⚙️ Commandes externes (120)
references/graph_operations.md:5 references/graph_operations.md:5 references/graph_operations.md:11-16 references/graph_operations.md:16-20 references/graph_operations.md:20-29 references/graph_operations.md:29-35 references/graph_operations.md:35-41 references/graph_operations.md:41-47 references/graph_operations.md:47-60 references/graph_operations.md:60-66 references/graph_operations.md:66-76 references/graph_operations.md:76-80 references/graph_operations.md:80-85 references/graph_operations.md:85-89 references/graph_operations.md:89-91 references/graph_operations.md:91-103 references/graph_operations.md:103-111 references/graph_operations.md:111-117 references/graph_operations.md:117-123 references/graph_operations.md:123-129 references/graph_operations.md:129-136 references/graph_operations.md:136-137 references/graph_operations.md:137-138 references/graph_operations.md:138-143 references/graph_operations.md:143-149 references/graph_operations.md:149-153 references/graph_operations.md:153-159 references/graph_operations.md:159-165 references/graph_operations.md:165-180 references/graph_operations.md:180-186 references/graph_operations.md:186-190 references/graph_operations.md:190-196 references/graph_operations.md:196-204 references/graph_operations.md:204-210 references/graph_operations.md:210-227 references/graph_operations.md:227-231 references/graph_operations.md:231-247 references/graph_operations.md:247-251 references/graph_operations.md:251-267 references/graph_operations.md:267-273 references/graph_operations.md:273-278 references/graph_operations.md:278-282 references/graph_operations.md:282-289 references/graph_operations.md:289-293 references/graph_operations.md:293-300 references/graph_operations.md:300-306 references/graph_operations.md:306 references/vector_search.md:15 references/vector_search.md:21-29 references/vector_search.md:29-33 references/vector_search.md:33-43 references/vector_search.md:43-49 references/vector_search.md:49-64 references/vector_search.md:64-68 references/vector_search.md:68-83 references/vector_search.md:83-87 references/vector_search.md:87-110 references/vector_search.md:110-116 references/vector_search.md:116-130 references/vector_search.md:130-134 references/vector_search.md:134-158 references/vector_search.md:158-162 references/vector_search.md:162-172 references/vector_search.md:172-176 references/vector_search.md:176-246 references/vector_search.md:246-252 references/vector_search.md:252-257 references/vector_search.md:257-263 references/vector_search.md:263-285 references/vector_search.md:285-289 references/vector_search.md:289-314 references/vector_search.md:314-320 references/vector_search.md:320-345 references/vector_search.md:345-350 references/vector_search.md:350-351 references/vector_search.md:351-352 references/vector_search.md:352-378 references/vector_search.md:378-401 references/vector_search.md:401-405 references/vector_search.md:405-432 SKILL.md:27-34 SKILL.md:34-50 SKILL.md:50-66 SKILL.md:66-73 SKILL.md:73-83 SKILL.md:83-86 SKILL.md:86-104 SKILL.md:104-108 SKILL.md:108 SKILL.md:108-109 SKILL.md:109-113 SKILL.md:113-120 SKILL.md:120-134 SKILL.md:134-137 SKILL.md:137-150 SKILL.md:150-153 SKILL.md:153-158 SKILL.md:158-164 SKILL.md:164-176 SKILL.md:176-183 SKILL.md:183-190 SKILL.md:190-193 SKILL.md:193-201 SKILL.md:201-204 SKILL.md:204-213 SKILL.md:213-220 SKILL.md:220-223 SKILL.md:223-226 SKILL.md:226-231 SKILL.md:231-234 SKILL.md:234-240 SKILL.md:240-246 SKILL.md:246-259 SKILL.md:259-264 SKILL.md:264-265 SKILL.md:265-269 SKILL.md:269-275 SKILL.md:275-276 SKILL.md:276-313 SKILL.md:313-314
🌐 Accès réseau (5)
📁 Accès au système de fichiers (1)

Score de qualité

41
Architecture
100
Maintenabilité
87
Contenu
21
Communauté
100
Sécurité
91
Conformité aux spécifications

Ce que vous pouvez construire

Créer des applications RAG

Stocker les embeddings de documents et récupérer le contexte pertinent pour la génération de modèles de langage en utilisant la recherche de similarité sémantique.

Implémenter des graphes de connaissances

Modéliser des relations d'entités complexes avec des arêtes typées et des métadonnées pour des requêtes sophistiquées de traversée de graphes.

Créer des applications en temps réel

S'abonner aux changements de données en direct pour les tableaux de bord, les applications de chat ou les systèmes de notification avec mises à jour automatiques.

Essayez ces prompts

Connexion de base
Montre-moi comment me connecter à SurrealDB en utilisant le SDK Python async avec authentification et sélectionner un espace de noms et une base de données.
Opérations graphiques
Aide-moi à créer une instruction RELATE dans SurrealDB pour connecter deux entités avec des métadonnées, puis montre comment traverser la relation.
Recherche vectorielle
Écris une requête SurrealQL utilisant l'opérateur KNN pour trouver les 5 documents les plus similaires basés sur la similarité cosinus avec un embedding de requête.
Abonnements en temps réel
Montre-moi comment m'abonner aux changements en direct sur une table SurrealDB et gérer les notifications CREATE, UPDATE et DELETE.

Bonnes pratiques

  • Utilisez les gestionnaires de contexte (async with) pour le nettoyage automatique des connexions et la gestion appropriée des ressources.
  • Paramétrez les requêtes avec des paramètres nommés ($variable) pour prévenir les attaques par injection.
  • Ajoutez des délais d'expiration aux requêtes graphiques récursives et créez des index sur les champs fréquemment accédés pour améliorer les performances.

Éviter

  • Évitez de coder en dur les identifiants dans le code source ; utilisez plutôt des variables d'environnement.
  • Ne sautez pas les définitions de schéma lorsque l'intégrité des données est importante ; utilisez des tables SCHEMAFULL.
  • Évitez la traversée récursive illimitée sans limites de profondeur ou délais d'expiration, ce qui peut causer des problèmes de performance.

Foire aux questions

Quelle version de Python est requise ?
Le SDK Python SurrealDB nécessite Python 3.8 ou supérieur avec support asyncio pour les opérations asynchrones.
Quels modèles d'embedding fonctionnent avec SurrealDB ?
N'importe quel modèle d'embedding peut être utilisé, y compris Sentence Transformers, les embeddings OpenAI et les modèles HuggingFace. Les vecteurs sont stockés sous forme de tableaux.
Comment intégrer avec LangChain ?
Utilisez SurrealDBStore de langchain_community.vectorstores pour une intégration directe avec LangChain avec recherche de similarité.
Mes données sont-elles sécurisées avec la recherche vectorielle ?
Les vecteurs sont stockés dans votre base de données SurrealDB. Aucune donnée n'est envoyée à des services externes sauf si vous utilisez des API d'embedding cloud.
Pourquoi mes requêtes sont-elles lentes ?
Ajoutez des index sur les champs vectoriels et les métadonnées fréquemment interrogées. Utilisez des valeurs K appropriées et ajoutez des délais d'expiration aux requêtes complexes.
Comment cela se compare-t-il à Neo4j ?
SurrealDB combine le stockage de documents, de graphes et de vecteurs dans une seule base de données, simplifiant l'architecture pour les applications IA.