Rumah  >  Artikel  >  Peranti teknologi  >  Baca artikel ini untuk memahami beberapa alternatif LangChain biasa

Baca artikel ini untuk memahami beberapa alternatif LangChain biasa

WBOY
WBOYasal
2024-06-03 18:25:261332semak imbas

Hello, saya Luga, hari ini kita akan bercakap tentang teknologi yang berkaitan dengan bidang ekologi kecerdasan buatan (AI) - rangka kerja pembangunan LLM.

Dalam bidang pembangunan aplikasi LLM (Model Bahasa Skala Besar), rangka kerja sumber terbuka memainkan peranan penting, menyediakan sokongan alat yang berkuasa untuk pembangun. Sebagai peneraju dalam bidang ini, LangChain telah memenangi pujian yang meluas untuk reka bentuk inovatif dan fungsi komprehensifnya. Tetapi pada masa yang sama, beberapa rangka kerja alternatif juga telah muncul, memberikan pilihan yang lebih baik untuk keperluan dalam senario yang berbeza.

Lagipun, mana-mana rangka kerja pasti mempunyai had tertentu. Sebagai contoh, abstraksi kelajuan LangChain mungkin menyukarkan untuk bermula dalam beberapa kes, pengalaman penyahpepijatan perlu dipertingkatkan dan kualiti beberapa kod juga patut diperbaiki. Inilah hala tuju produk alternatif yang mereka usahakan untuk mencipta pengalaman membina aplikasi yang lebih mudah dan cekap untuk pembangun dengan mengoptimumkan reka bentuk seni bina, menambah baik amalan kejuruteraan, mengukuhkan sokongan komuniti, dsb.

一文读懂常见的几种 LangChain 替代品

1. Analisis latar belakang pembangunan LangChain

Ini ialah rangka kerja sumber terbuka yang popular, LangChain direka untuk membantu pembangun dalam membina aplikasi kecerdasan buatan. LangChain memudahkan proses membangunkan aplikasi berasaskan LLM (Model LangLink) dengan menyediakan antara muka standard untuk rantaian, proksi dan modul memori.

Dalam senario aplikasi praktikal, rangka kerja LangChain+ amat membantu apabila mencipta bukti konsep (POC) dengan cepat. Walau bagaimanapun, menggunakan mana-mana rangka kerja datang dengan beberapa cabaran. Khususnya:

  • Pengabstraksian yang berlebihan mungkin menjadikan penggunaan LangChain sangat mudah dalam situasi tertentu, tetapi menjadi sukar apabila membina kes penggunaan yang tidak disokong oleh rangka kerja. Tahap abstraksi rangka kerja yang tinggi mungkin mengehadkan fleksibiliti pembangun, mengakibatkan ketidakupayaan untuk memenuhi beberapa keperluan khusus.
  • Menyahpepijat isu prestasi dan pepijat menjadi lebih sukar disebabkan tahap abstraksi rangka kerja yang tinggi. Apabila masalah berlaku dengan aplikasi, mungkin sukar bagi pembangun untuk menentukan punca khusus masalah kerana butiran asas tersembunyi dalam rangka kerja, meningkatkan kerumitan nyahpepijat.
  • Memandangkan kualiti kod mungkin lebih rendah dan kerumitan komponen lebih tinggi, pembangun lebih berkemungkinan menggunakan LangChain untuk mempelajari pembangunan AI dan prototaip berbanding penggunaan sebenar dalam persekitaran pengeluaran. Ini mungkin disebabkan oleh cabaran dalam penyelenggaraan dan pengoptimuman prestasi rangka kerja, serta kekurangan jaminan kestabilan dan kebolehpercayaan yang diperlukan untuk aplikasi gred pengeluaran.

2. Analisis kemungkinan menggantikan LangChain berdasarkan analisis komprehensif 7 dimensi

Dalam peningkatan pembangunan dan aplikasi LLM (model bahasa berskala besar), menilai dan membenarkan kelebihan platform alat yang berbeza akan menjadi pautan penting . Analisis komprehensif berdasarkan tujuh dimensi utama termasuk kejuruteraan segera, integrasi data, orkestrasi aliran kerja, visualisasi ujian, penunjuk penilaian, kesediaan pengeluaran dan pengurusan kitaran hayat sudah pasti idea dan hala tuju yang sangat berpandangan ke hadapan dan sistematik.

