返回首页
最新
考虑到我们对某些事件几乎赋予了不存在的概率,但这永远不可能是零,并且在重要事件中可能产生灾难性的影响,我觉得这一点非常发人深省。
印度是一个几乎将板球视为宗教的国家,而板球是一项投掷结果可能非常重要的运动,有时甚至是决定性因素。看到这样一个低概率事件发生在他们的一日国际(ODI)板球队身上,真是有趣。更有趣的是,他们第一次输掉的投掷是在主场世界杯决赛中,尽管在所有小组赛中全胜,但最终还是输给了澳大利亚。
虽然这里的结果主要是一些热情球迷的心碎,且无伤大雅,但我不禁想知道,有多少历史事件发生过,并且明显记录的发生频率远低于人们的预期。
据我所记得,哈维飓风是一次500年一遇的事件,对休斯顿这个混凝土丛林造成的影响远超任何规划者的想象。也许只需一次500年一遇的地震,就能对美国西海岸产生显著影响。
厌倦了每次需要使用RAG时都要连接向量存储、嵌入模型和分块逻辑。因此我构建了piragi。
```python
from piragi import Ragi
kb = Ragi(["./docs", "./code/**/*.py", "https://api.example.com/docs"])
answer = kb.ask("我该如何部署这个?")
```
这就是整个设置。无需API密钥 - 在本地使用Ollama + sentence-transformers运行。
它的功能:
- 支持所有格式 - PDF、Word、Excel、Markdown、代码、URL、图片、音频
- 自动更新 - 监控来源,后台刷新,查询延迟为零
- 引用 - 每个答案都包含来源
- 高级检索 - HyDE、混合搜索(BM25 + 向量)、交叉编码器重排序
- 智能分块 - 语义、上下文、层次策略
- 兼容OpenAI - 随时可以替换为GPT/Claude
快速示例:
```python
# 按元数据过滤
answer = kb.filter(file_type="pdf").ask("合同中有什么内容?")
# 启用高级检索
kb = Ragi("./docs", config={
"retrieval": {
"use_hyde": True,
"use_hybrid_search": True,
"use_cross_encoder": True
}
})
# 使用OpenAI替代
kb = Ragi("./docs", config={"llm": {"model": "gpt-4o-mini", "api_key": "sk-..."}})
```
安装:
```bash
pip install piragi
PyPI: https://pypi.org/project/piragi/
```
期待反馈。还有什么缺失的?什么能让这个工具对你的项目真正有用?