Weaviate, makine öğrenimi modellerinin kullanımı yoluyla anlamsal aramayı geliştirmek için tasarlanmış, öncü, açık kaynaklı bir vektör veritabanıdır. Anahtar kelime eşleştirmeye dayanan geleneksel arama motorlarının aksine Weaviate, anlamsal benzerlik ilkelerini kullanır. Bu yenilikçi yaklaşım, çeşitli veri biçimlerini (metinler, resimler ve daha fazlası), veri bağlamının ve anlamının özünü yakalayan vektör temsillerine, sayısal formlara dönüştürür. Weaviate, bu vektörler arasındaki benzerlikleri analiz ederek, kullanıcının amacını gerçekten anlayan arama sonuçları sunar ve anahtar kelimeye dayalı aramaların sınırlamalarının ötesinde önemli bir adım sunar.
Bu kılavuz, MinIO ve Weaviate'in kusursuz entegrasyonunu göstermeyi, Kubernetes'in yerel nesne depolamasının ve yapay zeka destekli semantik arama özelliklerinin en iyilerinden yararlanmayı göstermeyi amaçlamaktadır. Konteyner orkestrasyonu için Docker Compose'dan yararlanan bu kılavuz, sağlam, ölçeklenebilir ve verimli bir veri yönetimi sistemi oluşturmaya yönelik stratejik bir yaklaşım sunar. Verileri nasıl depoladığımızı, eriştiğimizi ve yönettiğimizi hedef alan bu kurulum, modern depolama çözümlerinin ve yapay zeka odaklı veri alımının gücünden yararlanmak isteyen geliştiriciler, DevOps mühendisleri ve veri bilimcileri için ezber bozan bir özelliktir.
Bu gösteride Weaviate'i Docker kullanarak MinIO kovalarıyla yedeklemeye odaklanacağız. Bu kurulum, yapay zeka ile geliştirilmiş arama ve analiz projelerimizde veri bütünlüğünü ve erişilebilirliğini sağlar.
Bu gösterim, MinIO ve Weaviate'in Docker kullanarak kusursuz entegrasyonunu vurgulamayı amaçlıyor ve AI ile geliştirilmiş arama ve analiz sistemlerini yedeklemek için güvenilir bir yöntem sergiliyor.
Burada sağlanan docker-compose.yaml
dosyası, Weaviate için kusursuz bir kurulum oluşturmak üzere hazırlanmış olup, akıcı ve verimli veri yönetimine olan bağlılığımızı vurgulamaktadır. Bu yapılandırma, MinIO'nun güvenli bir depolama hizmeti olarak hareket ettiği ve Weaviate'in bu depolamayı gelişmiş vektör arama yetenekleri için kullandığı sağlam bir ortam sağlar.
version: '3.8' services: weaviate: container_name: weaviate_server image: semitechnologies/weaviate:latest ports: - "8080:8080" environment: AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true' PERSISTENCE_DATA_PATH: '/var/lib/weaviate' ENABLE_MODULES: 'backup-s3' BACKUP_S3_BUCKET: 'weaviate-backups' BACKUP_S3_ENDPOINT: 'play.min.io:443' BACKUP_S3_ACCESS_KEY_ID: 'minioadmin' BACKUP_S3_SECRET_ACCESS_KEY: 'minioadmin' BACKUP_S3_USE_SSL: 'true' CLUSTER_HOSTNAME: 'node1' volumes: - ./weaviate/data:/var/lib/weaviate
Docker-Compose: Weaviate'i backups-s3
modülü etkin ve play.min.io
MinIO sunucusuyla dağıtın
Yukarıdaki docker-compose.yaml ile Weaviate, yedeklemeler için MinIO'yu kullanacak ve veri bütünlüğünü ve erişilebilirliğini sağlayacak şekilde karmaşık bir şekilde yapılandırılmıştır. Bu kurulum, ENABLE_MODULES
backup-s3
olarak ayarlanması gibi temel ortam değişkenlerini ve S3 grubu, uç nokta, erişim anahtarları ve SSL kullanımına ilişkin çeşitli ayarları içerir. Ek olarak, PERSISTENCE_DATA_PATH
verilerin kalıcı olarak saklanmasını sağlamak için ve CLUSTER_NAME
ise düğüm tanımlaması için ayarlanır.
ENABLE_MODULES
: 'yedekleme-s3'BACKUP_S3_BUCKET
: 'yedeklemeleri oluştur'BACKUP_S3_ENDPOINT
: 'play.min.io:443'BACKUP_S3_ACCESS_KEY_ID
: 'mini yönetici'BACKUP_S3_SECRET_ACCESS_KEY
: 'mini yönetici'BACKUP_S3_USE_SSL
: 'doğru'PERSISTENCE_DATA_PATH
: '/var/lib/weaviate'CLUSTER_NAME
: 'düğüm1'
Bu docker-compose'taki Weaviate hizmeti, veri kalıcılığı için takılı birimleri kullanacak şekilde ayarlanmıştır; bu, verilerinizin oturumlar ve işlemler boyunca kalıcı olmasını sağlar.
Not: MinIO kovasının önceden mevcut olması gerekir, Weaviate kovayı sizin için oluşturmayacaktır.
MinIO ve Weaviate'i Docker Compose kullanarak projenize entegre etmek için şu ayrıntılı prosedürü izleyin:
Docker Compose Dosyasını Kaydetme veya Güncelleme
Docker-compose.yaml dosyası yerleştirildikten sonra dağıtımı başlatmak için terminalinizde veya komut isteminizde aşağıdaki komutu kullanın:
docker-compose up -d --build
Bu komut, Weaviate servislerini bağımsız modda başlatacak ve onları sisteminizin arka planında çalıştıracaktır.
Derleme ve yürütme işlemi sırasında Docker Compose, docker-compose.yaml dosyasında belirtildiği gibi kalıcı bir dizin oluşturacaktır. Bu dizin ( Weaviate için ./weaviate/data
), verileri kalıcı olarak depolamak için kullanılır ve verilerinizin konteyner yeniden başlatmaları ve dağıtımları boyunca bozulmadan kalmasını sağlar.
Kalıcı depolama, kapsayıcı yeniden başlatıldığında verilerin kaybolmadığı daha kararlı bir ortam sağlar.
Docker-compose'unuzu dağıttıktan sonra, bir tarayıcıda Weaviate sunucunuzun URL'sini ziyaret edebilir ve ardından dağıtım yapılandırmalarınızın doğru olup olmadığını incelemek için /v1/meta
ziyaret edebilirsiniz.
http://localhost:8080/v1/meta
adresindeki JSON yükünün ilk satırı şöyle görünmelidir:
{"hostname":"http://[::]:8080","modules":{"backup-s3":{"bucketName":"weaviate-backups","endpoint":"play.min.io:443","useSSL":true}...[truncated]...}
weaviate-backups
için Erişim Politikası Paketi Weaviate'i MinIO ile entegre etmek için MinIO'daki yedekleme kümesinin, belirlenen yedekleme kümesinin ( weaviate-backups
) Herkese Açık Erişim Politikasına uygun şekilde ihtiyacı vardır. Bu ayarlama, Weaviate backup-s3 modülüne, yedekleme işlemleri için MinIO grubuyla başarılı bir şekilde etkileşimde bulunmak üzere gerekli izinleri vermek için gereklidir.
Not: Bir üretim ortamında muhtemelen bunu kilitlemeniz gerekir; bu, bu eğitimin kapsamı dışındadır.
Bu yapılandırmaya, bir grubu " genel " olarak ayarlamanın güvenlik açısından doğuracağı sonuçları net bir şekilde anlayarak yaklaşmak çok önemlidir. Bu kurulum bir geliştirme ortamında yedekleme sürecini kolaylaştırırken, üretim sistemlerinde veri güvenliğini ve bütünlüğünü korumak için alternatif yaklaşımlar dikkate alınmalıdır. IAM politikaları veya " önceden imzalanmış " URL'ler gibi ayrıntılı erişim kontrollerinin kullanılması.
Bu gösterimin sonunda Weaviate'in backup-s3
modülünü kullanırken süreç boyunca oluşturduğu kova nesnelerini görebileceksiniz.
Weaviate'te S3 yedeklemelerini etkinleştirmek için docker-compose.yaml dosyanızda gerekli ortam değişkenlerini ayarlayın. Bu, Weaviate'i, yedekleme modülleri ve MinIO kova ayrıntıları için ayarları içeren, yedekleme hedefi olarak MinIO'yu kullanmaya yönlendirir.
Teknik işlemlere dalmadan önce, boru hattımızı burada bulabileceğiniz bir not defterine kapsüllemenin ek faydası için aşağıdaki adımları JupyterLab ortamında gösterdiğimi belirtmek isterim.
İlk adım, python için weaviate-client
kütüphanesini pip
ile kurarak ortamın kurulmasını içerir. Bu Python paketi, Weaviate'in RESTful API'si ile daha Pythonic bir şekilde arayüz oluşturmak için gereklidir ve şema oluşturma, veri indeksleme, yedekleme ve geri yükleme gibi işlemler için veritabanıyla kusursuz etkileşime olanak tanır. Gösterim için Weaviate Python istemci kitaplığının kullanımını göstereceğiz.
Bu gösteride Weaviate V3 API kullanıyoruz, böylece python betiğini çalıştırdığınızda aşağıdakine benzer bir mesaj görebilirsiniz:
`DeprecationWarning: Dep016: You are using the Weaviate v3 client, which is deprecated. Consider upgrading to the new and improved v4 client instead! See here for usage: https://weaviate.io/developers/weaviate/client-libraries/python warnings.warn(`
Bu mesaj bir uyarı başlığıdır ve göz ardı edilebilir, daha fazla bilgi için burayı ziyaret edebilirsiniz.
!pip install weaviate-client
Bu bölüm, 'Makale' ve 'Yazar' sınıfları için veri yapısını ve şemasını tanıtarak verilerin nasıl düzenleneceğinin temelini oluşturur. Weaviate içindeki şemanın programlı olarak nasıl tanımlanacağını ve yönetileceğini göstererek, Weaviate'in belirli uygulama ihtiyaçlarına göre uyarlanmış çeşitli veri modellerine uyum sağlama esnekliğini ve gücünü ortaya koyar.
import weaviate client = weaviate.Client("http://localhost:8080") # Schema classes to be created schema = { "classes": [ { "class": "Article", "description": "A class to store articles", "properties": [ {"name": "title", "dataType": ["string"], "description": "The title of the article"}, {"name": "content", "dataType": ["text"], "description": "The content of the article"}, {"name": "datePublished", "dataType": ["date"], "description": "The date the article was published"}, {"name": "url", "dataType": ["string"], "description": "The URL of the article"}, {"name": "customEmbeddings", "dataType": ["number[]"], "description": "Custom vector embeddings of the article"} ] }, { "class": "Author", "description": "A class to store authors", "properties": [ {"name": "name", "dataType": ["string"], "description": "The name of the author"}, {"name": "articles", "dataType": ["Article"], "description": "The articles written by the author"} ] } ] } client.schema.delete_class('Article') client.schema.delete_class('Author') client.schema.create(schema)
Python: şema sınıfları oluşturun
Şemayı tanımladıktan sonra not defteri, Weaviate istemcisinin başlatılması, Weaviate örneğinde şemanın oluşturulması ve verilerin indekslenmesi aşamalarında rehberlik eder. Bu süreç, veritabanını ilk veri kümeleriyle doldurarak Weaviate'in vektör arama yeteneklerinin araştırılmasına olanak tanır. Verileri vektörleştirilmiş formatta depolamak ve sorgulamak için Weaviate'ten yararlanmaya başlamak için gereken pratik adımları göstermektedir.
# JSON data to be Ingested data = [ { "class": "Article", "properties": { "title": "LangChain: OpenAI + S3 Loader", "content": "This article discusses the integration of LangChain with OpenAI and S3 Loader...", "url": "https://blog.min.io/langchain-openai-s3-loader/", "customEmbeddings": [0.4, 0.3, 0.2, 0.1] } }, { "class": "Article", "properties": { "title": "MinIO Webhook Event Notifications", "content": "Exploring the webhook event notification system in MinIO...", "url": "https://blog.min.io/minio-webhook-event-notifications/", "customEmbeddings": [0.1, 0.2, 0.3, 0.4] } }, { "class": "Article", "properties": { "title": "MinIO Postgres Event Notifications", "content": "An in-depth look at Postgres event notifications in MinIO...", "url": "https://blog.min.io/minio-postgres-event-notifications/", "customEmbeddings": [0.3, 0.4, 0.1, 0.2] } }, { "class": "Article", "properties": { "title": "From Docker to Localhost", "content": "A guide on transitioning from Docker to localhost environments...", "url": "https://blog.min.io/from-docker-to-localhost/", "customEmbeddings": [0.4, 0.1, 0.2, 0.3] } } ] for item in data: client.data_object.create( data_object=item["properties"], class_name=item["class"] )
Python: verileri sınıfa göre indeksleme
Verilerin indekslenmesiyle odak noktası, yedeklemeler aracılığıyla veritabanının durumunun korunmasına geçer. Dizüstü bilgisayarın bu bölümü MinIO'ya yedekleme işleminin nasıl tetikleneceğini gösterir.
result = client.backup.create( backup_id="backup-id", backend="s3", include_classes=["Article", "Author"], # specify classes to include or omit this for all classes wait_for_completion=True, ) print(result)
Python: yedekleme oluştur
Beklemek:
{'backend': 's3', 'classes': ['Article', 'Author'], 'id': 'backup-id-2', 'path': 's3://weaviate-backups/backup-id-2', 'status': 'SUCCESS'}
Başarılı Yedekleme Yanıtı
Bir restorasyon işlemine devam etmeden önce bazen mevcut şemanın temizlenmesi gerekebilir. Bu bölümde temiz bir restorasyon işleminin adımları gösterilmektedir. Bu, geri yüklenen verilerin veritabanındaki mevcut şemalarla veya verilerle çakışmamasını sağlar.
client.schema.delete_class("Article") client.schema.delete_class("Author")
Bu bölümde, önceden yedeklenen verilerin nasıl geri yükleneceği ve veritabanının bilinen iyi duruma nasıl getirileceği açıklanmaktadır.
result = client.backup.restore( backup_id="backup-id", backend="s3", wait_for_completion=True, ) print(result)
Python: yedeklemeyi geri yükle
Beklemek:
{'backend': 's3', 'classes': ['Article', 'Author'], 'id': 'backup-id', 'path': 's3://weaviate-backups/backup-id', 'status': 'SUCCESS'}
Başarılı Yedekleme-S3 Yanıtı
Not defterinin bu bölümü, yedekleme geri yükleme işlemi sırasında hata yönetiminin uygulanmasına ilişkin bir örnek sağlar. Veri geri yükleme işlemleri sırasında beklenmeyen sorunlara ilişkin bilgiler sunar.
from weaviate.exceptions import BackupFailedError try: result = client.backup.restore( backup_id="backup-id", backend="s3", wait_for_completion=True, ) print("Backup restored successfully:", result) except BackupFailedError as e: print("Backup restore failed with error:", e) # Here you can add logic to handle the failure, such as retrying the operation or logging the error.
Beklemek:
Backup restored successfully: {'backend': 's3', 'classes': ['Author', 'Article'], 'id': 'backup-id', 'path': 's3://weaviate-backups/backup-id', 'status': 'SUCCESS'}
Başarılı Yedekleme Geri Yükleme
Son olarak, yedekleme ve geri yükleme işleminin başarıyla tamamlandığını doğrulamak için not defterinde 'Makale' sınıfının şemasını almaya yönelik bir adım bulunur. Bu doğrulama, verilerin ve şemanın doğru şekilde geri yüklenmesini sağlar.
client.schema.get("Article")
Article sınıfını JSON nesnesi olarak döndürür
Beklemek:
{'class': 'Article', 'description': 'A class to store articles'... [Truncated]...}
Not defterinin her bölümü, Weaviate istemci kitaplığı kullanılarak Python ekosistemi içinde gerçekleştirilen, ilk kurulum ve veri popülasyonundan yedekleme, geri yükleme ve doğrulamaya kadar Weaviate'deki veri yönetiminin yaşam döngüsü hakkında kapsamlı bir kılavuz sağlar.
Şu ana kadar size bunu Pythonic yöntemle nasıl yapacağınızı gösterdik. Aynı işlemlerin bir komut dosyası yazmadan nasıl gerçekleştirilebileceğini CURL
aracılığıyla dahili olarak göstermenin yararlı olacağını düşündük.
Şema oluşturma, verileri indeksleme, yedekleme yapma ve verileri geri yükleme gibi görevler için bir Weaviate örneğiyle etkileşim kurmak için belirli curl komutları kullanılabilir. Bu komutlar Weaviate'in REST API'sine HTTP isteklerinde bulunur. Örneğin, bir şema oluşturmak için Weaviate'in şema uç noktasına şema ayrıntılarını içeren bir POST isteği gönderilir. Benzer şekilde, verileri indekslemek için, nesnenin uç noktasına veri yükünü içeren bir POST isteği yapılır.
Yedeklemeler, yedekleme uç noktasına gönderilen bir POST isteği aracılığıyla tetiklenir ve geri yükleme, geri yükleme uç noktasına gönderilen bir POST isteği aracılığıyla yapılır. Bu işlemlerin her biri, genellikle @
sembolünü kullanarak curl komutunda bir dosya referansı olarak sağlanan uygun JSON yükünü gerektirir.
Weaviate'i uygulamak için elbette örnek verilere ihtiyacımız olacak;
Aşağıdakileri ekledim:
schema.json
indekslemek istediğimiz verinin yapısını ana hatlarıyla belirtir.
data.json
gerçek verilerimizin devreye girdiği yerdir, yapısı schema.json dosyasındaki sınıflarla uyumludur.
Schema.json ve data.json dosyaları, MinIO blog varlıkları deposunda mevcuttur.
{ "classes": [ { "class": "Article", "description": "A class to store articles", "properties": [ {"name": "title", "dataType": ["string"], "description": "The title of the article"}, {"name": "content", "dataType": ["text"], "description": "The content of the article"}, {"name": "datePublished", "dataType": ["date"], "description": "The date the article was published"}, {"name": "url", "dataType": ["string"], "description": "The URL of the article"}, {"name": "customEmbeddings", "dataType": ["number[]"], "description": "Custom vector embeddings of the article"} ] }, { "class": "Author", "description": "A class to store authors", "properties": [ {"name": "name", "dataType": ["string"], "description": "The name of the author"}, {"name": "articles", "dataType": ["Article"], "description": "The articles written by the author"} ] } ] }
Makale ve Yazar için örnek şema sınıfları
Öte yandan,
[ { "class": "Article", "properties": { "title": "LangChain: OpenAI + S3 Loader", "content": "This article discusses the integration of LangChain with OpenAI and S3 Loader...", "url": "https://blog.min.io/langchain-openai-s3-loader/", "customEmbeddings": [0.4, 0.3, 0.2, 0.1] } }, { "class": "Article", "properties": { "title": "MinIO Webhook Event Notifications", "content": "Exploring the webhook event notification system in MinIO...", "url": "https://blog.min.io/minio-webhook-event-notifications/", "customEmbeddings": [0.1, 0.2, 0.3, 0.4] } }, { "class": "Article", "properties": { "title": "MinIO Postgres Event Notifications", "content": "An in-depth look at Postgres event notifications in MinIO...", "url": "https://blog.min.io/minio-postgres-event-notifications/", "customEmbeddings": [0.3, 0.4, 0.1, 0.2] } }, { "class": "Article", "properties": { "title": "From Docker to Localhost", "content": "A guide on transitioning from Docker to localhost environments...", "url": "https://blog.min.io/from-docker-to-localhost/", "customEmbeddings": [0.4, 0.1, 0.2, 0.3] } } ]
Makaleleri içeren örnek veriler
Şema, veri yönetimi sistemimizin yapısal omurgası görevi görerek verilerin nasıl organize edildiğini, indekslendiğini ve sorgulandığını tanımlar.
Basit bir curl komutuyla ve yerel olarak mevcut çalışma dizinimize klonlanmış örnek dosyalarımızla; Verilerimizin uyacağı kuralları ve ilişkileri belirleyerek schema.json'umuzu doğrudan Weaviate'e gönderebiliriz.
curl -X POST -H "Content-Type: application/json" \ --data @schema.json http://localhost:8080/v1/schema
CURL: oluştur
Şemamız hazır olduğunda, bir sonraki adım onu gerçek verilerle doldurmayı içerir. Başka bir curl komutu kullanarak data.json dosyamızı şemaya indeksliyoruz.
curl -X POST -H "Content-Type: application/json" \ --data @data.json http://localhost:8080/v1/objects
CURL: dizin
Benzersiz bir tanımlayıcı veya "yedek kimlik" atamamız gerekecek. Bu tanımlayıcı, yalnızca yedekleme kümelerinin hassas şekilde izlenmesini ve alınmasını kolaylaştırmakla kalmaz, aynı zamanda her veri kümesinin sürüm kontrollü olmasını da sağlar.
curl -X POST 'http://localhost:8080/v1/backups/s3' -H 'Content-Type:application/json' -d '{ "id": "backup-id", "include": [ "Article", "Author" ] }'
CURL: yedekleme-s3
Beklemek:
{'backend': 's3', 'classes': ['Article', 'Author'], 'id': 'backup-id', 'path': 's3://weaviate-backups/backup-id', 'status': 'SUCCESS'}
Başarılı Yedekleme-S3 Yanıtı
Bu çıktı bir JSON nesnesi olarak biçimlendirilmiştir. Kullanılan arka ucu (bu durumda 's3'
), yedeklemeye dahil edilen sınıfların listesini ( 'Article'
, 'Author'
), yedeklemeye verilen benzersiz tanımlayıcı kimliğini ( 'backup-id'
) içerir. , yedeğin S3 klasöründe nerede depolandığını gösteren yol ( s3://weaviate-backups/backup-id
) ve işlemin durumu ( 'SUCCESS'
).
Bu yapılandırılmış yanıt, yalnızca yedekleme sürecinin başarıyla tamamlandığını doğrulamakla kalmaz, aynı zamanda gelecekte referans, denetim veya geri yükleme süreçleri için kullanılabilecek temel bilgileri de sağlar.
Weaviate ekosistemindeki verilerin geri yüklenmesi, backup-id tarafından tanımlanan /v1/backups/s3/backup-id/restore uç noktasını hedefleyen bir POST isteği yoluyla yapılandırılmış bir API çağrısı yoluyla kolaylaştırılır. Bu kıvrılma çağrısı yalnızca kaybolan veya arşivlenen verileri geri yüklemekle kalmaz, aynı zamanda sürekliliği korumanıza da olanak tanır.
curl -X POST 'http://localhost:8080/v1/backups/s3/backup-id/restore' \ -H 'Content-Type:application/json' \ -d '{ "id": "backup-id", "exclude": ["Author"] }'
CURL: geri yükleme
Beklemek:
{ "backend": "s3", "classes": ["Article"], "id": "backup-id", "path": "s3://weaviate-backups/backup-id", "status": "SUCCESS" }
Başarılı restorasyon yanıtı
Bu komutların her biri, özel kurulumunuza ve gereksinimlerinize göre uyarlanmalıdır. Uç nokta URL'lerini, veri dosyası yollarını ve diğer parametreleri gerektiği gibi değiştirmeniz gerekebilir. Ayrıca gerekli dosyaların (schema.json, data.json) ve yapılandırmaların ortamınızda mevcut olduğundan emin olun.
Ekipler her şeyi Git'te kodlayarak değişiklikleri kolayca izleyebilir, önceki durumlara geri dönebilir ve ortamlar arasında tutarlılık sağlayabilir. GitOps iş akışları, sürekli entegrasyon/sürekli dağıtım (CI/CD) araçları ve Kubernetes ile entegre edilebilir, böylece konteynerleştirilmiş uygulamaların ve altyapı yönetiminin orkestrasyonu daha da basitleştirilir. GitOps kullanarak nasıl otomatikleştirme yapılacağına dair gelecekteki bir gönderide ayrıntılara gireceğiz.
Weaviate, kısmi veri geçişi veya geliştirme testi gibi durumlar için yararlı olan belirli sınıfların yedeklenmesine veya geri yüklenmesine olanak tanır.
Çok Düğümlü Yedeklemeler: Özellikle Kubernetes ortamlarındaki çok düğümlü kurulumlar için, yapılandırmanızın yedekleme modülünü (MinIO için backup-s3 gibi) ve ilgili ortam değişkenlerini doğru şekilde belirttiğinden emin olun.
Yedekleme veya geri yükleme sırasında sorunlarla karşılaşırsanız, özellikle MinIO gibi S3 uyumlu depolamaya yönelik SSL ayarlarıyla ilgili olarak ortam değişkeni yapılandırmalarınızı kontrol edin. SSL'yi devre dışı bırakmak ( BACKUP_S3_USE_SSL: false
) bazı bağlantı sorunlarını çözebilir.
Docker Compose kullanarak Weaviate'i MinIO ile entegre etmeye yönelik bu araştırmayı tamamladığımızda, bu kombinasyonun yalnızca teknik bir çözüm değil, aynı zamanda veri yönetimine yönelik stratejik bir iyileştirme olduğu açıktır. Bu entegrasyon, MinIO'nun artık Weaviate'in yapay zeka odaklı yetenekleriyle güçlendirilen ölçeklenebilir, güvenli ve yüksek performanslı veri depolama çözümleri sağlama taahhüdüyle mükemmel bir şekilde uyum sağlıyor. Docker Compose'un kullanımı bu entegrasyonu daha da kolaylaştırıyor ve karmaşık teknolojileri erişilebilir ve yönetilebilir hale getirmeye odaklandığımızı vurguluyor.
MinIO ekibi her zaman olduğu gibi veri yönetimi alanında yeniliği teşvik etmeye kararlıdır. Verilerin depolanma, erişilme ve analiz edilme şeklini geliştirmeye ve kolaylaştırmaya olan bağlılığımız misyonumuzun temelinde yer almaktadır.
Weaviate'in gelişmiş vektör veritabanı yeteneklerini MinIO tarafından sağlanan güçlü depolama çözümleriyle bir araya getirerek kullanıcılar, verilerinin tüm potansiyelini ortaya çıkarma yetkisine sahip oluyor. Bu, yalnızca verilerin erişilebilirliğini değil aynı zamanda temel düzeyde güvenliğini de sağlayan anlamsal arama işlevlerinden yararlanmayı içerir.
Sizin gibi kendini adamış ve tutkulu geliştiricilerin akıllarından çıkan olağanüstü yeniliklerden gerçekten ilham alıyoruz. Desteğimizi sunmak ve gelişmiş çözümleri keşfetme ve veri odaklı projelerinizde yeni zirvelere ulaşma yolculuğunuzun bir parçası olmak bizi heyecanlandırıyor. Lütfen bizimle iletişime geçmekten çekinmeyin