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

在Sqlite中检索增强发电

Feb 26, 2025 am 02:49 AM

这个分为两部分的系列使用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工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1653
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1251
29
C# 教程
1224
24
开始使用Meta Llama 3.2 -Analytics Vidhya 开始使用Meta Llama 3.2 -Analytics Vidhya Apr 11, 2025 pm 12:04 PM

Meta的Llama 3.2:多模式和移动AI的飞跃 Meta最近公布了Llama 3.2,这是AI的重大进步,具有强大的视觉功能和针对移动设备优化的轻量级文本模型。 以成功为基础

10个生成AI编码扩展,在VS代码中,您必须探索 10个生成AI编码扩展,在VS代码中,您必须探索 Apr 13, 2025 am 01:14 AM

嘿,编码忍者!您当天计划哪些与编码有关的任务?在您进一步研究此博客之前,我希望您考虑所有与编码相关的困境,这是将其列出的。 完毕? - 让&#8217

向员工出售AI策略:Shopify首席执行官的宣言 向员工出售AI策略:Shopify首席执行官的宣言 Apr 10, 2025 am 11:19 AM

Shopify首席执行官TobiLütke最近的备忘录大胆地宣布AI对每位员工的基本期望是公司内部的重大文化转变。 这不是短暂的趋势。这是整合到P中的新操作范式

AV字节:Meta' llama 3.2,Google的双子座1.5等 AV字节:Meta' llama 3.2,Google的双子座1.5等 Apr 11, 2025 pm 12:01 PM

本周的AI景观:进步,道德考虑和监管辩论的旋风。 OpenAI,Google,Meta和Microsoft等主要参与者已经释放了一系列更新,从开创性的新车型到LE的关键转变

GPT-4O vs OpenAI O1:新的Openai模型值得炒作吗? GPT-4O vs OpenAI O1:新的Openai模型值得炒作吗? Apr 13, 2025 am 10:18 AM

介绍 Openai已根据备受期待的“草莓”建筑发布了其新模型。这种称为O1的创新模型增强了推理能力,使其可以通过问题进行思考

视觉语言模型(VLMS)的综合指南 视觉语言模型(VLMS)的综合指南 Apr 12, 2025 am 11:58 AM

介绍 想象一下,穿过​​美术馆,周围是生动的绘画和雕塑。现在,如果您可以向每一部分提出一个问题并获得有意义的答案,该怎么办?您可能会问:“您在讲什么故事?

如何在SQL中添加列? - 分析Vidhya 如何在SQL中添加列? - 分析Vidhya Apr 17, 2025 am 11:43 AM

SQL的Alter表语句:动态地将列添加到数据库 在数据管理中,SQL的适应性至关重要。 需要即时调整数据库结构吗? Alter表语句是您的解决方案。本指南的详细信息添加了Colu

阅读AI索引2025:AI是您的朋友,敌人还是副驾驶? 阅读AI索引2025:AI是您的朋友,敌人还是副驾驶? Apr 11, 2025 pm 12:13 PM

斯坦福大学以人为本人工智能研究所发布的《2025年人工智能指数报告》对正在进行的人工智能革命进行了很好的概述。让我们用四个简单的概念来解读它:认知(了解正在发生的事情)、欣赏(看到好处)、接纳(面对挑战)和责任(弄清我们的责任)。 认知:人工智能无处不在,并且发展迅速 我们需要敏锐地意识到人工智能发展和传播的速度有多快。人工智能系统正在不断改进,在数学和复杂思维测试中取得了优异的成绩,而就在一年前,它们还在这些测试中惨败。想象一下,人工智能解决复杂的编码问题或研究生水平的科学问题——自2023年

See all articles