在Sqlite中检索增强发电
Feb 26, 2025 am 02:49 AM这个分为两部分的系列使用SQLite进行机器学习探索。 上一篇文章讨论了SQLite在生产就绪的Web应用程序中的越来越多的作用。本文着重于使用sqlite实施检索功能。
>>用于使用生成AI的自定义Web应用程序,请访问losangelesaiapps.com >
代码可用>在此处。。
传统的抹布实施通常涉及:
- >在抹布上搜索教程。
- 选择一个流行的框架(Langchain,LlamainDex)。
- 选择一个云向量数据库(Pinecone,Weaviate)。 >
- 集成这些组件。
- 有效,这种方法可能过于复杂,尤其是对于初学者而言。 本文使用SQLITE和
>
sqlite-vec
这种方法消除了对云矢量数据库和笨重框架的需求。
Sqlite的强度在于其可扩展性。 与Python库类似的扩展名添加了C中写入的功能。一个很好的示例是全文搜索(FTS)扩展。 添加矢量搜索功能,从而使语义理解超出关键字匹配。 寻找“马”可能会返回“马术”或“小马”。
使用虚拟表,提供:sqlite-vec
>sqlite-vec
>自定义数据源:
- 灵活功能:支持专业的索引和复杂的数据类型。
- >无缝集成:与标准sqlite查询语法集成。
- 后端逻辑是在单独的模块中实现的。 使用: >创建虚拟表
- >指定模块(在此,
1 |
|
my_extension_module()
vec0
代码(sqlite-vec
repo link
文件作为示例数据(主要是物理相关)。 是sqlite数据库文件。
,- ,
- )。创建一个虚拟环境并运行
requirements.txt
sqlite-vec
>openai
openai api键:python-dotenv
获取openai api键。pip install -r requirements.txt
-
> 加载扩展名:python代码加载
sqlite-vec
>扩展名并创建一个虚拟表:
1 |
|
documents
表存储嵌入式(embedding
),fileNames(file_name
)和content(content
)。
表示辅助字段。
- >>嵌入和插入:
.txt
代码通过 文件迭代,使用OpenAI API生成嵌入式,然后将它们插入数据库:
1 2 3 4 5 6 7 8 9 10 11 |
|
- rag查询:
1 2 3 4 5 6 7 8 9 |
|
>
结论
>大大简化了抹布。 它消除了对复杂框架和云服务的需求,使其具有成本效益且易于迭代。 虽然缩放可能最终需要一个更健壮的数据库,但sqlite-vec
>为较小的项目提供了引人注目的解决方案。 扩展名支持多种编程语言。sqlite-vec
以上是在Sqlite中检索增强发电的详细内容。更多信息请关注PHP中文网其他相关文章!

热门文章

热门文章

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Elon Musk&Sam Altman冲突超过5000亿美元的星际之门项目
