۶ اردیبهشت ۱۴۰۴

Techboy

اخبار و اطلاعات روز تکنولوژی

۱۰ ابزار و چارچوب مبتنی بر جاوا برای AI تولیدی

هیچ دلیلی وجود ندارد که توسعه دهندگان پایتون باید همه سرگرم کننده باشند. در اینجا 10 ابزار محبوب مبتنی بر جاوا برای ادغام هوش مصنوعی در برنامه های جاوا و گردش کار شما وجود دارد.

هیچ دلیلی وجود ندارد که توسعه دهندگان پایتون باید همه سرگرم کننده باشند. در اینجا ۱۰ ابزار محبوب مبتنی بر جاوا برای ادغام هوش مصنوعی در برنامه های جاوا و گردش کار شما وجود دارد.

جاوا اولین زبانی نیست که بیشتر برنامه نویسان فکر می کنند وقتی پروژه هایی را شروع می کنند که شامل یادگیری ماشین (ml). بسیاری از آنها ابتدا به python به دلیل تعداد زیادی از چارچوب های مبتنی بر پایتون و ابزارهای AI ، ML/Science.

اما جاوا همچنین در AI ، یادگیری ماشین و تولید کننده نسل AI انقلاب است. این هنوز هم برای بسیاری از توسعه دهندگان که از مزایای فنی آن و اکوسیستم بزرگ قدردانی می کنند ، یک زبان انتخاب اول است. کسانی که دارای یک غریزه کمربند و تعلیق هستند مانند دانستن هر عنصر داده از نوع خوبی برخوردار هستند. ماشین مجازی آنقدر سریع و خوب است که زبان های دیگر آن را تحریک می کنند. حتی برخی از دوستداران پایتون کد خود را با Jython اجرا می کنند تا از سرعت JVM لذت ببرند.

بین آنها ، Sun و Oracle یک جریان ۳۰ ساله نوآوری را ارائه داده اند ، و Oracle و OpenJDK پروژه ادامه ویژگی های جدید را اضافه می کند. تمرکز سنتی ، آهسته اما پایدار جاوا بر ثبات و عملکرد به این معنی است که گزینه های خوبی برای نزدیک شدن به هوش مصنوعی و یادگیری ماشین بدون ترک ایمنی پیله جاوا به خوبی وجود دارد.

همانطور که این لیست نشان می دهد ، گزینه های خوبی برای تیم های مستقر در جاوا وجود دارد که نیاز به ادغام هوش مصنوعی در برنامه های کاربردی و گردش کار دارند. هیچ دلیلی وجود ندارد که رمزگذارهای پایتون باید همه سرگرم کننده باشند.

بهار ai

با گذشت سالها ، بهار پایه و اساس محترمانه ای را برای ایجاد هر چیزی از برنامه های وب به microservice ارائه داده است. اکنون بهار ai هدف این است که با ارائه مجموعه ای از محیط ، هر نوع AI را در این محیط به وجود آورد که به این شکل از AI در این محیط ارائه می دهد و به این شکل می توان از این طریق استفاده کرد.

توسعه دهندگان که می خواهند با ارائه دهندگان اصلی مانند Anthropic و OpenAI در تعامل باشند ، می توانند از انتزاع های بهاری AI استفاده کنند تا به سرعت مدل ها را برای انجام وظایف مانند تکمیل گپ یا اعتدال ادغام کنند. تمام ارائه دهندگان اصلی مدل ، چه از منبع تجاری و چه از منبع باز ، پشتیبانی می شوند.

توسعه دهندگان که می خواهند داده ها را به صورت محلی در یک پایگاه داده وکتور می توانند مستقیماً به هر یک از دوزن یا گزینه های مشابه مانند Milvus یا Pinecone وصل کنند. بهار AI مارشال داده ها را به داخل و خارج از تعبیه ها می رساند تا توسعه دهندگان بتوانند با اشیاء جاوا کار کنند در حالی که بانک اطلاعاتی بردارهای خالص را ذخیره می کند.

AI بهار همچنین دارای ویژگی هایی برای کارهای مختلف است که به سرعت در توسعه برنامه ها استاندارد می شوند. مکالمات گپ می تواند به طور خودکار برای بازیابی بعدی ذخیره شود. an ویژگی ارزیابی مدل AI از مدل های متا ارزیابی برای کاهش یا حداقل توهم پرچم پشتیبانی می کند.

langchain4j

بسیاری از برنامه ها می خواهند پایگاه داده های بردار و LLM ها را در یک پورتال ادغام کنند. اغلب اوقات ، یک LLM کافی نیست. بگویید یک مدل AI مولد متن را تولید می کند و سپس یک تولید تصویر LLM آن را نشان می دهد. در آغاز و انتهای خطوط لوله ، ساعتهای AI اعتدال برای اطمینان از اینکه هیچ کس توهین نشده است.