Seterusnya, kami akan menjalankan analisis terperinci satu demi satu:

1 Kejuruteraan Prompt - Kejuruteraan Prompt

Tidak dinafikan bahawa kejuruteraan segera berkualiti tinggi adalah prasyarat dan asas untuk meneroka potensi LLM sepenuhnya. Platform alat yang ideal bukan sahaja harus menyediakan antara muka pembinaan segera yang ringkas dan fleksibel, tetapi juga menyepadukan teknologi canggih seperti pemahaman bahasa semula jadi dan analisis semantik untuk merealisasikan penjanaan automatik dan pengoptimuman gesaan, memaksimumkan kesesuaian untuk konteks tugas tertentu, dan mengurangkan kos daripada campur tangan manual.

Selain itu, untuk tugasan berbilang langkah yang kompleks, sama ada ia boleh menyokong pengurusan berparameter dan kawalan versi gesaan juga akan menjadi pertimbangan penting.

2. Pengambilan dan Penyepaduan Data - Pengambilan dan Penyepaduan Data

Peningkatan paradigma RAG menjadikan fungsi penyepaduan asas pengetahuan luaran yang cekap sebagai keupayaan yang diperlukan untuk platform alat. Platform yang sangat baik bukan sahaja boleh menyambung dan mengimport pelbagai sumber data heterogen dengan mudah, tetapi juga mempunyai keupayaan prapemprosesan data dan kawalan kualiti yang kukuh untuk memastikan ketepatan dan konsistensi suntikan pengetahuan. Selain itu, analisis visual dan pengoptimuman hasil carian besar-besaran juga akan meningkatkan kecekapan kerja pembangun.

3. Orkestrasi dan Rantaian Model - Orkestrasi dan Rantaian Model

Berdepan dengan keperluan tugasan yang kompleks di dunia nyata, biasanya sukar bagi satu LLM untuk menyelesaikannya secara bebas. Oleh itu, keupayaan untuk mengatur aliran kerja berbilang modul model secara fleksibel dan mencapai kombinasi yang berbeza melalui kawalan parameter akan menjadi daya saing teras platform alat.

Pada masa yang sama, sokongan yang baik untuk pengurusan versi aliran kerja, penalaan parameter, kebolehulangan dan ciri lain juga akan meningkatkan kecekapan pembangunan.

4. Penyahpepijatan dan Kebolehmerhatian - Penyahpepijatan dan Kebolehmerhatian

Sebagai AI "kotak hitam" biasa, mekanisme dalaman sistem LLM sentiasa mengelirukan. Platform alat yang sangat baik harus berusaha untuk memecahkan had ini dan memberikan cerapan tentang keadaan dalaman model melalui cara seperti visualisasi pengagihan perhatian dan penjejakan laluan penaakulan Pada masa yang sama, ia harus menyokong penyelesaian masalah ralat yang lebih tepat, pembetulan sisihan dan pengoptimuman prestasi , dengan itu benar-benar meningkatkan kebolehtafsiran dan kebolehpercayaan.

5. Penilaian - Penilaian

Proses penilaian yang ketat adalah bahagian penting dalam memastikan kualiti aplikasi LLM. Pada ketika ini, infrastruktur penilaian yang disediakan oleh platform yang berbeza, dimensi penunjuk yang diliputi, tahap automasi, dan tahap penyepaduan dengan penilaian manual akan secara langsung menentukan objektiviti dan kewibawaan keputusan penilaian.

Secara umumnya, sistem penilaian yang matang sudah pasti akan memberikan jaminan kualiti yang kukuh untuk pelaksanaan sebenar produk akhir.

6. Penyediaan dan Kesediaan Pengeluaran - Penyediaan dan Penyediaan Pengeluaran

Untuk aplikasi gred industri yang berorientasikan kepada persekitaran pengeluaran, penggunaan dan keupayaan operasi dan penyelenggaraan platform alat akan menjadi pertimbangan utama. Mekanisme dalam talian yang lengkap, pilihan penggunaan yang disokong (awan, peranti tepi, dll.), pematuhan keselamatan, pengoptimuman prestasi, pemantauan dan jaminan produk yang membimbangkan dan lain-lain akan secara langsung mempengaruhi ketersediaan dan kebolehpercayaan akhir sistem LLM.

