🐸 青蛙RAG
将你的应用指向Froggy。自动获取RAG。
青蛙RAG是 本地桌面应用程序 它位于法学硕士的前面 暴露 两个熟悉的HTTP API:
- OpenAI兼容 路由(适用于期望OpenAI风格的客户端和SDK
聊天/补全URL和有效载荷)。
- Ollama-兼容 路由(用于已经针对本地的工具和脚本
Ollama服务器)。
RAG在两者上的行为相同。 命名空间、检索、分块、可选 在您的请求之前,网络搜索和提示注入都在一个管道中运行 转发。您只能选择您的客户所说的API形状;你没有 重新实现RAG两次。
没有代理人。\ 无工具接线。\ 没有编排。
只是:
Your app → Froggy → LLM (with context already injected)______________________________________________________________________
🚀 为什么是青蛙?
大多数RAG设置都会使每个应用程序变得复杂:
- 您可以为每个堆栈连接检索工具或sidecar服务。
- 您可以手动将检索到的文本与提示合并。
- 您可以在OpenAI风格和Ollama风格的调用者之间复制逻辑。
- 或者你采用一个沉重的框架只是为了把碎片粘在一起。
Froggy将这项工作集中在一个本地跳跃中。 你继续使用HTTP 您已经拥有的客户端和URL;青蛙 拦截→ 检索→ 注入→ 向前这意味着内部工具的迭代速度更快,“忘记”的次数更少 附加上下文”错误,以及一个调整摄取、名称空间和 通过行为。
拦截→ 检索→ 注入→ 转发
您现有的客户不需要重新设计。将他们的基本URL指向Froggy 而不是直接针对模型,他们会从你的模型中得到有根据的答案 代码变动最小的语料库。
______________________________________________________________________
🧠 它实际上做了什么
当兼容的请求点击Froggy(OpenAI风格 或 奥利玛风格):
- 解释请求 --使用相同的消息或完成形状
客户端已经发送,因此您不需要为维护并行请求类型 抹布。
- 搜索活动命名空间 --从中提取嵌入和排名块
您选择的语料库,因此答案与 *你的* 文件而不是 只有模型的训练截止值。
- 提取最相关的上下文 --表面的通道,实际上
匹配查询,从而减少对特定领域任务的幻觉。
- 可选择添加网络搜索 --配置后,融入新鲜网
结果与检索到的文档相结合,因此答案可以结合私人知识和 当前公共信息。
- 注入提示符 --预先构建模型可以构建的结构化上下文
引用,因此下游应用程序并不都实现自己的“系统提示”+ 片段”模式。
- 转至您的法学硕士 --将丰富的请求发送到您的上游
配置(本地或远程),保持与现有堆栈的兼容性。
同样的步骤,同样的质量, 无论呼入电话看起来像OpenAI还是 就像Ollama一样。只有边缘处的导线格式不同。
______________________________________________________________________
🧩 核心概念
命名空间
您可能使用的示例名称:
personal-notes
sql-examples
work-docs
codebase价值: 每个命名空间都是一个孤立的知识岛:它自己的文档, 嵌入和检索范围。切换命名空间是您切换命名空间的方式 *哪个* 语料库在不重新部署客户端或更改API密钥的情况下为模型奠定基础。那 将人力资源文档与工程笔记分开,并创建多租户或 从一个应用程序管理多个项目工作流。
______________________________________________________________________
通过API(OpenAI 和 奥拉马)
青蛙说话 两者 可配置端口上常见的local-LLM API方言。
- 使用 OpenAI形状 当你的堆栈已经使用OpenAI SDK时,使用URL和JSON
或聊天完成风格的代理(例如入站) /v1/chat/completions 在OpenAI监听器上)。
- 使用 奥利玛形状 当您的工作流程假设
ollama run,休息
为Ollama硬编码的路径或工具(例如入站 /api/chat Ollama听众)。
价值: 你并不局限于一个生态系统。这 回收和注射 管道完全相同 对于两者:相同的命名空间、相同的块存储、相同的 注入规则,相同的可选网络搜索。选择与您匹配的表面 客户;Froggy仍然做过一次RAG工作。
身体形状示例(OpenAI风格的消息;Ollama呼叫者发送他们的原生消息 等效并获得相同的富集路径):
{
"messages": [
{ "role": "user", "content": "Write a SQL query..." }
]
}Froggy丰富了对话,并将其转发到您配置的上游。
______________________________________________________________________
提示配置文件
可重用的行为模板,例如:
- sql生成
- sql修改
- 普通抹布
价值: 配置文件编码 *怎么* 检索到的上下文应该被框架化,以及 行为是适用的,因此您可以在不重写客户端代码的情况下交换“模式”。团队 可以标准化一小部分配置文件,而不是分散的一次性系统 在每次集成中都有提示。
______________________________________________________________________
标签和元数据
"tags": ["patient", "phi"],
"metadata": { "platform": "databricks" }价值: 标记和元数据允许您在以下位置过滤或优先排序块 检索时间,因此敏感或特定环境的材料更容易确定范围 以及审计。这提高了对专门查询和支持的相关性 诸如“仅搜索此命名空间中标记了PHI的文档”之类的策略
______________________________________________________________________
🖥️ 桌面应用程序
Windows安装程序提供 单个本地捆绑包:矢量存储, 摄取、REST/RAG控制、直通侦听器和设置——没有单独的 服务器场可供个人或团队使用。
- 基于安装程序(Windows)
- 自动更新
- 在本地运行
- 包括UI+API
实时截图 images/ (飞溅)和 images/screenshots/ (应用内捕获)。
服务器和语料库
查看核心服务是否已启动,哪些端口正在监听,以及应用程序的运行情况 连接到您的机器--值: 你不用阅读就能快速了解健康状况 从空白终端记录或猜测。
浏览命名空间,检查房子的向量侧,并关联“我 索引为“搜索将命中什么”--值: 运营商和开发人员共享一个 surface在调试客户端调用之前验证是否存在正确的语料库。
摄入
将Froggy指向文件夹或文件,并将其拉入命名空间--值: 你 从源树或文档中不断刷新知识,而无需 为每个项目编写自定义ETL。
设置
调整应用于API的项目路径、默认值和行为 前端--值: 一个配置层支持OpenAI和 Ollama塑造了客户。
控制文档的拆分和嵌入方式--值: 经常进行更好的分块 击败了一个更大的模型;您可以根据文档形状调整块大小和重叠 无需更改代码。
Chunking settings (additional options)
配置入站侦听器、上游LLM URL和直通选项--值: 你决定Froggy在哪里听,哪个真实的模型回答,而Froggy 仍然是注射RAG的唯一地方。
当地API测试
跑 搜索 和 直通 应用程序内的练习--值: 你可以 在指出问题之前,证明检索和端到端OpenAI/Ollama兼容性 Froggy的更大系统缩短了“是客户端还是语料库?” 调试循环。
______________________________________________________________________
⚙️ 安装
价值: 打包的应用程序加上自动更新可以保留安全补丁和功能 无需每天维护Python环境或Docker堆栈 使用。
从下载最新的Windows安装程序 GitHub发布 为此 存储库(如果您发布构建,请替换为您的fork的发布URL 其他地方)。
______________________________________________________________________
⚙️ 用法
启动应用程序,启用 OpenAI兼容 和 Ollama-兼容 在设置中设置监听器,然后使用 相同的路径和身体 您将使用vanilla OpenAI HTTP API或 奥拉马-除了 基本URL现在指向Froggy。
示例(端口是可配置的;占位符显示了这个想法):
http://localhost:/... # OpenAI-compatible paths
http://localhost:/... # Ollama-compatible paths两者的RAG相同: 无论你叫哪个入口,青蛙都会跑一样的路 检索、可选网络搜索和注入,然后转发到上游LLM 您已配置。从OpenAI风格的客户端切换到Ollama风格的客户端 不会更改文档在提示中的查找或合并方式。
______________________________________________________________________
🐸 太长,读不下去了
青蛙是 本地通行 和 OpenAI和Ollama兼容的API. 您的客户保持其原始形状; RAG在任一路径上都是相同的--一个 管道,一个管理语料库和设置的地方,每个问题都有更智能的答案 转发请求。
