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:高级类,用于构建能够执行工具并维护对话历史的聊天机器人。