langchain4j یک نسخه جاوا-اول از langchain ، یک چارچوب محبوب در جاوا اسکریپت و اجتماعات پایتون. این کد به عنوان یک رابطه برای متحد کردن تمام بخش های مختلفی که توسعه دهندگان برای ادغام نیاز دارند عمل می کند. ده ها از مدل ها و داده های مختلف همراه با چند انتزاع استاندارد و قدرتمند همراه هستند.

deeplearning4j

توسعه دهندگان جاوا که در حال مقابله با یک پروژه طبقه بندی AI هستند می توانند به eclipse deeplearning4j (dl4j) ecosystem ، که از طیف گسترده ای از الگوریتم های یادگیری ماشین پشتیبانی می کند ، روی آورند. در داده های خام Goes و Out یک مدل کاملاً تنظیم شده آماده تصمیم گیری است.

هسته اصلی سیستم libnd4j ، یک کتابخانه C ++ است که اجرای سریع دستگاه اصلی اولیه یادگیری را تضمین می کند. این توسط nd4j و samediff ، دو بسته گرافیک ، numpy و tensorflow / pytorch عملیاتی که می توانند برای اجرای الگوریتم یادگیری دستگاه پیوند خورده باشند. جریان داده ها توسط Apache Spark .

تعریف شده است.

در حالی که چارچوب کلی توسط جاوا متحد شده است ، بسیاری از قطعات متحرک Deeplearning4J ممکن است به زبانی متفاوت نوشته شود. این خط لوله به گونه ای طراحی شده است که در بسیاری از زبانها که می توانند مستقیماً با JVM مانند Kotlin یا Scala کار کنند ، برای آزمایش باز باشد. الگوریتم های پایتون را می توان مستقیماً در Python4j اجرا کرد.

این پروژه منبع باز است و مستندات آن با که قدرت اجزای آن را باز می کند.

apache spark mlib

داده های دانشمندان که از طریق مجموعه های بزرگ مشکل کار می کنند ، مدت هاست که به Spark تبدیل شده اند ، یک پروژه Apache که برای پشتیبانی از تجزیه و تحلیل داده های در مقیاس بزرگ طراحی شده است. mlib یک لایه اضافی است که برای الگوریتم های یادگیری ماشین بهینه شده است.

داده ها را می توان در هر مکان ذخیره سازی به سبک Hadoop ذخیره کرد. این الگوریتم ها را می توان در هر یک از زبانهای اصلی کدگذاری کرد. java ، scala ، یا هر یک از زبانهای jvm-focused یک ماده طبیعی است. اما کاربران Spark همچنین کد چسب را برای استفاده از Python یا R اضافه کرده اند زیرا برای تجزیه و تحلیل داده ها بسیار محبوب هستند.

جنبه مهمی از آنچه MLIB را جذاب می کند ، روال های از پیش ساخته آن برای بسیاری از الگوریتم های یادگیری ماشین کلاسیک و تجزیه و تحلیل داده ها – درختان تشخیص ، خوشه بندی ، حداقل مربعات متناوب و ده ها کلاس دیگر است. محاسبات بزرگ مانند تجزیه ارزش های مفرد ماتریس های عظیم را می توان در چندین دستگاه پخش کرد تا همه چیز را سرعت بخشد. بسیاری از توسعه دهندگان به هیچ وجه نیازی به اجرای کد زیادی ندارند.

Spark بقیه را با خط لوله ای که برای فرآیندهای تکراری مهندسی شده است ، کنترل می کند. توسعه دهندگان MLIB روی سرعت کافی متمرکز شده اند تا لاف بزنند که اغلب ۱۰۰ برابر سریعتر از MapReduce است. این جذابیت واقعی است.

testcontainers

بخش اعظم اکوسیستم LLM در داخل ظروف Docker اجرا می شود ، بنابراین ابزاری که به جمع کردن همه آنها کمک می کند مفید باشد. testcontainers یک کتابخانه منبع باز است که شروع می شود ، خاموش می شود و IO و کانال های دیگر را برای ظروف شما مدیریت می کند. این یکی از ساده ترین راه ها برای ادغام LLM ها با پشته شماست. و اگر به یک پایگاه داده ، اتوبوس سرویس ، کارگزار پیام یا هر مؤلفه مشترک دیگری نیاز دارید ، TestContainers بسیاری از ماژول های از پیش تعریف شده آماده آتش سوزی آنها هستند.

