目錄
它的工作原理
步驟3:使用二進制量化的QDRANT設置
Process-2:A-增強提示
>您已經編寫的內容沒有太大差異。我們將重複使用相同的搜索和管道功能以及我們需要運行query_points的收集名稱。
重要鏈接
結論
首頁 科技週邊 人工智慧 建立一名博伽梵歌AI助手

建立一名博伽梵歌AI助手

Mar 05, 2025 am 11:39 AM

在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
  • 下面的
是流程圖,該流程圖解釋了我們如何構建Bhagwad Gita助手:

架構概述

建立一名博伽梵歌AI助手

數據攝入:900頁的Bhagavad gita pdf分為文本塊。 嵌入:QDrant Fastembed的文本對矢量嵌入模型。

>向量DB:帶有BQ商店嵌入的QDRANT,啟用毫秒搜索。
    LLM推斷:DeepSeek R1通過GROQ LPU生成上下文感知的響應。
  • UI:簡化具有可擴展的“思考過程”可見性的應用程序。
  • >逐步實現
  • >讓我們現在按一個步驟操作:
  • step1:安裝和初始設置
  • >讓我們使用LlamainDex建立抹布管道的基礎。我們需要安裝必需軟件包,包括核心Llamaindex庫,QDRANT矢量商店集成,快速嵌入的嵌入以及用於LLM訪問的GROQ。
  • 注意:

>

>對於文檔索引,我們將使用COLAB的A gpu

存儲數據。這是一個一次性過程。

>

>保存數據後,我們可以使用集合名稱在任何地方運行推斷,無論是在VS代碼,簡化還是其他平台上。

完成安裝後,讓我們導入所需的模塊。 > step2:文檔處理和嵌入

    >在這裡,我們處理將原始文本轉換為向量表示的關鍵任務。 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中以更快地訪問。 >

    step4:索引文檔

    索引過程將我們的處理過的文檔及其嵌入到批處理中。每個文檔都與其向量表示並存,創建一個可搜索的知識庫。 >
    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,根據數據大小,此步驟可能需要幾分鐘。

    步驟5:帶有DeepSeek r1

    的抹布管道

    process-1:r-檢索相關文檔

    >搜索功能採用用戶查詢,將其轉換為嵌入,並根據余弦相似性從Qdrant中檢索最相關的文檔。我們通過有關Bhagavad-Gītā的示例查詢進行了證明,展示瞭如何訪問和打印檢索到的上下文。
    !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-生成響應

    >最終管道將所有內容融合在一起。它遵循檢索儀式生成模式:檢索相關文檔,使用我們的專業及時模板增強它們,並使用LLM生成響應。在這裡,我們將使用deepSeek r-1蒸餾羊lama 70 B託管在Groq上,從這裡獲取您的鑰匙:Groq Console。

    data = SimpleDirectoryReader("data").load_data()
    texts = [doc.text for doc in data]
    
    embeddings = []
    BATCH_SIZE = 50
    登入後複製
    登入後複製
    output :(語法:< think>推理</think>響應)

    建立一名博伽梵歌AI助手

    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)
    登入後複製
    登入後複製

    建立一名博伽梵歌AI助手

    現在,如果您需要再次使用此應用程序怎麼辦?我們應該再次執行所有步驟嗎?

    答案是否。

    step6:保存的索引推理

    >您已經編寫的內容沒有太大差異。我們將重複使用相同的搜索和管道功能以及我們需要運行query_points的收集名稱。

    >我們將在“ sparlit app.py”中使用上面的兩個函數和message_template。 
    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下定義一些初始化步驟。

    請記住,當用戶輸入問題時,快速培訓將僅下載一次模型權重,GROQ和QDRANT INTANTITION也是如此。

    >

    如果您注意到響應輸出,則格式為< 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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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教學
1662
14
CakePHP 教程
1418
52
Laravel 教程
1311
25
PHP教程
1261
29
C# 教程
1234
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

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的關鍵轉變

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

Shopify首席執行官TobiLütke最近的備忘錄大膽地宣布AI對每位員工的基本期望是公司內部的重大文化轉變。 這不是短暫的趨勢。這是整合到P中的新操作範式

視覺語言模型(VLMS)的綜合指南 視覺語言模型(VLMS)的綜合指南 Apr 12, 2025 am 11:58 AM

介紹 想像一下,穿過​​美術館,周圍是生動的繪畫和雕塑。現在,如果您可以向每一部分提出一個問題並獲得有意義的答案,該怎麼辦?您可能會問:“您在講什麼故事?

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

介紹 Openai已根據備受期待的“草莓”建築發布了其新模型。這種稱為O1的創新模型增強了推理能力,使其可以通過問題進行思考

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

SQL的Alter表語句:動態地將列添加到數據庫 在數據管理中,SQL的適應性至關重要。 需要即時調整數據庫結構嗎? Alter表語句是您的解決方案。本指南的詳細信息添加了Colu

3種運行Llama 3.2的方法-Analytics Vidhya 3種運行Llama 3.2的方法-Analytics Vidhya Apr 11, 2025 am 11:56 AM

Meta's Llama 3.2:多式聯運AI強力 Meta的最新多模式模型Llama 3.2代表了AI的重大進步,具有增強的語言理解力,提高的準確性和出色的文本生成能力。 它的能力t

See all articles