7 Ekosistem dan Integrasi - Ekosistem dan Integrasi

Sebagai teknologi inovatif termaju, penyepaduan lancar platform LLM dengan susunan teknologi perusahaan sedia ada adalah prasyarat untuk memastikan aplikasinya meluas. Kedai aplikasi pihak ketiga yang besar dan perpustakaan sumber rakan kongsi akan membantu membina ekosistem yang kaya yang merangkumi rangkaian senario industri yang lebih luas dan keperluan yang berbeza, sekali gus mempromosikan pempopularan berskala besar dan aplikasi inovatif teknologi LLM.

Melalui analisis komprehensif dan perbandingan tukar ganti bagi tujuh dimensi di atas, kami secara relatifnya boleh menilai kelebihan dan kekurangan platform alat pembangunan LLM yang berbeza. Sebagai contoh, untuk senario yang menumpukan pada keupayaan kejuruteraan segera, kami mungkin lebih cenderung untuk memilih platform yang berprestasi cemerlang dalam bidang ini manakala bagi aplikasi peringkat industri yang memerlukan jaminan operasi pengeluaran dan penyelenggaraan yang kukuh, faktor seperti penggunaan dan kebolehpercayaan akan menjadi; dimensi pertimbangan yang lebih penting.

Sudah tentu, sebagai tambahan kepada tujuh ciri fungsi di atas, kita juga perlu mempertimbangkan beberapa faktor bukan fungsi lain, seperti kebolehgunaan, keluk pembelajaran, kualiti dokumen, aktiviti komuniti, laluan pembangunan, dll., berdasarkan keperluan adegan tertentu dan tabiat kerja, bolehkah kita membuat keputusan pemilihan alat yang benar-benar tinggi.

Pada masa yang sama, daya hidup dan keupayaan pembangunan mampan platform alat juga merupakan perspektif yang sangat diperlukan. Komuniti pembangunan yang aktif, pelan sokongan perniagaan yang komprehensif, dan laluan inovasi teknologi yang berterusan akan memberikan kami sokongan jangka panjang dan boleh dipercayai. Lagipun, pembangunan teknologi LLM masih di peringkat awal, dan platform alat perlu mengikut peredaran masa dan sentiasa menyesuaikan diri dan menerima aliran perubahan baharu.

3. Analisis alternatif LangChain sumber terbuka biasa

1.LlamaIndex

Dalam gelombang LLM (Model Bahasa Skala Besar), seni bina RAG (Retrieval Augmented Generation) semakin menjadi paradigma arus perdana. Sebagai rangka kerja data sumber terbuka yang tertumpu pada membina aplikasi RAG, LlamaIndex sudah pasti menunjukkan potensi pembangunan yang menjanjikan.

一文读懂常见的几种 LangChain 替代品

LlamaIndex bingkai data untuk aplikasi LLM (Sumber: LlamaIndex)

Berbanding dengan projek terkenal seperti Langchain, LlamaIndex menyediakan pengguna dengan lebih kecekapan dan profesionalisme kerana pengoptimuman bidang tertumpu dan konsep pengalaman reka bentuk yang inovatif pembangunan aplikasi RAG . Kami juga mungkin mempunyai analisis yang lebih mendalam tentang ciri dan kelebihan utamanya:

Pertama sekali, LlamaIndex berprestasi cemerlang dalam pengingesan data dan pra-pemprosesan. Ia bukan sahaja serasi dengan pelbagai format data berstruktur dan tidak berstruktur, tetapi yang lebih penting, melalui pembahagian teks yang fleksibel, vektorisasi dan mekanisme lain, ia memastikan data dikodkan ke dalam memori LLM dengan kualiti yang tinggi. Ini meletakkan asas yang kukuh untuk pemahaman konteks semasa fasa penjanaan.

Pada masa yang sama, LlamaIndex menyediakan pelbagai pilihan struktur data indeks dan strategi pertanyaan, membolehkan pembangun memanfaatkan sepenuhnya kelebihan kecekapan pertanyaan dalam senario berbeza dan mencapai perolehan semula semantik berprestasi tinggi. Pengoptimuman yang disasarkan ini adalah salah satu keperluan utama untuk aplikasi RAG.

