PHP code example of palgu / larachain

1. Go to this page and download the library: Download palgu/larachain library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

palgu / larachain example snippets




const LARACHAIN_LLM_PROVIDER = 'gemini'; // 'gemini' atau 'ollama'
const GEMINI_API_KEY = 'your_gemini_api_key';
const GEMINI_MODEL = 'gemini-2.0-flash-thinking-exp'; //sesuaikan dengan model Gemini
const GEMINI_TEMPERATURE = 0.7;
const GEMINI_TOP_P = 0.9;
const GEMINI_TOP_K = 40;
const GEMINI_MAX_OUTPUT_TOKENS = 8192;

const OLLAMA_BASE_URL = 'http://localhost:11434';
const OLLAMA_MODEL = 'gemma2:2b'; //sesuaikan dengan model Ollama anda

const LARACHAIN_EMBEDDING_PROVIDER = 'gemini'; // 'gemini' atau 'ollama'
const GEMINI_EMBEDDING_MODEL = 'text-embedding-004'; //sesuaikan dengan model Gemini embedding
const LARACHAIN_EMBEDDING_DIMENSION = 768;

use Palgu\Larachain\LLM\Gemini;
use Palgu\Larachain\Config\LLMConfig;

$config = new LLMConfig([
    'api_key' => GEMINI_API_KEY,
    'model' => GEMINI_MODEL,
]);

$gemini = new Gemini($config);
$summary = $gemini->summarize("Teks panjang yang ingin diringkas.");
echo $summary;

$keyPoints = $gemini->extractKeyPoints("Teks panjang yang ingin diekstrak poin-poin pentingnya.");
print_r($keyPoints);

use Palgu\Larachain\Embeddings\GeminiEmbedding;

$geminiEmbedding = new GeminiEmbedding([
    'api_key' => GEMINI_API_KEY,
    'model' => GEMINI_EMBEDDING_MODEL,
]);

$embedding = $geminiEmbedding->embed("Teks yang ingin diembed.");
print_r($embedding);

$context = "Large Language Models (LLMs) adalah sistem AI canggih yang dirancang untuk memahami dan menghasilkan teks seperti manusia.";
$question = "Apa itu LLM?";
$answer = $gemini->answerFromContext($question, $context);
echo $answer;
bash
php artisan vendor:publish --provider="Palgu\Larachain\LarachainServiceProvider"
bash
./vendor/bin/phpunit tests/Unit/LLMTest.php
./vendor/bin/phpunit tests/Unit/EmbeddingTest.php