paint-brush
MinIO, Langchain ve OpenAI ile Büyük Veri Hacimlerini Yönetmekby@minio
8,516
8,516

MinIO, Langchain ve OpenAI ile Büyük Veri Hacimlerini Yönetmek

MinIO5m2024/04/23
Read on Terminal Reader
Read this story w/o Javascript

Bu makale, MinIO, Langchain ve OpenAI'nin GPT-3.5 modelini kullanan, MinIO klasörlerinde saklanan belgelerin özetlenmesine odaklanan pratik bir uygulamayı göstermektedir.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - MinIO, Langchain ve OpenAI ile Büyük Veri Hacimlerini Yönetmek
MinIO HackerNoon profile picture
0-item


Hızla gelişen veri depolama ve işleme dünyasında, verimli bulut depolama çözümlerini gelişmiş yapay zeka yetenekleriyle birleştirmek, büyük hacimli verilerin işlenmesinde dönüştürücü bir yaklaşım sunar. Bu makale, MinIO, Langchain ve OpenAI'nin GPT-3.5 modelini kullanan, MinIO klasörlerinde saklanan belgelerin özetlenmesine odaklanan pratik bir uygulamayı göstermektedir.

MinIO'nun Gücü

MinIO, Amazon S3 API ile tamamen uyumlu, açık kaynaklı, yüksek performanslı bir nesne depolama alanıdır. Ölçeklenebilirliğiyle bilinen MinIO, fotoğraf, video, günlük dosyaları, yedeklemeler ve konteyner görüntüleri gibi yapılandırılmamış verileri depolamak için idealdir. Bu sadece depolamayla ilgili değil; MinIO ayrıca veri çoğaltma, yaşam döngüsü yönetimi ve yüksek kullanılabilirlik gibi özellikler sunarak onu modern bulut tabanlı uygulamalar için en iyi seçim haline getiriyor.

Langchain ve OpenAI'yi entegre etmek

Uzun zincir Python tabanlı bir araç olan , belge yükleyiciler ve yapay zeka modelleri arasındaki etkileşimi kolaylaştırır. Kullanım durumumuzda Langchain'i OpenAI'lerle birleştiriyoruz gpt-3.5-turbo-1106 MinIO paketlerindeki belgeleri özetlemek için model. Bu kurulum, yapay zekanın kapsamlı verilerden önemli bilgileri nasıl çıkarabildiğini örnekleyerek veri analizini ve yorumlamayı basitleştiriyor. Bu makaleyle ilgili not defterleri ve yüklü belgeler gibi ek bilgi ve destekleyici materyaller için lütfen şu adresi ziyaret edin: MinIO Github deposu içinde langchain-s3-minio dizin.

Langchain'in Kurulumu

Uygulamaya geçmeden önce Langchain'in kurulu olduğundan emin olun. Pip aracılığıyla yükleyin:


 pip install --upgrade langchain


Bu, S3 yükleyicilerimiz ve OpenAI modelimiz için kullanacağımız tüm gerekli kitaplıkları kapsayacaktır.

Adım 1: Langchain S3 Dizini ve Dosya Yükleyiciler

Başlangıçta, Langchain'in S3DirectoryLoader ve S3FileLoader kullanarak belgeleri yüklemeye odaklanıyoruz. Bu yükleyiciler, MinIO klasörlerindeki belirtilen dizinlerden ve dosyalardan birden fazla ve tek belgenin getirilmesinden sorumludur.

MinIO Yapılandırmaları ve Langchain S3 Dosya Yükleyici


 from langchain_community.document_loaders.s3_file import S3FileLoader # MinIO Configuration for the public testing server endpoint = 'play.min.io:9000' access_key = 'minioadmin' secret_key = 'minioadmin' use_ssl = True # Initialize and load a single document file_loader = S3FileLoader( bucket='web-documentation', key='MinIO_Quickstart.md', endpoint_url=f'http{"s" if use_ssl else ""}://{endpoint}', aws_access_key_id=access_key, aws_secret_access_key=secret_key, use_ssl=use_ssl ) document = file_loader.load()

Python Langchain Örneği - S3 Dosya Yükleyici

Langchain S3 Dizin Yükleyici:


 from langchain_community.document_loaders.s3_directory import S3DirectoryLoader # Initialize and load documents directory_loader = S3DirectoryLoader( bucket='web-documentation', prefix='', endpoint_url=f'http{"s" if use_ssl else ""}://{endpoint}', aws_access_key_id=access_key, aws_secret_access_key=secret_key, use_ssl=use_ssl ) documents = directory_loader.load()

Python Langchain Örneği - S3 Dizin Yükleyici

Adım 2: OpenAI ile özetleme

Belgeleri yükledikten sonra özetler oluşturmak için OpenAI'nin GPT-3.5 modelini ( ChatOpenAI aracılığıyla Langchain kütüphanesine dahil edilen) kullanıyoruz. Bu adım, modelin içeriği anlama ve yoğunlaştırma yeteneğini göstererek büyük belgelerden hızlı içgörüler sağlar.

OpenAI API'sine erişmek için şu adresi ziyaret ederek bir API anahtarı alabilirsiniz: OpenAI platformu . Anahtarı aldıktan sonra, belge özetleme amacıyla GPT-3.5'in gücünden yararlanmak için onu aşağıdaki koda entegre edin.

Belge Özetlemeye İlişkin Kod Örneği:


 from langchain_openai import ChatOpenAI from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate from langchain_core.runnables import RunnableLambda import os # Set your OpenAI API key os.environ['OPENAI_API_KEY'] = 'your-openai-api-key' model = ChatOpenAI(temperature=0, model="gpt-3.5-turbo-1106") prompt = ChatPromptTemplate.from_template( "Summarize the following document '{document_name}':{context}Please provide the summary and key points." ) loaded_documents = [documents, document] # From S3 Loaders flattened_documents = [doc for sublist in loaded_documents for doc in sublist] for loaded_document in flattened_documents: document_text = loaded_document.page_content document_name = getattr(loaded_document, 'name', 'Unknown Document') # Assuming each document has a 'name' attribute chain = ( RunnableLambda(lambda x: {"context": document_text, "document_name": document_name}) | prompt | model | StrOutputParser() ) summary = chain.invoke(None) print("Summary:", summary)

Python Langchain Örneği - OpenAI API ile Belgeleri Özetleme


Aşağıda bu demoyu çalıştırmanın çıktısı yer almaktadır ve LangChain'in OpenAI'nin GPT-3.5 ve MinIO S3 depolama alanıyla entegre edilmesinin bir sonucudur; çıktı tanıtım amacıyla kısaltılmıştır:


 Summary: The document is a quickstart guide for MinIO, a high-performance object storage system that is compatible with Amazon S3. It explains how to run MinIO on bare metal hardware or in containers. For Kubernetes environments, it recommends using the MinIO Kubernetes Operator. The key points are: - MinIO is a high-performance object storage system. - It is released under the GNU Affero General Public License v3.0. - MinIO is API compatible with Amazon S3. - It can be used to build high-performance infrastructure for machine learning, analytics, and application data workloads. - The guide provides quickstart instructions for running MinIO on bare metal hardware or in containers. - For Kubernetes environments, the MinIO Kubernetes Operator is recommended.

OpenAI API'sinden yanıt


Bu yöntem, belgeleri işlemek için Langchain çerçevesini kullanarak S3 deposundan bir LLM'ye yüklemenin ilginç bir yolunu vurgularken, OpenAI'nin GPT-3.5 modeli play.min'den alınan MinIO_Quickstart.md kısa bir özetini ve önemli noktalarını oluşturur play.min.io sunucusu. Kapsamlı belgeleri analiz etmek ve özetlemek için yapay zekanın kullanılması, kullanıcılara kurulum, sunucu yapılandırması, SDK'lar ve diğer MinIO özellikleri gibi temel hususların hızlı ve kapsamlı bir şekilde anlaşılmasını sağlar. Yapay zekanın kapsamlı veri kaynaklarından kritik bilgileri çıkarma ve sunma yeteneğini sergiliyor.

Langchain ile MinIO Kovalarından Belge Yükleme

MinIO, Langchain ve OpenAI'nin entegrasyonu, büyük veri hacimlerini yönetmek için ilgi çekici bir araç seti sunar. Langchain'in S3 yükleyicileri S3DirectoryLoader ve S3FileLoader, MinIO klasörlerinden belgelerin alınmasında önemli bir rol oynasa da, bunlar yalnızca Langchain'e veri yüklemek içindir. Bu yükleyiciler, verilerin paketlere yüklenmesiyle ilgili eylemleri gerçekleştirmez. Paket ilkelerini yükleme, değiştirme veya yönetme gibi görevler için MinIO Python SDK uygun araçtır. Bu SDK, MinIO depolama alanıyla etkileşime geçmek için dosya yüklemeleri, paket yönetimi ve daha fazlasını içeren kapsamlı bir dizi işlevsellik sağlar. Ek bilgi için lütfen bkz. Hızlı Başlangıç Kılavuzu — Linux için MinIO Nesne Depolaması , Python İstemci API Referansı — Linux için MinIO Nesne Depolaması .


Langchain, yapay zeka modellerini kullanarak veri alma ve işleme sürecini kolaylaştırırken, MinIO paketleri içindeki veri yönetiminin ağır yükü MinIO Python SDK'ya bağlıdır. Bu, verimli, yapay zeka ile entegre depolama çözümleri geliştiren geliştiriciler ve veri mühendisleri tarafından anlaşılması gereken önemli bir ayrımdır. MinIO'nun yeteneklerinin ve Python SDK'sının çeşitli depolama işlemleri için nasıl kullanılacağının kapsamlı bir şekilde anlaşılması için MinIO'nun resmi kılavuzuna bakın. dokümantasyon .


MinIO nesne depolamasını AI ve ML süreçleri için birincil veri deposu olarak kullanarak veri yönetimi işlem hattınızı basitleştirebilirsiniz. MinIO, tek noktadan çözüm olarak öne çıkıyor Büyük veri kümelerini depolamak, yönetmek ve almak Etkili AI ve ML operasyonları için çok önemli olan. Bu kolaylaştırılmış yaklaşım, karmaşıklığı ve ek yükü azaltır, verilere hızlı erişim sağlayarak potansiyel olarak içgörüleri hızlandırır.


LLM araç kullanımını geliştirmek için MinIO'nun Langchain ile entegrasyonunu daha derinlemesine incelemek isteyenler için " LLM Araç Kullanımı için MinIO SDK ile Langchain Aracılarının Geliştirilmesi " makalesi konunun kapsamlı bir incelemesini sunuyor.


Geliştirme çabalarınızda iyi şanslar! Umut ediyoruz MinIO AI/ML yolculuğunuzda önemli bir rol oynamaya devam ediyor. Bize ulaşın Gevşek ve içgörülerinizi ve keşiflerinizi paylaşın!