搜索
首页科技周边人工智能在Sqlite中检索增强发电

这个分为两部分的系列使用SQLite进行机器学习探索。 上一篇文章讨论了SQLite在生产就绪的Web应用程序中的越来越多的作用。本文着重于使用sqlite实施检索功能。

>

>用于使用生成AI的自定义Web应用程序,请访问losangelesaiapps.com >

代码可用

>在此处

传统的抹布实施通常涉及:

    >在抹布上搜索教程。
  1. 选择一个流行的框架(Langchain,LlamainDex)。
  2. 选择一个云向量数据库(Pinecone,Weaviate)。
  3. >
  4. 集成这些组件。
  5. 有效,这种方法可能过于复杂,尤其是对于初学者而言。 本文使用SQLITE和
扩展和OpenAI API演示了一种更简单的方法。 本系列的第1部分提供了SQLite功能的详细概述。 对于本文,将SQLite的简单性视为单文件数据库就足够了。

> sqlite-vec这种方法消除了对云矢量数据库和笨重框架的需求。

>

sqlite-vec:扩展sqlite的功率

Sqlite的强度在于其可扩展性。 与Python库类似的扩展名添加了C中写入的功能。一个很好的示例是全文搜索(FTS)扩展。 添加矢量搜索功能,从而使语义理解超出关键字匹配。 寻找“马”可能会返回“马术”或“小马”。

使用虚拟表,提供:sqlite-vec

>sqlite-vec>自定义数据源:

数据可以驻留在数据库文件之外(例如,CSV,API)。
  • 灵活功能:支持专业的索引和复杂的数据类型。
  • >无缝集成:与标准sqlite查询语法集成。
  • >模块:
  • 后端逻辑是在单独的模块中实现的。 使用:
  • >创建虚拟表
  • >指定模块(在此,
)。

CREATE VIRTUAL TABLE my_table USING my_extension_module();
代码演练

my_extension_module() vec0代码(sqlite-vecrepo link

)使用

文件作为示例数据(主要是物理相关)。 是sqlite数据库文件。

>安装:.txtmy_docs.db>列出了必要的库(

  1. )。创建一个虚拟环境并运行

    requirements.txt sqlite-vec>openaiopenai api键:python-dotenv获取openai api键。pip install -r requirements.txt

  2. > 加载扩展名:python代码加载sqlite-vec>扩展名并创建一个虚拟表:

CREATE VIRTUAL TABLE my_table USING my_extension_module();

documents表存储嵌入式(embedding),fileNames(file_name)和content(content)。 表示辅助字段。

  1. >>嵌入和插入:.txt代码通过
  2. 文件迭代,使用OpenAI API生成嵌入式,然后将它们插入数据库:>
db.enable_load_extension(True)
sqlite_vec.load(db)
db.enable_load_extension(False)

db.execute('''
    CREATE VIRTUAL TABLE documents USING vec0(
        embedding float[1536],
        +file_name TEXT,
        +content TEXT
    )
''')
  1. rag查询:
# ... (OpenAI embedding function) ...

for file_name in os.listdir("data"):
    # ... (Open file, get content, get embedding) ...
    db.execute(
        'INSERT INTO documents (embedding, file_name, content) VALUES (?, ?, ?)',
        (serialize_float32(embedding), file_name, content)
    )
db.commit()
然后将结果用作openai聊天完成的上下文来回答查询。

>

结论

>大大简化了抹布。 它消除了对复杂框架和云服务的需求,使其具有成本效益且易于迭代。 虽然缩放可能最终需要一个更健壮的数据库,但sqlite-vec>为较小的项目提供了引人注目的解决方案。 扩展名支持多种编程语言。sqlite-vec

Retrieval Augmented Generation in SQLite

以上是在Sqlite中检索增强发电的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
我尝试了使用光标AI编码的Vibe编码,这太神奇了!我尝试了使用光标AI编码的Vibe编码,这太神奇了!Mar 20, 2025 pm 03:34 PM

Vibe编码通过让我们使用自然语言而不是无尽的代码行创建应用程序来重塑软件开发的世界。受Andrej Karpathy等有远见的人的启发,这种创新的方法使Dev

如何使用DALL-E 3:技巧,示例和功能如何使用DALL-E 3:技巧,示例和功能Mar 09, 2025 pm 01:00 PM

DALL-E 3:生成的AI图像创建工具 Generative AI正在彻底改变内容的创建,而Openai最新的图像生成模型Dall-E 3处于最前沿。它于2023年10月发行,建立在其前任Dall-E和Dall-E 2上

2025年2月的Genai推出前5名:GPT-4.5,Grok-3等!2025年2月的Genai推出前5名:GPT-4.5,Grok-3等!Mar 22, 2025 am 10:58 AM

2025年2月,Generative AI又是一个改变游戏规则的月份,为我们带来了一些最令人期待的模型升级和开创性的新功能。从Xai的Grok 3和Anthropic的Claude 3.7十四行诗到Openai的G

如何使用Yolo V12进行对象检测?如何使用Yolo V12进行对象检测?Mar 22, 2025 am 11:07 AM

Yolo(您只看一次)一直是领先的实时对象检测框架,每次迭代都在以前的版本上改善。最新版本Yolo V12引入了进步,可显着提高准确性

Elon Musk&Sam Altman冲突超过5000亿美元的星际之门项目Elon Musk&Sam Altman冲突超过5000亿美元的星际之门项目Mar 08, 2025 am 11:15 AM

这项耗资5000亿美元的星际之门AI项目由OpenAI,Softbank,Oracle和Nvidia等科技巨头支持,并得到美国政府的支持,旨在巩固美国AI的领导力。 这项雄心勃勃

Google的Gencast:Gencast Mini Demo的天气预报Google的Gencast:Gencast Mini Demo的天气预报Mar 16, 2025 pm 01:46 PM

Google DeepMind的Gencast:天气预报的革命性AI 天气预报经历了巨大的转变,从基本观察到复杂的AI驱动预测。 Google DeepMind的Gencast,开创性

Sora vs veo 2:哪个创建更现实的视频?Sora vs veo 2:哪个创建更现实的视频?Mar 10, 2025 pm 12:22 PM

Google的VEO 2和Openai的Sora:哪个AI视频发电机占据了至尊? 这两个平台都产生了令人印象深刻的AI视频,但它们的优势在于不同的领域。 使用各种提示,这种比较揭示了哪种工具最适合您的需求。 t

哪个AI比Chatgpt更好?哪个AI比Chatgpt更好?Mar 18, 2025 pm 06:05 PM

本文讨论了AI模型超过Chatgpt,例如Lamda,Llama和Grok,突出了它们在准确性,理解和行业影响方面的优势。(159个字符)

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。