Satu lagi sorotan yang patut diberi perhatian ialah sokongan semula jadi LlamaIndex untuk data berbilang modal (seperti imej, video, dll.). Dengan menyepadukan dengan model semantik visual terkemuka, konteks rentas modal yang kaya boleh diperkenalkan ke dalam proses penjanaan RAG, menambah dimensi baharu pada output. Tidak syak lagi bahawa ini akan membuka jalan untuk pelbagai aplikasi inovatif.

Sebagai tambahan kepada fungsi pengurusan data teras, LlamaIndex juga memfokuskan pada amalan kejuruteraan pembangunan aplikasi RAG. Ia menyediakan ciri lanjutan seperti pertanyaan selari dan sokongan pengkomputeran teragih berasaskan Dask, yang meningkatkan kecekapan pemprosesan data dengan ketara dan meletakkan asas untuk pengeluaran berskala besar.

Dari perspektif seni bina, LlamaIndex mematuhi konsep reka bentuk modular dan boleh skala. Sistem pemalam yang fleksibel membolehkan pembangun memperkenalkan pemuat data tersuai, pembahagi teks, indeks vektor dan modul lain dengan mudah untuk memenuhi keperluan diperibadikan sepenuhnya dalam senario yang berbeza.

Selain itu, penyepaduan sempurna ekologi sumber terbuka juga merupakan kelebihan unik LlamaIndex. Ia mempunyai sokongan bersepadu yang luar biasa untuk alatan dan rangka kerja popular seperti Wajah Memeluk, FAISS, dsb., yang membolehkan pengguna memanfaatkan keupayaan AI/ML termaju tanpa sebarang halangan untuk membantu membina produk inovatif dengan cekap.

Sebagai alat peringkat profesional yang berakar umbi dalam aplikasi RAG, LlamaIndex telah menjadi pelengkap yang sangat baik kepada rangka kerja umum seperti Langchain. Pembangun kini boleh bebas memilih antara laluan LlamaIndex yang cekap dan dioptimumkan dan paradigma umum dan fleksibel Langchain berdasarkan keperluan sebenar, dengan itu memaksimumkan kecekapan pembangunan dan kualiti produk.

Sudah tentu, LlamaIndex ialah projek yang muda dan dinamik, dan masih terdapat banyak ruang untuk penambahbaikan dan pembangunan. Contohnya, mempertingkatkan lagi keupayaan pemodelan bagi senario yang lebih kompleks, menyediakan cadangan pengoptimuman automatik yang lebih pintar, dan mengukuhkan pengumpulan amalan terbaik dan kes penggunaan rujukan semuanya akan menjadi arahan utama pada masa hadapan.

Pada masa yang sama, LlamaIndex akan terus mengikuti perkembangan terkini dalam seni bina LLM dan RAG, dan menyepadukan model baru muncul dan inovasi paradigma untuk mengekalkan piawaian peneraju industri dalam semua dimensi. Semua ini tidak akan dapat dilakukan tanpa pelaburan jangka panjang dan sokongan berterusan komuniti pembangun yang aktif, rakan kongsi korporat teratas dan rakan sekerja dalam komuniti penyelidikan saintifik.

2.Flowise AI

Dalam bidang pembangunan aplikasi LLM (model bahasa berskala besar), menurunkan ambang dan meningkatkan kecekapan sentiasa menjadi aspirasi biasa industri. Sebagai alat pembinaan aplikasi LLM sumber terbuka dan tanpa kod, Flowise menjadi pengamal yang berkuasa dalam usaha ini.

Berbeza daripada rangka kerja pembangunan pengekodan tradisional, antara muka visual drag-and-drop inovatif Flowise adalah sorotan terbesarnya. Pembangun tidak perlu menguasai bahasa pengaturcaraan secara mendalam Mereka hanya perlu menyeret dan melepaskan modul komponen pratetap pada antara muka, dan melalui konfigurasi dan pendawaian parameter mudah, mereka boleh membina aplikasi LLM yang berkuasa dengan mudah. Paradigma pembangunan baharu ini telah merendahkan halangan kemasukan dengan ketara, menjadikan pembangunan aplikasi LLM bukan lagi domain eksklusif pengekod pengguna juga boleh mengekspresikan kreativiti mereka dan merealisasikan keperluan automasi.

