یک لاما با لب تاب خود با یک هوش مصنوعی کار می کند

هوش مصنوعی رایگان و بدون اینترنت با ollama

ollama یک پروژه متن باز (Open Source) با زبان برنامه نویسی Golang نوشته شده است که برای اجرای مدل های زبانی بزرگ و پیچیده هوش مصنوعی بر روی سیستم محلی یا کامپیوتر شخصی هست. شاید بهتره بگیم نقش آن ایجاد پل میان مدل زبانی با رابط های ارتباطی مختلف می باشد که بتوان به اشکال شخصی سازی شده و منعطف از آن استفاده کرد.

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

به طور خلاصه آنچه ollama ارائه می دهد:

  • اجرا روی سیستم های محلی: مدل های زبانی هوش مصنوعی را روی دستگاه ها و سیستم عامل های مختلف بالا بیارید و از منابع خودتون با حریم شخصی خیلی بیشتر استفاده کنید.
  • متن باز بودن: به شما این امکان رو میده شخصی سازی و سفارشی سازی بهتری را داشته باشد.
  • ساده سازی کردن: روند دانلود و نصب و اجرا را ساده می سازه و نیاز به نصب لایبراری و پکیچ دیگر نخواهید داشت.
  • منعطف بودن: به شما این امکان رو میده با روش های مختلفی مثل API یا CLI با مدل خود ارتباط بگیرید.

ollama چطور کار می کند ؟

ollama با ایجاد یک محیط کانتینری شده (containerized environment) برای هر مدل هوش مصنوعی که قصد دارید اجرا کنید، عمل می کند. این محیط تمامی اجزای مورد نیاز برای اجرای مدل را در خود جای می‌دهد. این اجزا شامل موارد زیر هستند:

  1. وابستگی‌ها (Dependencies): کتابخانه‌های نرم‌افزاری و ابزارهایی که برای عملکرد مدل ضروری هستند.
  2. وزن‌های مدل (Model Weights): داده‌های اصلی که قابلیت‌های مدل را تعیین می‌کنند.
  3. فایل‌های پیکربندی (Configuration Files): تنظیماتی که مشخص می‌کنند مدل چگونه کار کند.

با کانتینری کردن این اجزا، Ollama یک محیط منسجم و ایزوله را برای هر مدل، صرف نظر از پیکربندی سیستم شما، تضمین می کند. این کار استقرار را ساده می کند و از تضادهای احتمالی با سایر نرم افزارهای موجود در دستگاه شما جلوگیری می کند.

در چه چیز هایی از ollama می توان استفاده کرد ؟

از آنجایی که ollama به شما API می دهد می توانید از آن برای ساخت نرم افزار ها و ابزار های متخلف استفاده کرد و دست شما باز است. برای مثال شما می توانید:

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

چگونه ollama را نصب کنیم ؟

ollama برای سه سیستم عامل مک (macOS)، لینوکس (Linux) و ویندوز (Windows) قابل نصب است.

برای دانلود و نصب ollama شما باید وارد سایت رسمی یا صفحه گیت هاب (Github) بشید و نسخه خودتون رو دانلود کنید. نصب این برنامه بسیار راحت می باشد.

تصویر صفحه اول سایت ollama.com
تصویر صفحه اول سایت ollama.com

اجرای مدل ها

بعد از دانلود و نصب ollama شما می توانید مدل های متفاوتی که قابلیت پشتیبانی GGUF (فرمت ذخیره سازی مدل) می باشد را از لیست مدل های ollama یا از Huggingface با یک دستور ساده دانلود و اجرا کنید.

دانلود مدل

برای دانلود مدل از دستور زیر استفاده کنید. بسته به سرعت اینترنت شما و حجم فایل مدل می تواند زمان بیشتری برای دانلود صرف کنید؛ که در این مثال من نسخه 3B پارمتری مدل زبانی llama نسخه ۳.۲ که توسط شرکت Meta (یا همان فیسبوک قدیم) ساخته شده استفاده می کنم.

ollama pull llama3.2:3b
ارتباط از طریق CLI

یکی از روش هایی که ollama برای ارتباط با مدل ارائه می دهد استفاده از دستور خط فرمان CLI می باشد که می توانید با تایپ کردن در ترمینال یا CMD از آن استفاده کنید.

ollama run llama3.2:3b

البته اگر شما مدل را دانلود نکرده باشید با این دستور ollama اول دانلود را آغاز می کند و بعد می توانید با مدل ارتباط بگیرید.

ارتباط از طریق API

روش دیگر استفاده از RestAPI ها با درخواست های HTTP می باشد. وقتی شما ollama را نصب می کنید این برنامه به صورت پیشفرض روی پورت ۱۱۴۳۴ یک وب سرور راه می اندازد و بدون نیاز به اجرای دستور run می توانید از مدل استفاده کنید. به طور مثال ما با این API می توانیم از مدل بخواهیم متنی رو تولید کند.

curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Why is the sky blue?"
}'

ollama به شما API های دیگری برای embedding و chat completion ارائه می دهد که شما می توانید در صفحه مستندات که در گیتهاپ قرار دارد مطالعه کنید.

استفاده عملی در پروژه

برای استفاده از ollama می توانید با کتابخانه langchain با زبان های برنامه نویسی Python یا Javascript در پروژه خود بهره بگیرید. در مثال زیر یک نمونه خیلی ساده کد نویسی شده است.

from langchain import PromptTemplate, LLMChain
from ollama import Ollama

ollama_model = Ollama(model="llama3.2")

template = """
You are an intelligent assistant. Answer the question below concisely and accurately.

Question: {question}
"""

prompt = PromptTemplate(
    input_variables=["question"],
    template=template,
)

llm_chain = LLMChain(
    llm=ollama_model,
    prompt=prompt,
)

def main():
    print("Welcome to the Llama assistant!")
    while True:
        question = input("Enter your question (or type 'exit' to quit): ")
        if question.lower() == "exit":
            print("Goodbye!")
            break
        
        response = llm_chain.run(question=question)
        print(f"Llama says: {response}")

if __name__ == "__main__":
    main()

کتابخانه langchain به شما کمک می کند کد های یکپارچه تری داشته باشید و با تغییر ارائه دهنده به چندین مدل زبانی دیگر مثل OpenAI, Claude, Gemini دسترسی راحت تری را داشته باشید و برای هر کدام کد ها متفاوتی ننویسید.

جمع بندی

Ollama یک ابزار متن‌باز است که به کاربران این امکان را می‌دهد تا مدل‌های زبانی هوش مصنوعی را به‌صورت محلی روی سیستم‌های خود اجرا کنند، بدون نیاز به اتصال به اینترنت. این برنامه با استفاده از محیط‌های کانتینری ایزوله، نصب و راه‌اندازی مدل‌ها را ساده کرده و امکاناتی مانند API و CLI برای ارتباط با مدل‌ها ارائه می‌دهد. از Ollama می‌توان در پروژه‌های مختلفی مانند ساخت چت‌بات، تحلیل متون، تولید محتوا و برنامه‌نویسی استفاده کرد.

سوالات متداول

  1. آیا استفاده از مدل‌های هوش مصنوعی محلی با Ollama برای تمام کاربران مناسب است؟
    بله، Ollama به‌ویژه برای افرادی که به حریم شخصی اهمیت می‌دهند یا می‌خواهند از منابع سیستم خود استفاده کنند، گزینه‌ای مناسب است. با این حال، ممکن است برای کاربران مبتدی نیاز به کمی آشنایی با دستورات خط فرمان و مفاهیم مرتبط با هوش مصنوعی داشته باشد.
  2. آیا می‌توان از مدل‌های هوش مصنوعی روی دستگاه‌های با منابع محدود استفاده کرد؟
    استفاده از مدل‌های هوش مصنوعی نیازمند منابع سخت‌افزاری قابل‌توجهی است. بسته به اندازه و پیچیدگی مدل، ممکن است اجرای آن بر روی دستگاه‌های با منابع محدود (مثل لپ‌تاپ‌های قدیمی یا سیستم‌های ضعیف) به کندی انجام شود.
  3. آیا می‌توان از Ollama برای ایجاد مدل‌های هوش مصنوعی شخصی‌سازی شده استفاده کرد؟
    بله، چون Ollama متن‌باز است، شما می‌توانید مدل‌های مختلف را شخصی‌سازی کرده و آن‌ها را برای نیازهای خاص خود تنظیم کنید. این امکان به‌ویژه برای توسعه‌دهندگان و محققین مفید است که می‌خواهند مدل‌های خاص خود را بسازند و تست کنند.

نظر خودتون رو حتما درباره این مقاله بنویسید

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

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