paint-brush
Quản lý khối lượng dữ liệu lớn với MiniIO, Langchain và OpenAItừ tác giả@minio
8,583 lượt đọc
8,583 lượt đọc

Quản lý khối lượng dữ liệu lớn với MiniIO, Langchain và OpenAI

từ tác giả MinIO5m2024/04/23
Read on Terminal Reader
Read this story w/o Javascript

dài quá đọc không nổi

Bài viết này trình bày cách triển khai thực tế bằng cách sử dụng mô hình GPT-3.5 của MinIO, Langchain và OpenAI, tập trung vào việc tóm tắt các tài liệu được lưu trữ trong nhóm MinIO.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Quản lý khối lượng dữ liệu lớn với MiniIO, Langchain và OpenAI
MinIO HackerNoon profile picture
0-item


Trong thế giới lưu trữ và xử lý dữ liệu đang phát triển nhanh chóng, việc kết hợp các giải pháp lưu trữ đám mây hiệu quả với khả năng AI tiên tiến mang đến một cách tiếp cận mang tính biến đổi để xử lý khối lượng dữ liệu khổng lồ. Bài viết này trình bày cách triển khai thực tế bằng cách sử dụng mô hình GPT-3.5 của MinIO, Langchain và OpenAI, tập trung vào việc tóm tắt các tài liệu được lưu trữ trong nhóm MinIO.

Sức mạnh của MinIO

MinIO là bộ lưu trữ đối tượng mã nguồn mở, hiệu suất cao, hoàn toàn tương thích với API Amazon S3. Được biết đến với khả năng mở rộng, MinIO lý tưởng để lưu trữ dữ liệu phi cấu trúc như ảnh, video, tệp nhật ký, bản sao lưu và hình ảnh vùng chứa. Nó không chỉ là về việc lưu trữ; MinIO cũng cung cấp các tính năng như sao chép dữ liệu, quản lý vòng đời và tính sẵn sàng cao, khiến nó trở thành lựa chọn hàng đầu cho các ứng dụng gốc đám mây hiện đại.

Tích hợp Langchain và OpenAI

chuỗi lang , một công cụ dựa trên Python, tạo điều kiện thuận lợi cho sự tương tác giữa trình tải tài liệu và mô hình AI. Trong trường hợp sử dụng của chúng tôi, chúng tôi kết hợp Langchain với OpenAI gpt-3.5-turbo-1106 mô hình tóm tắt tài liệu từ nhóm MinIO. Thiết lập này minh họa cách AI có thể trích xuất thông tin cần thiết từ dữ liệu mở rộng, đơn giản hóa việc phân tích và giải thích dữ liệu. Để biết thêm thông tin và tài liệu hỗ trợ liên quan đến bài viết này như sổ ghi chép và tài liệu đã tải, vui lòng truy cập Kho lưu trữ MinIO Github bên trong langchain-s3-minio danh mục.

Cài đặt Langchain

Trước khi đi sâu vào triển khai, hãy đảm bảo bạn đã cài đặt Langchain. Cài đặt nó qua pip:


 pip install --upgrade langchain


Điều này sẽ gói gọn tất cả các thư viện cần thiết mà chúng tôi sẽ sử dụng cho trình tải S3 và mô hình OpenAI của chúng tôi.

Bước 1: Trình tải tệp và thư mục Langchain S3

Ban đầu, chúng tôi tập trung vào việc tải tài liệu bằng S3DirectoryLoaderS3FileLoader của Langchain. Các trình tải này chịu trách nhiệm tìm nạp nhiều tài liệu đơn lẻ từ các thư mục và tệp được chỉ định trong nhóm MinIO.

Cấu hình MinIO và Trình tải tệp Langchain S3


 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()

Ví dụ về Python Langchain - Trình tải tệp S3

Trình tải thư mục Langchain S3:


 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()

Ví dụ về Python Langchain - Trình tải thư mục S3

Bước 2: Tóm tắt với OpenAI

Sau khi tải tài liệu, chúng tôi sử dụng mô hình GPT-3.5 của OpenAI (được bao gồm trong thư viện Langchain thông qua ChatOpenAI ) để tạo bản tóm tắt. Bước này minh họa khả năng hiểu và cô đọng nội dung của mô hình, cung cấp thông tin chuyên sâu nhanh chóng từ các tài liệu lớn.

Để truy cập API OpenAI, bạn có thể lấy khóa API bằng cách truy cập Nền tảng OpenAI . Sau khi bạn có khóa, hãy tích hợp nó vào mã bên dưới để khai thác sức mạnh của GPT-3.5 cho việc tóm tắt tài liệu.