一文读懂常见的几种 LangChain 替代品

Aliran Rujukan AI Flowise (Sumber: Flowise)

Apa yang lebih patut disebut ialah Flowise bukanlah alat kod rendah yang mudah, tetapi disepadukan secara mendalam dengan LangChain, rangka kerja teratas industri, di peringkat kernel. Ini bermakna Flowise menyokong semua fungsi teras secara asli seperti orkestrasi LLM LangChain yang berkuasa, aplikasi berantai dan peningkatan data, dan mendedahkannya sepenuhnya kepada antara muka bebas kod melalui komponen seret dan lepas, memastikan fleksibiliti dan pengembangan pembangunan aplikasi. kebolehan. Sama ada anda sedang membina sistem menjawab soalan mudah atau proses analisis berbilang modal yang kompleks, Flowise boleh memenuhi keperluan anda sepenuhnya.

Selain kefungsiannya yang komprehensif, satu lagi kelebihan Flowise yang luar biasa ialah penyepaduan yang lancar dengan ekosistem sedia ada. Sebagai projek sumber terbuka yang benar-benar, Flowise menyediakan sokongan luar biasa untuk model LLM arus perdana dan rantaian alat, membolehkan pembangun menggunakan keupayaan teknikal ini tanpa sebarang halangan dan membina aplikasi unik dan inovatif dengan mudah mengikut peredaran masa.

Sebagai contoh, Flowise serasi dengan lancar dengan model LLM arus perdana seperti Anthropic, OpenAI, Cohere, dll. Pengguna boleh memanggil keupayaan bahasa terkini dan paling berkuasa dengan konfigurasi mudah pada masa yang sama, ia juga serasi dengan ekologi penyepaduan data seperti Pandas, SQL, Web API, dll. Sokongan asli juga membenarkan aplikasi mengakses sumber data heterogen yang kaya dengan bebas.

Perkara yang paling menarik ialah Flowise bukanlah sistem tertutup, tetapi menyediakan API terbuka dan mekanisme integrasi terbenam. Pembangun boleh dengan mudah menyepadukan aplikasi Flowise ke dalam mana-mana persekitaran produk seperti tapak web, apl, perisian desktop, dll., dan menerima permintaan tersuai daripada semua pihak untuk mencapai pengalaman gelung tertutup hujung ke hujung.

Boleh dikatakan bahawa Flowise, dengan bantuan teras teknikal LangChain yang berkuasa, seni bina visualnya yang fleksibel dan integrasi yang lancar dengan ekosistem, telah menjadi pautan berkuasa yang menghubungkan LLM dengan pengguna akhir dan mempromosikan proses pendemokrasian LLM. Mana-mana individu atau perusahaan yang memerlukan boleh membina dan menggunakan aplikasi pintar mereka sendiri dengan satu klik pada platform Flowis dan menikmati peningkatan produktiviti yang dibawa oleh AI.

3.AutoChain

Sebagai rangka kerja yang ringan dan boleh diperluaskan, AutoChain menggunakan pengalaman pendahulu seperti LangChain dan AutoGPT untuk menyediakan pembangun pengalaman membina ejen pintar perbualan yang lebih cekap dan fleksibel.