graalpy

بله ، به نظر می رسد چیزی برای کد پایتون است ، و همینطور است. graalpy یک نسخه تعبیه شده از python3 است که بهینه شده است تا بتواند کد پایتون را در JVM آسانتر کند. برنامه نویسان جاوا می توانند از همه کتابخانه ها و ابزارهای مختلف پایتون استفاده کنند. Graalpy ، که ادعا می کند سریعترین سرعت اجرای پایتون در داخل JVM ، بخشی از بزرگتر grallvm مجموعه پروژه هایی است که برای استقرار و نگهداری پشته ها در ماشین های مجازی طراحی شده است.

apache opennlp

یادگیری از متن به پیش پردازش زیادی نیاز دارد. چنین متنی باید از دستورات حروفچینی خارجی تمیز شود ، در بخش ها سازماندهی شده و به تکه های کوچک جدا شود تا الگوریتم ها بتوانند معنا را از الگوهای استخراج کنند. این جایی است که Apache opennlp مراحل ، با بسیاری از الگوریتم های اساسی برای ساختن یک پایه محکم برای یادگیری ماشین.

ابزارها از تقسیم بندی سطح پایین و نشانه گذاری تا تجزیه سطح بالاتر ، گام را اجرا می کنند. موارد اضافی مانند تشخیص زبان یا استخراج نامگذاری شده در صورت لزوم آماده استقرار هستند. مدل هایی برای بیش از ۳۲ زبان در پرونده های JAR OpenNLP گنجانده شده است ، یا می توانید آموزش خود را شروع کنید.

این ابزار با اکوسیستم جاوا کاملاً یکپارچه شده است. پروژه هایی مانند UIMA یا SOLR در حال استفاده از OpenNLP برای باز کردن الگوهای در متن طبیعی زبان هستند. ادغام با maven و gradle شروع کار ساده است.

neo4j

هنگامی که برنامه خواستار rag datastore ، neo4j یک پایگاه داده نمودار است که می تواند بار کار را تحمل کند. NEO4J در حال حاضر از برنامه های مختلف نمودار مانند تشخیص کلاهبرداری یا مدیریت شبکه های اجتماعی پشتیبانی می کند. بنیاد جامد جاوا ، ادغام هر دو برنامه RAG و پایگاه داده های نمودار با پشته های جاوا را در یک داده واحد و یکپارچه که آن را گرافراگ .

استنفورد کورنلپ

استنفورد کورنلپ ، از گروه استنفورد NLP ، مجموعه دیگری از روال زبان طبیعی است که بیشتر کارها را از هم جدا می کند ، بنابراین می توان آن را به یک دستگاه یادگیری آلگوریتم تغذیه کرد. این کار را از تقسیم بندی گرفته تا عادی کردن قسمت های استاندارد گفتار مانند اعداد یا تاریخ انجام می دهد.

توسعه دهندگان به دلیل دقت بالاتر و گزینه های از پیش ساخته شده ، به CorenLP نگاه می کنند. به عنوان مثال ، مدل هایی برای تجزیه و تحلیل احساسات یا تشخیص هسته ، آماده رفتن هستند. الگوریتم ها و استراتژی های پیچیده تر پیچیده تر با ویژگی های پیشرفته کتابخانه آسانتر هستند.

بسته بندی با Gradle یا Maven به راحتی درج می شود. مدل هایی برای نه زبان اصلی آماده رفتن هستند.

jllama

گاهی اوقات منطقی است که مدل خود را در JVM اجرا کنید که کنترل و نظارت کنید. شاید سخت افزار ارزان تر باشد. شاید حریم خصوصی و امنیت ساده تر باشد. شلیک LLM به صورت محلی می تواند مزایای بسیاری در مورد اعتماد به برخی از API های دور در گوشه ای دور از ابر داشته باشد.

jllama بسیاری از محبوب ترین مدل های منبع باز را بارگیری کرده و استنتاج با آنها را انجام می دهد. اگر درخواست شما نیاز به گپ زدن ، تکمیل سریع یا API سازگار با OpenAI داشته باشد ، Jllama پاسخی را ارائه می دهد. این کد همچنین هر تعداد را بارگیری و راه اندازی می کند مانند Gemma ، Llama ، Qwen یا گرانیت.

کد برخی از جدیدترین ویژگی های جاوا مانند API بردار و پسوندهای آگاه SIMD را که می تواند اعدام های موازی را برای استنتاج LLM سرعت بخشد ، اعمال می کند. این کد همچنین بار کار را به قسمت هایی که می توانند در اطراف منابع محاسباتی موجود در یک خوشه توزیع شوند تقسیم می کند.