SiliconFlow and Zilliz Cloud Integration
SiliconFlow and Zilliz Cloud integrate to power efficient GenAI applications, combining SiliconFlow's scalable Model as a Service platform with access to leading open-source models alongside Zilliz Cloud's high-performance vector database for building production-ready RAG systems and semantic search solutions.
Utilisez cette intégration gratuitementQu’est-ce que SiliconFlow
SiliconFlow s’engage à construire une plateforme AI Infra évolutive, standardisée et haute performance. SiliconCloud est l’une des offres phares de SiliconFlow, décrite comme une plateforme Model as a Service (MaaS). Elle fournit un environnement complet pour déployer divers modèles d’IA, notamment des grands modèles de langage (LLMs) et des modèles d’embedding. SiliconCloud agrège de nombreux modèles open source tels que Qwen2.5, DeepSeek-V2.5 et BGE, permettant aux utilisateurs d’accéder facilement à ces ressources et de les utiliser avec des API compatibles avec OpenAI et une accélération de modèles intégrée.
En s’intégrant à Zilliz Cloud (Milvus entièrement géré), les utilisateurs de SiliconFlow accèdent à une base de données vectorielle entièrement gérée qui stocke et récupère efficacement les embeddings générés par les modèles de SiliconFlow, ce qui simplifie la création de systèmes RAG prêts pour la production, de recherche sémantique et d’autres applications d’IA à grande échelle.
Avantages de l’intégration SiliconFlow + Zilliz Cloud
- Pipeline fluide du modèle au stockage : Les API compatibles avec OpenAI de SiliconFlow facilitent la génération d’embeddings et de réponses LLM, tandis que Zilliz Cloud stocke et indexe ces embeddings pour une récupération rapide — créant ainsi un flux de travail de bout en bout fluide.
- Accès à divers modèles open source : SiliconCloud agrège des modèles open source de premier plan, notamment des LLM et des modèles d’embedding, offrant aux développeurs la flexibilité de choisir le meilleur modèle pour leur cas d’utilisation sans gérer l’infrastructure.
- Systèmes RAG de niveau production : Cette combinaison offre des performances, une évolutivité et une fiabilité de niveau production pour créer des applications RAG, des questions-réponses sur documents aux chatbots basés sur les connaissances.
- Développement d’IA rentable : SiliconFlow offre un accès gratuit à certains modèles et, associé au stockage vectoriel efficace de Zilliz Cloud, permet aux équipes de créer de puissantes applications d’IA tout en maîtrisant les coûts.
Fonctionnement de l’intégration
SiliconFlow fournit une plateforme de modèle en tant que service qui gère l’inférence de modèles, notamment la génération d’embeddings de texte et les réponses de LLM. Grâce à ses API compatibles avec OpenAI, les développeurs peuvent facilement appeler des modèles d’embedding comme BAAI/bge-large-en-v1.5 et des modèles de langage comme DeepSeek-V2.5 sans gérer l’infrastructure des modèles.
Zilliz Cloud sert de couche de base de données vectorielle, stockant et indexant les embeddings générés par les modèles de SiliconFlow. Il fournit une recherche de similarité haute performance avec une faible latence, permettant aux applications de récupérer efficacement le contexte le plus pertinent à partir de grandes bases de connaissances.
Ensemble, SiliconFlow et Zilliz Cloud créent une solution RAG complète : les documents sont intégrés à l’aide des modèles de SiliconFlow et stockés dans Zilliz Cloud. Lorsqu’une requête arrive, elle est intégrée à l’aide du même modèle, et Zilliz Cloud trouve les documents les plus pertinents grâce à la recherche de similarité vectorielle, qui sont ensuite transmis au LLM de SiliconFlow pour générer des réponses éclairées par le contexte.
Guide étape par étape
1. Installer les dépendances
$ pip install --upgrade pymilvus openai requests tqdm2. Préparer la clé API
SiliconFlow active l’API de style OpenAI. Connectez-vous au site web de SiliconFlow et préparez la clé API en tant que variable d’environnement.
import os os.environ["SILICON_FLOW_API_KEY"] = "***********"3. Préparer les données
Nous utilisons les pages de FAQ de la documentation Milvus 2.4.x comme connaissances privées dans notre RAG. Téléchargez le fichier zip et extrayez les documents.
$ wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip $ unzip -q milvus_docs_2.4.x_en.zip -d milvus_docsChargez tous les fichiers markdown du dossier et divisez le contenu par "# " pour séparer chaque partie principale.
from glob import glob text_lines = [] for file_path in glob("milvus_docs/en/faq/*.md", recursive=True): with open(file_path, "r") as file: file_text = file.read() text_lines += file_text.split("# ")4. Préparer le modèle d’embedding et définir la fonction d’embedding
Initialisez un client à l’aide de l’API compatible OpenAI de SiliconFlow, et définissez une fonction pour générer des embeddings de texte à l’aide du modèle
BAAI/bge-large-en-v1.5.from openai import OpenAI siliconflow_client = OpenAI( api_key=os.environ["SILICON_FLOW_API_KEY"], base_url="https://api.siliconflow.cn/v1" ) def emb_text(text): return ( siliconflow_client.embeddings.create(input=text, model="BAAI/bge-large-en-v1.5") .data[0] .embedding )Générez un embedding de test et affichez sa dimension ainsi que ses premiers éléments.
test_embedding = emb_text("This is a test") embedding_dim = len(test_embedding) print(embedding_dim) print(test_embedding[:10])5. Créer une collection Milvus et charger les données
Créez un client et une collection Milvus.
from pymilvus import MilvusClient milvus_client = MilvusClient(uri="./milvus_demo.db") collection_name = "my_rag_collection" if milvus_client.has_collection(collection_name): milvus_client.drop_collection(collection_name) milvus_client.create_collection( collection_name=collection_name, dimension=embedding_dim, metric_type="IP", consistency_level="Strong", )Concernant l’argument de
MilvusClient: définir leuricomme un fichier local, par exemple./milvus.db, est la méthode la plus pratique, car cela utilise automatiquement Milvus Lite pour stocker toutes les données dans ce fichier. Si vous disposez d’un grand volume de données, vous pouvez configurer un serveur Milvus plus performant sur Docker ou Kubernetes. Si vous souhaitez utiliser Zilliz Cloud, le service cloud entièrement géré pour Milvus, ajustez leuriet letoken, qui correspondent au Public Endpoint et à l’API Key dans Zilliz Cloud.Parcourez les lignes de texte, créez des embeddings et insérez les données dans Milvus.
from tqdm import tqdm data = [] for i, line in enumerate(tqdm(text_lines, desc="Creating embeddings")): data.append({"id": i, "vector": emb_text(line), "text": line}) milvus_client.insert(collection_name=collection_name, data=data)6. Construire le RAG — Récupérer les données et générer une réponse
Définissez une question et recherchez-la dans la collection.
question = "How is data stored in milvus?" search_res = milvus_client.search( collection_name=collection_name, data=[emb_text(question)], limit=3, search_params={"metric_type": "IP", "params": {}}, output_fields=["text"], )Convertissez les documents récupérés dans un format de chaîne, définissez les prompts et utilisez
deepseek-ai/DeepSeek-V2.5fourni par SiliconCloud pour générer une réponse.context = "\n".join( [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances] ) SYSTEM_PROMPT = """ Humain : Vous êtes un assistant IA. Vous êtes capable de trouver des réponses aux questions à partir des extraits de passages contextuels fournis. """ USER_PROMPT = f""" Utilisez les éléments d’information suivants encadrés par des balises <context> pour fournir une réponse à la question encadrée par des balises <question>. <context> {context} </context> <question> {question} </question> """ response = siliconflow_client.chat.completions.create( model="deepseek-ai/DeepSeek-V2.5", messages=[ {"role": "system", "content": SYSTEM_PROMPT}, {"role": "user", "content": USER_PROMPT}, ], ) print(response.choices[0].message.content)En savoir plus
- Créer un RAG avec Milvus et SiliconFlow — Tutoriel officiel de Milvus pour créer un pipeline RAG avec SiliconFlow
- Fonctions d’embedding SiliconFlow dans Milvus — Documentation Milvus sur la configuration des fonctions d’embedding SiliconFlow
- Créez vos pipelines RAG personnalisés avec des tutoriels pratiques — Collection Zilliz de tutoriels RAG et de guides pratiques
- Documentation SiliconFlow — Documentation officielle de démarrage rapide de SiliconFlow
- Page d’accueil SiliconFlow — Site web officiel de SiliconFlow


