在AI的快速发展世界中,大型语言模型正在以速度,准确性和成本效益来推动界限。 DeepSeek R1最近发布的开源模型与Openai的O1相抗衡,是AI领域中的热门话题,尤其是考虑到其成本较低的27倍和卓越的推理能力。将其与QDRANT的二进制量化配对,以进行高效和快速的向量搜索,我们可以将超过1,000页文档索引。在本文中,我们将创建一个Bhagavad Gita AI助手,能够索引1,000页,使用GROQ在几秒钟内回答复杂的查询,并提供具有特定于域的精度的见解。
>
学习目标- 在qdrant中实现二进制量化,以进行内存效率的向量索引。
- > 了解如何使用DeepSeek R1,Qdrant和Llamaindex建立Bhagavad Gita AI助手进行有效的文本检索。
- > 学会用GROQ优化Bhagavad Gita AI助手,以快速,域特异性查询响应和大规模文档索引。
- > >使用llamaindex和快速培养的本地嵌入来处理1,000页的Bhagavad Gita。
- 从GROQ的推断中集成了DeepSeek R1,以实时,低延迟响应。
- >开发一个简化的UI,以展示具有思维透明度的AI驱动见解。
>本文是> > data Science Blogathon的一部分。 内容表
deepSeek r1 vs openai o1- >在向量数据库中的二进制量化是什么? > DeepSeek R1 vs Openai O1
- > DeepSeek R1挑战OpenAI在27X降低的API成本和接近标准的表现方面的主导地位。与OpenAI的O1关闭,基于订阅的模型(每月200美元)不同,DeepSeek R1 iSfree,开放源代码,并且是预算意识的项目和实验的理想之选。
- > 推理-ARC-AGI基准:[来源:Arc-Agi DeepSeek]
- DeepSeek:20.5%准确性(公共),15.8%(半私有)。
- OpenAI:21%准确性(公共),18%(半私人)。
- 从我到目前为止的经验来看,DeepSeek在数学推理,与编码相关的用例和上下文感知的提示方面做得很好。
二进制量化(BQ)是QDRANT的索引压缩技术,可优化高维矢量存储和检索。通过将32位浮点矢量转换为1位二进制值,它可以大幅度加速搜索速度。
它的工作原理
- 二进制:基于阈值将向量简化为0s和1s(例如,值> 0成为1)。 >有效索引:QDRANT的HNSW算法使用这些二进制向量快速近似最近的邻居(ANN)搜索。
- >过采样:为了平衡速度和准确性,BQ检索额外的候选者(例如200限制为100),并使用原始向量将它们对其进行重新排名。
- >
存储:1536-Dimension Openai矢量从6KB缩小到0.1875 kb。
- 速度:1位向量上的布尔操作执行更快,减少了延迟。
- 可伸缩性:适合大型数据集(1M向量)的理想选择,以最少的召回权衡。
- 避免二进制量化,以实现二量矢量(< 1024),其中信息损失显着影响准确性。传统的标量量化(例如,UINT8)可能更适合较小的嵌入。
- 建造Bhagavad Gita Assistant 下面的
架构概述
数据摄入:900页的Bhagavad gita pdf分为文本块。 嵌入:QDrant Fastembed的文本对矢量嵌入模型。
>向量DB:带有BQ商店嵌入的QDRANT,启用毫秒搜索。-
LLM推断:DeepSeek R1通过GROQ LPU生成上下文感知的响应。
- UI:简化具有可扩展的“思考过程”可见性的应用程序。
- >逐步实现
- >让我们现在按一个步骤操作:
- >让我们使用LlamainDex建立抹布管道的基础。我们需要安装必需软件包,包括核心Llamaindex库,QDRANT矢量商店集成,快速嵌入的嵌入以及用于LLM访问的GROQ。
- 注意:
>
>对于文档索引,我们将使用COLAB的A
>
>保存数据后,我们可以使用集合名称在任何地方运行推断,无论是在VS代码,简化还是其他平台上。
完成安装后,让我们导入所需的模块。
- >在这里,我们处理将原始文本转换为向量表示的关键任务。 SimpleDirectoryReader从指定的文件夹加载文档。
- > >创建一个文件夹,即数据目录,然后在其中添加所有文档。在我们的情况下,我们下载了Bhagavad Gita文档并将其保存在数据文件夹中。 您可以在此处下载〜900页的Bhagavad Gita文档:Iskconmangaluru
-
!pip install llama-index !pip install llama-index-vector-stores-qdrant llama-index-embeddings-fastembed !pip install llama-index-readers-file !pip install llama-index-llms-groq
Qdrant的快感是一个轻巧,快速的Python库,旨在有效地嵌入生成。它支持流行的文本模型,并利用量化的模型权重以及推理的ONNX运行时,确保高性能而没有较重的依赖性。
要将文本块转换为嵌入,我们将使用Qdrant的快速介绍。我们分批处理50个文档以有效地管理内存。
>import logging import sys import os import qdrant_client from qdrant_client import models from llama_index.core import SimpleDirectoryReader from llama_index.embeddings.fastembed import FastEmbedEmbedding from llama_index.llms.groq import Groq # deep seek r1 implementation
步骤3:使用二进制量化的QDRANT设置
>是时候配置我们的矢量数据库QDRANT客户端,并具有优化的性能设置。我们创建了一个名为“ Bhagavad-Gita”的集合,该集合具有特定的向量参数,并启用了二进制量化以进行有效的存储和检索。
有三种使用QDRANT客户端的方法:- >内存模式:使用位置=“:内存:”,它创建了一个仅运行一次的临时实例。
- > localhost:使用位置=“ localhost”,它需要运行Docker实例。您可以在此处遵循“设置指南:QDRANT QUICKSTART”。
- 云存储:将集合存储在云中。为此,创建一个新的群集,提供群集名称并生成一个API键。复制键并从curl命令中检索URL。
- 请注意,收集名称必须是唯一的,在每个数据更改之后,此也需要更改。
>我们首先检查带有指定Collection_name的集合是否存在于Qdrant中。如果不是这样,只有然后我们创建一个配置为存储1,024维向量的新集合,并使用余弦相似性进行距离测量。
data = SimpleDirectoryReader("data").load_data() texts = [doc.text for doc in data] embeddings = [] BATCH_SIZE = 50
>我们为原始向量启用了盘存存储,并应用二进制量化,这会压缩向量以减少内存使用量并提高搜索速度。 Elwand_RAM参数可确保将量化的向量保存在RAM中以更快地访问。> > embed_model = FastEmbedEmbedding(model_name="thenlper/gte-large") for page in range(0, len(texts), BATCH_SIZE): page_content = texts[page:page + BATCH_SIZE] response = embed_model.get_text_embedding_batch(page_content) embeddings.extend(response)
在此阶段将使用GPU,根据数据大小,此步骤可能需要几分钟。的抹布管道
process-1:r-检索相关文档!pip install llama-index !pip install llama-index-vector-stores-qdrant llama-index-embeddings-fastembed !pip install llama-index-readers-file !pip install llama-index-llms-groq
Process-2:A-增强提示
对于抹布,使用chatprompttemplate定义系统的交互模板很重要。该模板创建了一个专业的助手,在Bhagavad-Gita中知识渊博,能够理解多种语言(英语,印地语,梵语)。
>它包括用于上下文注入和查询处理的结构化格式,并清楚地说明了处理外面问题的明确说明。 import logging import sys import os import qdrant_client from qdrant_client import models from llama_index.core import SimpleDirectoryReader from llama_index.embeddings.fastembed import FastEmbedEmbedding from llama_index.llms.groq import Groq # deep seek r1 implementation
process-3:g-生成响应data = SimpleDirectoryReader("data").load_data() texts = [doc.text for doc in data] embeddings = [] BATCH_SIZE = 50
output :(语法:< think>推理</think>响应)embed_model = FastEmbedEmbedding(model_name="thenlper/gte-large") for page in range(0, len(texts), BATCH_SIZE): page_content = texts[page:page + BATCH_SIZE] response = embed_model.get_text_embedding_batch(page_content) embeddings.extend(response)
答案是否。
step6:保存的索引推理
>您已经编写的内容没有太大差异。我们将重复使用相同的搜索和管道功能以及我们需要运行query_points的收集名称。
collection_name = "bhagavad-gita" client = qdrant_client.QdrantClient( #location=":memory:", url = "QDRANT_URL", # replace QDRANT_URL with your endpoint api_key = "QDRANT_API_KEY", # replace QDRANT_API_KEY with your API keys prefer_grpc=True )
step7:简化UI
在每个用户问题之后,在精简中,状态都会刷新。为了避免再次刷新整个页面,我们将在简化的cache_resource下定义一些初始化步骤。>
如果您注意到响应输出,则格式为< think>推理</think>响应。
在UI上,我想保留在简化的扩展器下的推理,以检索推理部分,让我们使用字符串索引来提取推理和实际响应。> if not client.collection_exists(collection_name=collection_name): client.create_collection( collection_name=collection_name, vectors_config=models.VectorParams(size=1024, distance=models.Distance.COSINE, on_disk=True), quantization_config=models.BinaryQuantization( binary=models.BinaryQuantizationConfig( always_ram=True, ), ), ) else: print("Collection already exists")
聊天机器人组件
>在Sparlit的会话状态中初始化消息历史记录。侧边栏中的“清晰聊天”按钮使用户可以重置此历史记录。
for idx in range(0, len(texts), BATCH_SIZE): docs = texts[idx:idx + BATCH_SIZE] embeds = embeddings[idx:idx + BATCH_SIZE] client.upload_collection(collection_name=collection_name, vectors=embeds, payload=[{"context": context} for context in docs]) client.update_collection(collection_name= collection_name, optimizer_config=models.OptimizersConfigDiff(indexing_threshold=20000))
>通过存储的消息迭代并在类似聊天的接口中显示它们。对于助手响应,它使用extract_thinking_and_answer函数将思维过程(如可扩展部分显示)与实际答案分开。剩下的代码是一种标准格式,用于在简化中定义聊天机器人组件,即输入处理为用户问题创建输入字段。提交问题时,将显示并将其添加到消息历史记录中。现在,它可以通过RAG管道处理用户的问题,同时显示加载旋转器。响应分为思考过程和回答组件。
!pip install llama-index !pip install llama-index-vector-stores-qdrant llama-index-embeddings-fastembed !pip install llama-index-readers-file !pip install llama-index-llms-groq
重要链接
- 您可以找到完整的代码
- >替代性bhagavad gita pdf-下载
- >用钥匙替换“< replace-api-key>”占位符。
结论
通过将Deepseek R1的推理,QDRANT的二进制量化和LlamainDex的RAG管道结合起来,我们建立了一个AI助手,该AI助手交出了Seviressub-2-Second Second Secondson 1,000页。该项目强调了特定于领域的LLM和优化的向量数据库如何使对古代文本的访问民主化,同时保持成本效率。随着开源模型的不断发展,利基AI应用程序的可能性是无限的。钥匙要点
DeepSeek R1竞争对手Openai O1以1/27的成本推理,非常适合特定于领域的任务,例如圣经分析,而OpenAI适合更广泛的知识需求。
使用llamaindex和qdrant的文档处理,嵌入生成和矢量存储的演示代码示例了解抹布管道实现。通过QDRANT中的二进制量化,有效的矢量存储优化,从而可以处理大型文档收集,同时保持性能和准确性。 - >结构化的及时工程实施,具有清晰的模板来处理多语言查询(英语,印地语,梵语)并有效地管理外面的问题。 > 使用简化的交互式UI,以推导一旦存储在矢量数据库中的应用程序。
- 常见问题
- > Q1。
- 二进制量化会降低答案质量吗?对召回的影响最小! Qdrant的过采样采样使用原始矢量重新排名最高的候选者,保持准确性,同时提高速度40倍,并将内存使用量减少97%。 >快速培养的可以处理诸如梵文/印地语的非英语文本?
> Q3。 为什么选择DeepSeek R1而不是OpenAi O1? DeepSeek R1的API成本降低了27倍,推理精度(20.5%vs 21%)以及卓越的编码/特定于域的性能。它是经文分析等专业任务的理想选择。 >本文所示的媒体不归Analytics Vidhya拥有,并由作者的酌情决定使用。
以上是建立一名博伽梵歌AI助手的详细内容。更多信息请关注PHP中文网其他相关文章!

在约翰·罗尔斯1971年具有开创性的著作《正义论》中,他提出了一种思想实验,我们应该将其作为当今人工智能设计和使用决策的核心:无知的面纱。这一理念为理解公平提供了一个简单的工具,也为领导者如何利用这种理解来公平地设计和实施人工智能提供了一个蓝图。 设想一下,您正在为一个新的社会制定规则。但有一个前提:您事先不知道自己在这个社会中将扮演什么角色。您最终可能富有或贫穷,健康或残疾,属于多数派或边缘少数群体。在这种“无知的面纱”下运作,可以防止规则制定者做出有利于自身的决策。相反,人们会更有动力制定公

许多公司专门从事机器人流程自动化(RPA),提供机器人以使重复性任务自动化 - UIPATH,在任何地方自动化,蓝色棱镜等。 同时,过程采矿,编排和智能文档处理专业

AI的未来超越了简单的单词预测和对话模拟。 AI代理人正在出现,能够独立行动和任务完成。 这种转变已经在诸如Anthropic的Claude之类的工具中很明显。 AI代理:研究

快速的技术进步需要对工作未来的前瞻性观点。 当AI超越生产力并开始塑造我们的社会结构时,会发生什么? Topher McDougal即将出版的书Gaia Wakes:

产品分类通常涉及复杂的代码,例如诸如统一系统(HS)等系统的“ HS 8471.30”,对于国际贸易和国内销售至关重要。 这些代码确保正确的税收申请,影响每个INV

数据中心能源消耗与气候科技投资的未来 本文探讨了人工智能驱动的数据中心能源消耗激增及其对气候变化的影响,并分析了应对这一挑战的创新解决方案和政策建议。 能源需求的挑战: 大型超大规模数据中心耗电量巨大,堪比数十万个普通北美家庭的总和,而新兴的AI超大规模中心耗电量更是数十倍于此。2024年前八个月,微软、Meta、谷歌和亚马逊在AI数据中心建设和运营方面的投资已达约1250亿美元(摩根大通,2024)(表1)。 不断增长的能源需求既是挑战也是机遇。据Canary Media报道,迫在眉睫的电

生成式AI正在彻底改变影视制作。Luma的Ray 2模型,以及Runway的Gen-4、OpenAI的Sora、Google的Veo等众多新模型,正在以前所未有的速度提升生成视频的质量。这些模型能够轻松制作出复杂的特效和逼真的场景,甚至连短视频剪辑和具有摄像机感知的运动效果也已实现。虽然这些工具的操控性和一致性仍有待提高,但其进步速度令人惊叹。 生成式视频正在成为一种独立的媒介形式。一些模型擅长动画制作,另一些则擅长真人影像。值得注意的是,Adobe的Firefly和Moonvalley的Ma

ChatGPT用户体验下降:是模型退化还是用户期望? 近期,大量ChatGPT付费用户抱怨其性能下降,引发广泛关注。 用户报告称模型响应速度变慢,答案更简短、缺乏帮助,甚至出现更多幻觉。一些用户在社交媒体上表达了不满,指出ChatGPT变得“过于讨好”,倾向于验证用户观点而非提供批判性反馈。 这不仅影响用户体验,也给企业客户带来实际损失,例如生产力下降和计算资源浪费。 性能下降的证据 许多用户报告了ChatGPT性能的显着退化,尤其是在GPT-4(即将于本月底停止服务)等旧版模型中。 这


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

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

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。