برنامه نویسی

LangChain + هدف: ساخت و اشکال زدایی سیستم های هوش مصنوعی آسان شد!

ظهور سیستم های پیچیده هوش مصنوعی

با معرفی ChatGPT و مدل های زبان بزرگ (LLM) مانند GPT3.5-turbo و GPT4، پیشرفت هوش مصنوعی سر به فلک کشیده است. این مدل‌ها هزاران برنامه مبتنی بر هوش مصنوعی را فعال کرده‌اند و قدرت LLM را به موارد استفاده در دنیای واقعی می‌آورند.

اما قدرت واقعی هوش مصنوعی زمانی حاصل می شود که ما LLM ها را با ابزارها، اسکریپت ها و منابع محاسباتی دیگر ترکیب کنیم تا سیستم های هوش مصنوعی بسیار قدرتمندتری نسبت به مدل های مستقل ایجاد کنیم.

همانطور که سیستم‌های هوش مصنوعی پیچیده‌تر می‌شوند، توانایی اشکال‌زدایی مؤثر و نظارت بر آنها بسیار مهم می‌شود. بدون ردیابی و اشکال زدایی جامع، بهبود، نظارت و درک این سیستم ها بسیار چالش برانگیز می شود.

در این مقاله، نحوه استفاده از Aim برای ردیابی آسان سیستم‌های AI پیچیده ساخته شده با LangChain را بررسی خواهیم کرد. به طور خاص، ما به نحوه انجام موارد زیر خواهیم پرداخت:

  • ردیابی تمام ورودی ها و خروجی های زنجیره ها،
  • تجسم و کشف زنجیره های فردی،
  • چندین زنجیره را در کنار هم مقایسه کنید.

LangChain: ساختن سیستم های هوش مصنوعی با LLM

LangChain کتابخانه ای است که برای ایجاد امکان توسعه برنامه های کاربردی قدرتمند با ادغام LLM با سایر منابع محاسباتی یا منابع دانش طراحی شده است. این فرآیند ایجاد برنامه‌های کاربردی مانند سیستم‌های پاسخگویی به سؤال، ربات‌های گفتگو و عوامل هوشمند را ساده می‌کند.

این یک رابط یکپارچه برای مدیریت و بهینه‌سازی اعلان‌ها، ایجاد دنباله‌ای از تماس‌ها با LLM یا سایر ابزارها (زنجیره)، تعامل با منابع داده خارجی، تصمیم‌گیری و انجام اقدامات ارائه می‌کند. LangChain به توسعه دهندگان این امکان را می دهد تا با استفاده حداکثری از LLM ها و اتصال آسان آنها با ابزارهای دیگر، برنامه های پیشرفته و پیشرفته بسازند!

هدف: ارتقاء تجربه اشکال زدایی برای سیستم های هوش مصنوعی

نظارت و اشکال‌زدایی سیستم‌های هوش مصنوعی به چیزی بیش از اسکن کردن گزارش‌های خروجی در ترمینال نیاز دارد.

معرفی هدف!

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

نکته مهم این است که Aim به پرس و جو کردن تمام ابرداده های ردیابی شده به صورت برنامه ای کمک می کند و مجهز به یک لایه UI / مشاهده پذیری قدرتمند برای ابرداده هوش مصنوعی است.

به این ترتیب، Aim اشکال زدایی، نظارت، مقایسه اجراهای مختلف را آسان می کند.

کنترل نهایی را با Aim تجربه کنید!

هدف را در GitHub بررسی کنید: github.com/aimhubio/aim

هدف - کاوشگر متن

هدف + LangChain = 🚀

هدف + LangChain

با انتشار LangChain نسخه 0.0.127، اکنون می توان عوامل و زنجیره های LangChain را با Aim تنها با استفاده از چند خط کد ردیابی کرد! تنها کاری که باید انجام دهید این است که پاسخ تماس Aim را پیکربندی کنید و اجراهای خود را طبق معمول اجرا کنید.

Aim بقیه کارها را با ردیابی ابزارها و ورودی ها و خروجی های LLM ها، اقدامات عامل ها و نتایج زنجیره ای برای شما انجام می دهد. همچنین دستورات و آرگومان های CLI، اطلاعات سیستم و استفاده از منابع، متغیرهای env، اطلاعات git و خروجی های ترمینال را ردیابی می کند.

بیایید به جلو حرکت کنیم و یک عامل با LangChain بسازیم، Aim را برای ردیابی اعدام‌ها پیکربندی کنیم، و یک سفر سریع در اطراف رابط کاربری داشته باشیم تا ببینیم Aim چگونه می‌تواند به اشکال‌زدایی و نظارت کمک کند.

مثال عملی: ساخت یک عامل هوش مصنوعی چند کاره

تنظیم عامل و پاسخ تماس هدف
بیایید یک عامل مجهز به دو ابزار بسازیم:

  • ابزار SerpApi برای دسترسی به نتایج جستجوی گوگل،
  • ابزار ریاضی LLM برای انجام عملیات ریاضی مورد نیاز.

در این مثال خاص، ما از نماینده می خواهیم که دوست دختر لئوناردو دی کاپریو را کشف کند و سن فعلی او را به توان 0.43 محاسبه کند:

tools = load_tools(["serpapi", "llm-math"], llm=llm, callback_manager=manager)
agent = initialize_agent(
    tools,
    llm,
    agent="zero-shot-react-description",
    callback_manager=manager,
    verbose=True,
)
agent.run(
    "Who is Leo DiCaprio's girlfriend? What is her current age raised to the 0.43 power?"
)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

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

from langchain.callbacks import AimCallbackHandler

aim_callback = AimCallbackHandler(
    repo=".",
    experiment_name="scenario 1: OpenAI LLM",
)

aim_callback.flush_tracker(langchain_asset=agent, reset=False, finish=True)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Aim is entirely open-source and self-hosted, which means your data remains private and isn't shared with third parties.

اسکریپت کامل و نمونه‌های بیشتر را در اسناد رسمی LangChain بیابید: https://python.langchain.com/en/latest/ecosystem/aim_tracking.html

اجرای عامل و اجرای Aim

قبل از اجرای agent، با اجرای دستور زیر مطمئن شوید که Aim نصب شده است:

pip install aim
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون، بیایید چندین اجرا را اجرا کنیم و رابط کاربری Aim را برای تجسم و کاوش نتایج اجرا کنیم:

اسکریپت را با اجرای python example.py اجرا کنید،
سپس، UI را با دستور aim up شروع کنید.
با راه‌اندازی Aim، می‌توانید بدون زحمت در جزئیات هر اجرا غوطه‌ور شوید، نتایج را مقایسه کنید و بینش‌هایی به دست آورید که به شما در رفع اشکال و تکرار در زنجیره‌های خود کمک می‌کند.

کاوش اعدام ها از طریق Aim

صفحه نخست

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

صفحه نخست

شیرجه عمیق در یک اجرا
هنگام پیمایش به یک صفحه اجرای جداگانه، یک نمای کلی از اطلاعات سیستم و جزئیات اجرا خواهید دید. در اینجا می توانید دسترسی داشته باشید:

  • دستور CLI و آرگومان ها،
  • متغیرهای محیطی،
  • بسته ها،
  • اطلاعات Git،
  • استفاده از منابع سیستم،
  • و سایر اطلاعات مرتبط در مورد یک اعدام فردی.

صفحه اجرا

Aim به طور خودکار خروجی های ترمینال را در حین اجرا می گیرد. به این گزارش‌ها در برگه «Logs» دسترسی داشته باشید تا به راحتی پیشرفت سیستم هوش مصنوعی خود را پیگیری کنید و مشکلات را شناسایی کنید.

برگه سیاههها

در برگه «متن»، می‌توانید عملکردهای داخلی یک زنجیره، از جمله اقدامات عامل، ابزارها و ورودی‌ها و خروجی‌های LLM را بررسی کنید. این نمای عمیق به شما امکان می دهد تا ابرداده های جمع آوری شده در هر مرحله از اجرا را مرور کنید.

برگه متن

با Aim’s Text Explorer، می‌توانید بدون دردسر چندین اجرا را مقایسه کنید و اقدامات، ورودی‌ها و خروجی‌های آنها را در کنار هم بررسی کنید. این کمک می کند تا الگوها یا اختلافات را شناسایی کنید.

جستجوگر متن
به عنوان مثال، در مثال داده شده، دو اعدام پاسخ دادند: “کامیلا مورونه دوست دختر لئو دی کاپریو است و سن فعلی او به توان 0.43 3.8507291225496925 است.” با این حال، یک اعدام دیگر پاسخ “3.991298452658078” را برگرداند. این اختلاف به این دلیل رخ داد که در دو اعدام اول به اشتباه سن کامیلا مورونه به جای ۲۵ سال ۲۳ سال بود.

با Text Explorer، می‌توانید به راحتی نتایج اجراهای مختلف را مقایسه و تجزیه و تحلیل کنید و برای تنظیم بیشتر عوامل و درخواست‌ها تصمیم بگیرید.

بسته بندی

در نتیجه، با پیچیده‌تر و قدرتمندتر شدن سیستم‌های هوش مصنوعی، نیاز به ابزارهای ردیابی و اشکال‌زدایی جامع به طور فزاینده‌ای ضروری می‌شود. LangChain، هنگامی که با Aim ترکیب می‌شود، راه‌حلی قدرتمند برای ساخت و نظارت بر برنامه‌های کاربردی پیشرفته هوش مصنوعی ارائه می‌کند. با دنبال کردن مثال‌های عملی در این پست وبلاگ، می‌توانید به طور موثر سیستم‌های مبتنی بر LangChain خود را نظارت و اشکال‌زدایی کنید!

بیشتر بدانید

اسناد ادغام هدف + LangChain را در اینجا بررسی کنید.

مخزن LangChain: https://github.com/hwchase17/langchain

مخزن هدف: https://github.com/aimhubio/aim

اگر سؤالی دارید، به انجمن Aim بپیوندید، بازخورد خود را به اشتراک بگذارید، مسائل را برای ویژگی‌ها و اشکالات جدید باز کنید. خیلی خوش آمدید! 🙌

اگر هدف را مفید می‌دانید، یک ⭐️ را در GitHub بگذارید.

این مقاله در ابتدا توسط گور آراکلیان در وبلاگ هدف منتشر شده است.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا