surabayacoder/laravel-sage 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

surabayacoder/laravel-sage

Composer 安装命令:

composer require surabayacoder/laravel-sage

包简介

A Laravel package for Retrieval-Augmented Generation (RAG) with Google Gemini.

README 文档

README

Laravel Sage adalah package all-in-one untuk mengintegrasikan kemampuan Retrieval-Augmented Generation (RAG) ke dalam aplikasi Laravel Anda. Tanyakan pertanyaan dalam bahasa natural pada dokumen Anda sendiri (PDF dan Markdown) menggunakan kekuatan Google Gemini.

Fitur Utama

  • RAG Siap Pakai: Implementasikan fungsionalitas "tanya dokumen Anda" dalam hitungan menit.
  • Multi-Driver Vector Store: Pilih sistem penyimpanan yang sesuai untuk kebutuhan Anda:
    • file: Sederhana, berbasis file JSON, cocok untuk demo dan prototipe.
    • pgvector: Kuat dan efisien, menggunakan ekstensi vector di PostgreSQL untuk produksi.
    • mysql: Pilihan untuk environment MySQL (lebih lambat, tidak disarankan untuk data besar).
  • Berbagai Sumber Data: Lakukan ingest (indeks) dari berbagai sumber file (PDF dan Markdown)

Instalasi

Anda bisa menginstal package ini melalui Composer.

composer require surabayacoder/laravel-sage

Selanjutnya, pastikan Anda sudah mengatur API Key Gemini dan RAG Vector Driver (pgvector, mysql, atau file) di file .env Anda:

GEMINI_API_KEY="AIzaSy...kunci_api_anda"
RAG_VECTOR_DRIVER=mysql

Periksa Ekstensi jika menggunakan pgvector sebagai Driver Anda

Jika Anda menggunakan pgvector, pastikan ekstensi vector sudah diaktifkan di database Anda. Jika belum aktif, hubungkan ke database Anda sebagai superuser dan jalankan:

CREATE EXTENSION vector;

Konfigurasi

1. Publikasikan File Konfigurasi

Jalankan perintah vendor:publish untuk menyalin file konfigurasi utama ke direktori config aplikasi Anda.

php artisan vendor:publish --provider="Surabayacoder\Sage\SageServiceProvider" --tag="sage-config"

Ini akan membuat file config/sage.php di mana Anda bisa mengatur model Gemini, driver vector store, dan path sumber dokumen.

4. Publikasikan Migrasi

Jalankan vendor:publish untuk menyalin file migrasi yang sesuai dengan driver Anda.

php artisan vendor:publish --provider="Surabayacoder\Sage\SageServiceProvider" --tag="sage-migrations"

Setelah itu, jalankan migrasi seperti biasa:

php artisan migrate

Penggunaan

1. Ingest (Indexing) Dokumen

Sebelum bisa bertanya, Anda harus memproses dokumen sumber Anda. Tempatkan semua file Anda (misal: .pdf, .md) di dalam direktori storage/app/rag_sources. Kemudian, jalankan perintah ingest.

php artisan sage:ingest

2. Bertanya pada AI

Gunakan Facade Sage di mana saja dalam aplikasi Anda untuk mulai bertanya.

use Surabayacoder\Sage\Facades\Sage;

// Di dalam Controller atau Route

Route::get('/ask', function () {
    $question = "Bagaimana kebijakan cuti tahunan?";

    $result = Sage::ask($question);

    // $result adalah sebuah array yang berisi 'answer' dan 'sources'
    // dd($result);

    return view('hasil', ['result' => $result]);
});

3. Multi-turn Chat (Chat History)

Untuk membuat percakapan berkelanjutan (AI mengingat konteks pertanyaan sebelumnya), tambahkan session_id sebagai argumen kedua pada method ask.

// User bertanya
$response1 = Sage::ask("Siapa penemu lampu?", "session-user-1");
// AI: Thomas Alva Edison...

// User bertanya lagi (Referensial)
$response2 = Sage::ask("Kapan dia lahir?", "session-user-1");
// AI: Thomas Alva Edison lahir pada tahun 1847...

Pastikan Anda telah menjalankan migrasi sage_chat_histories untuk menggunakan fitur ini.

Method ask() akan mengembalikan sebuah array:

  • answer: Jawaban yang dihasilkan oleh AI.
  • sources: Daftar sumber dokumen yang digunakan untuk menghasilkan jawaban tersebut.

Lisensi

Package ini berlisensi MIT. Silakan lihat File Lisensi untuk informasi lebih lanjut.

surabayacoder/laravel-sage 适用场景与选型建议

surabayacoder/laravel-sage 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 09 月 08 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 surabayacoder/laravel-sage 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 surabayacoder/laravel-sage 我们能提供哪些服务?
定制开发 / 二次开发

基于 surabayacoder/laravel-sage 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 4
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 31
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-09-08