patterns-ai-core/langchainrb
Build LLM-powered applications in Ruby
What it solves
Langchain.rb 是一個 Ruby gem,簡化了建構 LLM 驅動應用的流程。它提供統一的介面來與多個 LLM 供應商互動、管理提示,並實作 Retrieval Augmented Generation(RAG)與 AI 助手。
How it works
此函式庫將不同 LLM API 的複雜性抽象為一套一致的方法,用於產生嵌入、提示完成與聊天完成。它包含提示範本工具(含 few‑shot 範例)、結構化輸出解析(將 LLM 文字轉換為 JSON),以及統一的向量搜尋資料庫介面,以促進 RAG 工作流程。它亦提供 Assistant 類別,管理對話串並整合外部工具以實作互動式 AI 代理。
Who it’s for
想在應用程式中整合大型語言模型(LLM),但不想被單一供應商綁定或為每個 API 撰寫樣板程式碼的 Ruby 與 Rails 開發者。
Highlights
- Unified LLM Interface:支援包括 OpenAI、Anthropic、Google Gemini、Mistral AI 與 Ollama 在內的多種供應商。
- RAG Support:整合向量資料庫如 Chroma、Pinecone、Pgvector 與 Weaviate,並內建多種格式(PDF、DOCX 等)的檔案解析器。
- Prompt Management:提供建立、儲存與載入提示範本及 few‑shot 範例的工具。
- Structured Output:解析器可將 LLM 回應強制符合特定 JSON 結構,並提供
OutputFixingParser以修正錯誤。 - AI Assistants:高階類別,用於建構能執行工具並維持對話歷史的聊天機器人。