from autochain.agent.conversational_agent.conversational_agent import (ConversationalAgent,)from autochain.chain.chain import Chainfrom autochain.memory.buffer_memory import BufferMemoryfrom autochain.models.chat_openai import ChatOpenAIllm = ChatOpenAI(temperature=0)memory = BufferMemory()agent = ConversationalAgent.from_llm_and_tools(llm=llm)chain = Chain(agent=agent, memory=memory)user_query = "Write me a poem about AI"print(f">> User: {user_query}")print(f""">>> Assistant: {chain.run(user_query)["message"]}""")
>> User: Write me a poem about AIPlanningPlanning output: {'thoughts': {'plan': "Based on the user's request for a poem about AI, I can use a tool to generate a poem or write one myself.", 'need_use_tool': "Yes, I can use the 'Poem Generator' tool to generate a poem about AI."}, 'tool': {'name': 'Poem Generator', 'args': {'topic': 'AI'}}, 'response': "Sure, I can generate a poem about AI for you. Here it is:\n\nIn the world of AI, \nWhere machines learn and try, \nWe see a future bright, \nWhere technology takes flight. \nFrom self-driving cars, \nTo robots on Mars, \nAI is changing the game, \nAnd we'll never be the same. \nSo let's embrace this new age, \nAnd see where it takes us on this stage. \nFor AI is here to stay, \nAnd it's only just begun its play."}Plan to take action 'Poem Generator'Deciding if need clarificationPlanningPlanning output: {'thoughts': {'plan': "Since the tool 'Poem Generator' is not supported for the input 'AI', I will try to have a helpful conversation with the user.", 'need_use_tool': 'No'}, 'tool': {'name': '', 'args': {}}, 'response': "Sure, I'd love to! Here's a poem about AI:\n\nArtificial intelligence, a marvel of our time,\nA creation of man, a wonder so divine.\nIt learns and adapts, with each passing day,\nA true reflection of our own human way.\nIt can think and reason, and even dream,\nA world of possibilities, or so it seems.\nBut with great power, comes great responsibility,\nTo use it for good, and not for hostility.\nSo let us embrace, this gift of technology,\nAnd use it to build, a better society."}>>> Assistant:Sure, I'd love to! Here's a poem about AI:Artificial intelligence, a marvel of our time,A creation of man, a wonder so divine.It learns and adapts, with each passing day,A true reflection of our own human way.It can think and reason, and even dream,A world of possibilities, or so it seems.But with great power, comes great responsibility,To use it for good, and not for hostility.So let us embrace, this gift of technology,And use it to build, a better society

Falsafah reka bentuk teras AutoChain boleh diringkaskan sebagai "kesederhanaan, penyesuaian dan automasi". Butirannya adalah seperti berikut:

(1) Mudah

Berbanding dengan rangka kerja yang besar seperti LangChain, AutoChain sengaja mengejar pemudahan dalam konsep dan seni bina untuk mengurangkan kos pembelajaran dan penggunaan pembangun sebanyak mungkin. Ia mengabstraksi proses pembangunan aplikasi LLM yang paling asas dan menyediakan pengguna laluan pembangunan yang jelas melalui satu siri blok binaan yang mudah difahami.

(2) Penyesuaian

AutoChain menyedari bahawa senario aplikasi yang dihadapi oleh setiap pembangun adalah unik. Oleh itu, ia menyediakan pengguna dengan keupayaan penyesuaian yang tiada tandingan, membolehkan mereka membina ejen pintar yang memenuhi keperluan khusus melalui alat boleh pasang, sumber data dan modul proses membuat keputusan. Konsep ini menunjukkan minda terbuka AutoChain untuk "menerima pembezaan".

(3) Automasi

Sebagai rangka kerja untuk sistem dialog, AutoChain memahami kepentingan simulasi senario dan penilaian automatik. Melalui enjin simulasi dialog terbina dalam, pembangun boleh menilai secara cekap dan automatik prestasi versi ejen yang berbeza dalam pelbagai senario interaksi manusia-komputer untuk mengoptimumkan dan mengulang secara berterusan. Keupayaan inovasi ini sudah pasti akan meningkatkan kecekapan pembangunan.

Berdasarkan ciri "tiga mudah" ini, tidak sukar bagi kami untuk menemui daya tarikan unik AutoChain:

  • Untuk pemula yang baru bermula dalam pembangunan aplikasi LLM, keluk pembelajaran lancar AutoChain akan menjadi permulaan yang paling mesra , menjadikan mereka Dapat mula mencipta ejen perbualan mudah dalam masa yang sesingkat mungkin.
  • Bagi pengguna LangChain yang berpengalaman, banyak konsep AutoChain adalah serupa tetapi lebih diperkemas, jadi ia mudah difahami dan dipindahkan, serta boleh membantu mereka membina dan bereksperimen dengan cepat dengan sistem dialog tersuai.
  • Untuk penyelidik dan perintis AI perbualan, AutoChain menyediakan medan ujian yang bersih di mana mereka boleh menyesuaikan dan mengembangkan tanpa had untuk membina paradigma inovatif yang unik dan tersendiri.

Rujukan:

  • [1] https://flowiseai.com/
  • [2] https://autochain.forethought.ai/examples/
  • [3] https://www.llamaindex.ai /

Atas ialah kandungan terperinci Baca artikel ini untuk memahami beberapa alternatif LangChain biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn