کار با پکیج Prism در لاراول - هوش مصنوعی با لاراول؟

ممکنه شما در پروژه هاتون نیاز داشته باشید که از هوش مصنوعی (AI) استفاده کنید. قبلا خیلی ها سر این موضوع از PHP یا لاراول استفاده نمیکردند چون فکر میکردند از هوش مصنوعی پشتیبانی نمیکنه و یا استکشون عوض میکردند یا از سرویس ها خارجی استفاده میکردند. اما الان این چیزا خبری نیست.

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

در لاراول به تازگی پکیج ها درست شده که میشه از هوش مصنوعی استفاده کرد مثل: OpenAI PHP، Prism و.. .

Prism چیه؟

در واقع پکیج Prism یک پکیج عالی هست برای کار با هوش مصنوعی و LLMs. با استفاده از این پکیج شما میتونید از درایور های مختلف مثل OpenAI، Ollama و.. استفاده کنید.

نصب پکیج

برای نصب این پکیج شما نیاز به لاراول 11 به بالا و پی اچ پی 8.3 به بالا دارید. برای نصب میتونید کامند زیر در ترمینال پروژه اجرا کنید:

composer require echolabsdev/prism

بعد از نصب، شما نیاز به publish کردن فایل های پکیج دارید:

php artisan vendor:publish --tag=prism-config

بعد از پابلیش کردن شما نیاز دارید که API_KEY خودتون در فایل .env قرار دهید:

OPENAI_API_KEY=your_openai_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here

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

برای اینکه شما مثل چت جی بی تی یک سوال یا هر چی بپرسید و اون جواب شما بده میتونید به شکل زیر عمل کنید:

$response = Prism::text()
    ->using(Provider::Anthropic, 'claude-3-sonnet')
    ->withPrompt('Tell me a short story about a brave knight.')
    ->generate();

echo $response->text;

تولید متن با استفاده از درایور ها مختلف

شما میتونید درایور هاتون رو عوض کنید مثل از OpenAI استفاده کنید یا از Anthropic استفاده کنید و.. :

// Using OpenAI
$prism = Prism::text()
    ->using(Provider::OpenAI, 'gpt-4')
    ->withPrompt('Explain quantum computing in simple terms.')
    ->generate();

// Using Anthropic
$prism = Prism::text()
    ->using(Provider::Anthropic, 'claude-3-opus')
    ->withPrompt('Describe the process of photosynthesis.')
    ->generate();

withPrompt vs withMessages

در پکیج Prism دو تا متد مهم داریم به نام "withPrompt" و "withMessages". برای هر درخواست شما فقط میتونید یکی از این متد ها استفاده کنید:

withPrompt:

با استفاده از این متد شما میتونید یک متن یک خطی ارسال کنید مثل مثال زیر:

$prism = Prism::text()
    ->using(Provider::Anthropic, 'claude-3-sonnet')
    ->withPrompt('What is the capital of France?')
    ->generate();


withMessages:

شما با این متد میتونید چند خطی متن ارسال کنید:

use EchoLabsPrismValueObjectsMessages\\UserMessage;
use EchoLabsPrismValueObjectsMessagesAssistantMessage;

$prism = Prism::text()
    ->using(Provider::Anthropic, 'claude-3-sonnet')
    ->withMessages([
        new UserMessage('Hello, who are you?'),
        new AssistantMessage('I am an AI assistant created by Anthropic. How can I help you today?'),
        new UserMessage('Can you tell me about the weather in Paris?'),
    ])
    ->generate();

چه زمانی باید از این متد ها استفاده کنید:

withPrompt:

  • زمانی که شما تنها یک سوال یا تسک دارید.
  • زمانی که شما فقط میخواید یک متن ساده برای شما بنویسد.
  • زمانی که نیاز به اطلاعات قبلی ندارید.

withMessages:

  • زمانی که شما یک چت بات دارید درست میکنید.
  • زمانی که شما به اطلاعات قبلی نیازمند خواهید بود.
  • زمانی که میخواید یک گفت و گو دو طرفه داشته باشید.

لینک گیت هاب پکیج

لینک مستندات پکیج

0 🔥
1 🎉
0 😮
2 👍
0 💜
0 👏
میلاد خسروی
نویسنده کد نیوز

برنامه نویس فان | Fun Developer یک آدم ساده که عاشق برنامه نویسی و کد زدنه :) تلاش میکنه تا به بقیه کمک کنه. توسعه دهنده هسته لاراول و فضای اوپن سورس. فاندر پرانتز و کد نیوز.

0+ نظر

برای ثبت نظر ابتدا ورود کنید.

0 نظر

    اولین نفر باش که نظر ثبت میکنی :) یعنی یه کامنت به ما نمیرسه 😁