Ví dụ về mã để tóm tắt tài liệu:


 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)

Ví dụ về Python Langchain - Tóm tắt tài liệu với API OpenAI


Dưới đây là kết quả khi chạy bản demo này và là kết quả của việc tích hợp LangChain với bộ lưu trữ GPT-3.5 và MinIO S3 của OpenAI; đầu ra đã được rút ngắn cho mục đích trình diễn:


 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.

Phản hồi từ API OpenAI


Phương pháp này nêu bật một cách thú vị để tải tài liệu từ bộ lưu trữ S3 vào LLM bằng cách sử dụng khung Langchain để xử lý chúng, trong khi mô hình GPT-3.5 của OpenAI tạo ra bản tóm tắt ngắn gọn và các điểm chính của MinIO_Quickstart.md được tìm nạp từ play.min.io máy chủ play.min.io . Việc sử dụng AI để phân tích và tổng hợp tài liệu phong phú, cung cấp cho người dùng sự hiểu biết nhanh chóng và kỹ lưỡng về các khía cạnh thiết yếu như cài đặt, cấu hình máy chủ, SDK và các tính năng MinIO khác. Nó thể hiện khả năng của AI trong việc trích xuất và trình bày thông tin quan trọng từ các nguồn dữ liệu toàn diện.

Tải tài liệu từ nhóm MinIO bằng Langchain

Sự tích hợp của MinIO, Langchain và OpenAI cung cấp bộ công cụ hấp dẫn để quản lý khối lượng dữ liệu lớn. Mặc dù các trình tải S3 của Langchain, S3DirectoryLoader và S3FileLoader, đóng vai trò quan trọng trong việc truy xuất tài liệu từ nhóm MinIO, nhưng chúng chỉ dùng để tải dữ liệu vào Langchain. Những trình tải này không thực hiện các hành động liên quan đến tải dữ liệu lên nhóm. Đối với các tác vụ như tải lên, sửa đổi hoặc quản lý chính sách nhóm, MinIO Python SDK là công cụ thích hợp. SDK này cung cấp một bộ chức năng toàn diện để tương tác với bộ lưu trữ MinIO, bao gồm tải tệp lên, quản lý bộ chứa, v.v. Để biết thêm thông tin, vui lòng xem Hướng dẫn bắt đầu nhanh - Bộ lưu trữ đối tượng MinIO cho Linux , Tham khảo API máy khách Python - Bộ lưu trữ đối tượng MinIO cho Linux .


Trong khi Langchain hợp lý hóa quy trình tìm nạp và xử lý dữ liệu bằng mô hình AI, thì việc quản lý dữ liệu nặng nề trong nhóm MinIO phụ thuộc vào MinIO Python SDK. Đây là điểm khác biệt quan trọng mà các nhà phát triển và kỹ sư dữ liệu phải hiểu khi xây dựng các giải pháp lưu trữ tích hợp AI hiệu quả. Để hiểu rõ hơn về các khả năng của MinIO và cách sử dụng SDK Python của nó cho các hoạt động lưu trữ khác nhau, hãy tham khảo tài liệu chính thức của MinIO tài liệu .


Bằng cách sử dụng bộ lưu trữ đối tượng MinIO làm kho lưu trữ dữ liệu chính cho các quy trình AI và ML, bạn có thể đơn giản hóa quy trình quản lý dữ liệu của mình. MinIO vượt trội như một giải pháp toàn diện cho lưu trữ, quản lý và truy xuất các tập dữ liệu lớn , điều này rất quan trọng để hoạt động AI và ML hiệu quả. Cách tiếp cận hợp lý này giúp giảm độ phức tạp và chi phí chung, có khả năng tăng tốc độ hiểu biết sâu sắc bằng cách đảm bảo quyền truy cập dữ liệu nhanh chóng.


Đối với những người quan tâm đến việc tìm hiểu sâu hơn về việc tích hợp MinIO với Langchain để nâng cao việc sử dụng công cụ LLM, bài viết “ Phát triển Đại lý Langchain với MinIO SDK để sử dụng Công cụ LLM ” cung cấp một khám phá toàn diện về chủ đề này.


Chúc may mắn trong nỗ lực phát triển của bạn! Chung ta hy vọng MinIO tiếp tục đóng một vai trò quan trọng trong hành trình AI/ML của bạn. Hãy liên hệ với chúng tôi trên chùng xuống và chia sẻ những hiểu biết và khám phá của bạn!