【騰訊云云上實驗室-向量數據庫】Tencent Cloud VectorDB為非結構化數據查詢插上飛翔的翅膀——以企業知識庫為例

前言

以前我曾疑惑,對于非結構化的內容,如一張圖片或一段視頻,如何實現搜索呢?圖片或視頻作為二進制文件,我們如何將其轉化為可搜索的數據并存儲起來,然后在搜索時將其還原呢?

后來我發現,實際上我們可以將非結構化的內容轉化為結構化的內容,然后進行存儲。這樣,我們就可以對其進行搜索了。如何實現這一轉化呢?向量化是非結構化內容轉化為結構化內容的關鍵。

向量在數學和物理中表示大小和方向。它由一組有序的數值組成,比如[0.2123, 0.23, 0.213]。這些數值代表了向量在每個坐標軸上的分量。在AI中,向量可以用來表示任何事物,如圖像、視頻、音頻、文本等。向量是數據科學中最重要的概念之一,它幫助我們將非結構化數據轉換為結構化數據,以便進行分析和處理。

我們可以使用多維度向量來表述某個對象或事物的屬性或特征,然后再借助一些向量檢索的方法,如內積(IP),歐式距離(L2)或者余弦相似度(COSINE)算法來進行搜索。常用的圖片搜索、短視頻搜索以及推薦系統都是基于向量進行的。那么這些向量是如何存儲的呢?存儲向量的數據庫與傳統的數據庫有什么區別呢?今天我要給大家介紹的是一款存儲向量的數據庫——騰訊云向量數據庫(Tencent Cloud VectorDB)。

向量數據庫

向量數據庫是一種專門用于存儲和檢索高維向量的數據庫,適用于處理圖像、視頻、音頻、文本等非結構化數據。隨著非結構化數據搜索需求的不斷增長,向量數據庫在近年來得到了廣泛應用。騰訊云向量數據庫(Tencent Cloud VectorDB)是一種全托管的自研企業級分布式數據庫服務,專為存儲、檢索、分析多維向量數據而設計。

與傳統數據庫不同,向量數據庫借助向量檢索技術,通過計算向量間的相似度來進行數據檢索。這種檢索方式在處理非結構化數據時具有顯著的優勢,可以更加準確地匹配用戶的查詢需求。騰訊云向量數據庫(Tencent Cloud VectorDB)采用了先進的向量檢索技術,并針對多維向量數據進行了優化,以提供高效、準確的檢索服務。下面讓我們詳細了解一下它的組成和特征。

邏輯層級

要了解Tencent Cloud VectorDB,就要先了解它的邏輯層級,邏輯層級代表了它存儲數據的結構,它具有三個邏輯層級,分別是Database、Collection、Document。一個數據庫實例可以存在多個database,這一點與傳統的數據庫一致,一個database可以存在多個collection, 這里的collection你可以簡單理解為mysql中的中一張表,由于向量數據庫不屬于SQL數據庫,在創建表時,自然也與傳統SQL數據庫不一樣,下面會講解如何創建collection。 一個collection可以存在多個document,document就類似是一張表的多條記錄,行。
下面的圖片解釋了Tencent Cloud VectorDB的邏輯層級。
在這里插入圖片描述

索引

邏輯層級代表了數據的層級結構,而向量索引則是用于快速搜索的基礎。
Tencent Cloud VectorDB目前支持多種索引類型,分別是用于快速查找特定行的主鍵索引Primary Key Index,和用于快速查找相似向量的向量索引Vector Index(向量索引又分為FLATHNSWIVF 系列,詳情描述可以查閱官方文檔),以及建立在標量字段的Filter索引 Filter Index。

基于向量的相似度算法

邏輯層級是數據的存儲層級,而索引是為了加快數據的搜索,那么對于向量的搜索Tencent Cloud VectorDB又支持那些算法那?
目前支持了比較主流的三種算法分別是內積(IP),歐式距離(L2),余弦相似度(COSINE)
(注意:在創建 Collection 時,就需指定向量的索引類型(如 HNSW 等)與 相似度計算方法,而不是搜索時。)

內積(IP):
全稱為 Inner Product,內積也稱點積,計算結果是一個數。它計算兩個向量之間的點積(內積),其計算公式如下所示:
在這里插入圖片描述
歐式距離(L2):
歐式距離(L2)全稱為 Euclidean distance,指歐幾里得距離。它計算兩個向量點在空間中的直線距離。其計算公式如下所示:
在這里插入圖片描述
余弦相似度(COSINE):
余弦相似度(Cosine Similarity)算法,是一種常用的文本相似度計算方法。它通過計算兩個向量在多維空間中的夾角余弦值來衡量它們的相似程度。其計算公式如下所示:
在這里插入圖片描述

需要注意的是 向量索引與相似算法是 影響搜索結果的準確性的兩大因素,我們在Collection時要根據具體的數據和業務選擇合適的索引和算法。

騰訊云向量數據庫的申請,實例管理

通過上面的概念介紹和名稱解釋,你是不是已經迫不及待地想要體驗一下Tencent Cloud VectorDB。那么下面就跟著我一起來體驗一下Tencent Cloud VectorDB的功能吧。

申請使用

你可以官方的內測申請,來申請使用Tencent Cloud VectorDB。試用期間費用都是免費的,包括數據存儲,Embedding Token的消耗,外網訪問。內測期間,免費試用時長1個月。
內測資格發放后,登錄騰訊云控制臺,進入向量數據庫實例列表

你會看到有一條實例已經創建。
在這里插入圖片描述
如果沒有的話,嘗試切換其他區域。
使用的實例,規格是:基礎型 1 核 1 GB,總磁盤容量20GB。默認不開啟外網。
如要開啟外網功能,點擊實例列表中的 外網:開啟按鈕。然后填入0.0.0.0/0。注意生產環境不建議這樣填。
在這里插入圖片描述

實例監控

點擊實例ID或者名,除了可以查看實例的詳情,還會看到實例的實時監控。
如下:在這里插入圖片描述
監控的類型有很多,CPU使用率,內存使用率,硬盤空間使用率,磁盤空間使用量,
網絡監控包括網絡流入瀏覽,網絡流出流量。
請求監控,響應監控。
在這里插入圖片描述
監控的還是比較全面的。

數據庫可視化管理,DMC的使用

Tencent Cloud VectorDB是使用DMC 向量數據庫客戶端進行可視化管理,它提供鏈接數據庫實例,創建Database,創建Collection,以及增刪改查Document等一系列常規操作。
你可以實例詳情的 登錄按鈕進入到DMC的登錄頁面
在這里插入圖片描述
進入登錄頁面后,你需要正確選擇數據庫實例所在的區域,并填入賬號和密碼。
在這里插入圖片描述
賬號與密碼從 秘鑰管理 處可以獲取。如下圖:使用API時也需要使用這兩個參數,請妥善保管,謹防泄露。
在這里插入圖片描述
登錄DMC可以查看到數據庫實例下的 Database與Collection,如下圖:(默認是空的)在這里插入圖片描述
點擊以下圖標可以進行新建database。
在這里插入圖片描述

在新建database時,需要輸入database的名稱。
點擊database旁邊的加號,進行新建集合
在這里插入圖片描述
在新建集合時,需要特別注意是的開啟Embedding選項,在開啟Embedding選項后,會必須填入一個原始文本字段,該字段在存入數據時會使用用戶選擇的Embedding 模型進行向量化(但用戶看到的還是原始文本)。如下圖:
在這里插入圖片描述
由于Collection相當于一張表,那么這個代表著一張表,只有一個字段可以使用Embedding 模型進行向量化。

另外值得注意的是,在創建索引時,向量索引只能創建一個,而且默認已經創建好,用戶可以修改索引類型,相似性方法。
在這里插入圖片描述
在創建Collection時,只需要創建索引字段即可,非索引字段可以不用創建。類mysql的數據庫,在創建表時,需要定義表中存在的字段和類型。但是Tencent Cloud VectorDB不需要,
向量數據庫字段(Field)具備 Schemaless 特性。即不需要預先定義模式,便可以將任意數量和類型的字段添加到Document 中。使用時,僅需關注需要構建索引的字段。字段的類型也有隨意變更。

執行查詢任務時,直接點擊某一個Collection在這里插入圖片描述
在精確查詢時,直接點擊執行,可以查詢出10條記錄。

要使用相似度查詢的話,需要輸如一個文本,該文本將從被Embedding 的字段中搜索。使用匹配的相似度算法。
在這里插入圖片描述

數據的插入和更新

在DMC中插入數據需要點擊某個集合,打開操作窗,并選中插入/替換

這是一個插入的示例

{"database": "fizz1120","collection": "product_article","buildIndex": true,"documents": [{"id": "f001","name": "tom"},{"id": "f002","name": "fizz"}]
}

json中需要包含database,collection和documents 三個重要是屬性。
插入數據、如果 ID 已存在會覆蓋原始數據,此外在插入數據時,如果你在創建collection時打開了Embedding ,那么documents中的每個記錄都需要配置該字段,否則無法插入成功。如下圖:
在這里插入圖片描述
配置text字段后,就能夠正常插入值
在這里插入圖片描述
由于document中字段是不必一直的,所以你可以配置成這樣子

{"database": "fizz1120","collection": "product_article","buildIndex": true,"documents": [{"id": "f001","name": "tom","text": "白日依山盡","time": "2023年11月21日09:56:38","updatetime": "2023年11月21日09:56:38","address": "中國深圳",},{"id": "f002","name": "fizz","text": "黃河入海流"}]
}

性能測試,測試騰訊向量數據庫的查詢處理能力

為了驗證騰訊騰訊云向量數據庫(Tencent Cloud VectorDB)的查詢能力,我們使用開源工具 ann-benchmark 對騰訊向量數據庫進行了性能測試后,得到了很多詳細的數據。
衡量一個數據庫的查詢能力,一個重要的指標就是吞吐量QPS,它是指系統在單位時間內能夠處理的查詢請求數量,是衡量系統查詢處理能力的重要指標。我們測試了不同維度的 QPS 數據、不同召回率下的 QPS 數據、不同數據規模的 QPS 數據。
最終得出的測試結論:
數據集128維與768維某開源向量數據庫與騰訊云向量數據庫的 QPS 對比測試數據,如下所示。通過如下對比視圖,可看出騰訊云的 QPS 性能具有顯著優勢。通過該項測試,可得出如下結論:

  • 在不同維度的數據集下,HNSW 索引都可以達到99%以上的召回率。
  • 在數據量相同的情況下,隨著向量維度的增加,檢索時資源開銷增加,騰訊云向量數據庫 QPS 會有所降低。
  • 同一數據集,與某開源自建向量數據庫對比,騰訊云向量數據庫的 QPS 有36%到279%的提升。對比視圖,如下所示。

    針對不同召回率下的 QPS 對比,測試結果是
  • 同一數據集,召回率要求越高,即 ef 參數(指定尋找節點鄰居遍歷的范圍)設置越大時,QPS越低。 不同召回率 QPS 的對比視圖,如下所示。
  • 同一數據集,在其他配置不變的情況下,若需提高召回率,可適當增加查詢參數 ef。
    在這里插入圖片描述

向量數據庫如何增強企業知識庫搜索?

上面介紹完騰訊云向量數據庫(Tencent Cloud VectorDB)的性能后,相信大家一定迫不及待想要在實踐一下,看下它在日常搜索中的表現。那么下面我就帶領大家以企業知識庫的場景實踐一下。
在騰訊云向量數據庫的產品資料中有關于大模型知識庫的場景方案,這里也給大家簡單介紹一下。
騰訊云向量數據庫可以和大語言模型 LLM 配合使用。企業的私域數據在經過文本分割、向量化后,可以存儲在騰訊云向量數據庫中,構建起企業專屬的外部知識庫,從而在后續的檢索任務中,為大模型提供提示信息,輔助大模型生成更加準確的答案。
在這里插入圖片描述
流程比較復雜,我簡單描述一下使用神經網絡將知識庫分割,一條條的記錄。然后使用向量化模型進行向量化,存入到向量數據庫中。最后通過API來向外提供檢索,查詢。

知識庫處理

本次實踐我們暫未使用大模型語言LLM,更加注重向量數據庫的使用。
使用的知識庫就是 騰訊云向量數據庫的知識文檔。
為了降低難度和節約時間,我們只解析一頁文檔。即騰訊云向量數據庫的介紹
在這里插入圖片描述

數據庫建模,創建Collection,創建索引,指定搜索算法

我們先創建相應的集合用于保存文檔數據。集合配置參數如下:在這里插入圖片描述
需要向量化的字段為text,主鍵為id。使用的向量化模型為bge-base-zh,這也是推薦使用的模型。另外相似算法使用的是COSINE。

建好模后,我們來處理知識庫的原始數據,將我們知識庫的文本內容以txt文件保存下來(目前圖片無法進行向量化保存),保存下來后,我們需要將內容進行拆分,分割成一小段,一小段,可以以逗號,句號,和換行符進行分割。最后我們組裝成這樣的數據結構。

[{"id" : "001","time": "2023-10-27","author": "騰訊云","link": "https://cloud.tencent.com/document/product/1709/94945","text": "本頁面旨在通過回答幾個問題來讓您大致了解騰訊云向量數據庫(Tencent Cloud VectorDB)"},{"id" : "002","time": "2023-10-27","author": "騰訊云","link": "https://cloud.tencent.com/document/product/1709/94945","text": "讀完本頁后,您將了解騰訊云向量數據庫是什么、它是如何工作的、關鍵概念、為什么使用騰訊云向量數據庫、支持的索引和指標、架構和相關連接方式"},{"id" : "003","time": "2023-10-27","author": "騰訊云","link": "https://cloud.tencent.com/document/product/1709/94945#54308cd9-4ab5-433c-b6dc-bdacd59183e7","text": "騰訊云向量數據庫是什么?"},{"id" : "004","time": "2023-10-27","author": "騰訊云","link": "https://cloud.tencent.com/document/product/1709/94945#54308cd9-4ab5-433c-b6dc-bdacd59183e7","text": "騰訊云向量數據庫是一款全托管的自研企業級分布式數據庫服務,專用于存儲、檢索、分析多維向量數據。"},{"id" : "005","time": "2023-10-27","author": "騰訊云","link": "https://cloud.tencent.com/document/product/1709/94945#54308cd9-4ab5-433c-b6dc-bdacd59183e7","text": "該數據庫支持多種索引類型和相似度計算方法,單索引支持10億級向量規模,可支持百萬級 QPS 及毫秒級查詢延遲。"},{"id" : "006","time": "2023-10-27","author": "騰訊云","link": "https://cloud.tencent.com/document/product/1709/94945#54308cd9-4ab5-433c-b6dc-bdacd59183e7","text": "騰訊云向量數據庫不僅能為大模型提供外部知識庫,提高大模型回答的準確性,還可廣泛應用于推薦系統、NLP 服務、計算機視覺、智能客服等 AI 領域"}
]
  • id 主鍵
  • time 文檔撰寫時間
  • author 作者
  • link 文檔片段的錨點
  • text 需要向量化的原始文檔文本

插入數據

一篇文章我們大概能夠分割出100多條記錄。然后將這些記錄,一次性插入到向量數據庫中。
本次實踐我們使用 HTTP 協議進行數據寫入和查詢等操作,編程語言是用Nodejs。

以下是向向量數據庫批量插入文檔的核心代碼

批量插入文檔

const axios = require('axios')
const documents = require('./documents') // 存放記錄的js文件
const account = '' // 數據庫賬號
const apiKey = '' // 數據庫秘鑰
const databaseLink = '' // 數據庫外網地址
const headers = {Authorization: `Bearer account=${account}&api_key=${apiKey}`,
}async function insertDoc(documents) {try {const sendData = {database: 'fizz1120',collection: 'product_article',buildIndex: true,documents,}const response = await axios.post(`${databaseLink}/document/upsert`, sendData, headers)console.log('插入成功', response.statusText)} catch (error) {console.error(`請求遇到問題: ${error.message}`)}
}insertDoc(documents)

腳本運行成功后,控制臺會打印出插入成功的字樣。
然后我們在DMC中對某個集合查看詳情,
在這里插入圖片描述
可以看到,文檔已經被插入了數據庫,目前文檔數位101。
在這里插入圖片描述

數據查詢

數據查詢我們使用的是相似度匹配的查詢方式,接口為/document/search ,用于查找與給定查詢向量相似的向量。
有幾個必填參數,
database: 指定要查詢的Database名稱。
collection: 指定要查詢的Collection名稱。

如果有個關鍵詞,你可以這個傳入

"search": {"embeddingItems": ["騰訊云向量數據庫是什么?"],"limit": 3,
}

下面是搜索的核心代碼

// 檢索方法
async function searchDom(keyword) {const sendData = {database: 'fizz1120',collection: 'product_article',search: {embeddingItems: [keyword],limit: 5,retrieveVector: false,},}try {const { data } = await axios({method: 'post',url: `${databaseLink}/document/search`,data: sendData,headers,})console.log(data.documents)} catch (error) {console.log(error.message, '111')}
}searchDom('騰訊云向量數據庫是什么?')

返回結果如下:
在這里插入圖片描述
由于我們查詢參數limit設置了5,所以結果返回了5條。
除了limit,還有一些參數可以控制我們的查詢結果

  • vectors 表示要查詢的向量列表。
  • documentIds 待查詢的文檔 ID 列表。數組元素數量最大為20
  • embeddingItems 輸入文本信息,用于檢索與該文本信息相似的數據。注意 vectors 、 documentIds、embeddingItems 三個字段,只需配置其中一個即可
  • params 索引類型不同,檢索時,所需配置的參數不同。
  • filter 使用創建 Collection 指定的 Filter 索引的字段設置查詢過濾表達式
  • retrieveVector 標識是否需要返回檢索結果的向量值。
  • outputFields 指定需要輸出的字段。若不設置,將返回所有字段。

至此,我們的企業知識庫的文檔處理,批量插入,相似度查詢,就全部做完了。

總結

目前騰訊云向量數據庫(Tencent Cloud VectorDB)只支持文本向量化寫入,對于音視頻和圖片等非文本,非結構化數據還不支持。但從目前的情況來看在查詢和使用上,它已經是一款非常優秀的產品。無論是配套的API支持,還是產品概念,文檔。抑或是使用的便捷,都做的非常好。
騰訊云向量數據庫作為一種專門存儲和檢索向量數據的服務提供給用戶, 在高性能、高可用、大規模、低成本、簡單易用、穩定可靠、智能運維等方面體現出顯著優勢。

產品建議和意見

1:使用DMC時,在使用插入時,如果該集合開啟了embedding,并填寫了一個字段,那么在插入時必須要有這個字段,需要在插入時給出的示例能夠包含該字段。
在這里插入圖片描述

2:在DMC中,希望能夠提供一個查看所有Document的的視圖
類似下圖
在這里插入圖片描述

3:建議數據庫權限劃分更加細一下,能夠將讀寫的權限分離。目前一個密鑰能夠完成所有的增刪改查。
在這里插入圖片描述

4:創建集合的頁面不太美觀,第一次使用該功能,非常的迷茫,不清楚填入的
在這里插入圖片描述

相關鏈接

騰訊云向量數據庫
DMC數據庫管理

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166203.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166203.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166203.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

5個高防CDN的特點

1. 支持泛解析自定義HTTPS/SSL隱藏源IP。 2. 支持緩存加速永久在線SEO優化。當網站原服務器宕機時,如果開啟了此功能,用戶仍然可以訪問網站(用戶看到的是 緩存數據),從而達到了網站永不中斷服務的效果,可以…

Minio8版本沖突問題

今天在配置minio的時候遇到了一個報錯 Error starting ApplicationContext. To display the conditions report re-run your application with debug enabled. 2023-11-24 10:31:42.897 ERROR 14312 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *******************…

blk_mq_init_queue函數學習記錄

blk-mq編程,主要要調用兩個函數進行初始化工作,blk_mq_init_queue這是第二個。該函數先是申請了struct request_queue結構,這個請求隊列后面用于賦值給磁盤那個結構體的相應成員。 struct request_queue *blk_mq_init_queue(struct blk_mq_t…

python3到文件的讀取以及輸出

excel表格的讀取和輸入輸出 python中txt的讀取和輸入輸出 txt輸出報錯👇 UnicodeEncodeError: ascii codec cant encode characters in position 154-157: ordinal not in range(128)解決方法

Tomcat 配置

1: 打開 2:選擇版本號,我這邊是 1.7 3:添加 web 4: 添加jar包 5:添加 6:添加 Tomcat

【每日一題】1410. HTML實體解析器-2023.11.23

題目: 1410. HTML 實體解析器 「HTML 實體解析器」 是一種特殊的解析器,它將 HTML 代碼作為輸入,并用字符本身替換掉所有這些特殊的字符實體。 HTML 里這些特殊字符和它們對應的字符實體包括: 雙引號:字符實體為 &…

vim翻頁快捷鍵

Vim翻頁 整頁 Ctrlf向下翻頁,下一頁,相當于Page DownCtrlb向上翻頁,上一頁,相當于Page Up 半頁 Ctrld向下半頁,下一半頁,光標下移Ctrlu向上半頁,上衣半頁,光標上移 按行 Ctrle…

vue2【組件的構成】

目錄 1:什么是組件化開發 2:vue中的組件化開發 3:vue組件的三個組成部分 4:組件中定義方法,監聽器,過濾器,計算屬性節點。 5:template中只允許唯一根節點,style默認…

OpenMLDB SQL 開發調試神器 - OpenMLDB SQL Emulator

今天為大家介紹一款來自 OpenMLDB 社區的優秀獨立工具 - OpenMLDB SQL Simulator(https://github.com/vagetablechicken/OpenMLDBSQLEmulator) ,可以讓你更加高效方便的開發、調試 OpenMLDB SQL。 為了高效的實現時序特征計算,Op…

高質量短效SOCKS5代理IP是什么意思?作為技術你了解嗎

小張是一位網絡安全技術測試員,最近他接到了一個頭疼的任務,那就是評估公司系統的安全性,因此他前來咨詢,在得知SOCKS5代理IP可以幫他之后,他不禁產生疑問,這是什么原理?其實和小張一樣的朋友不…

命令查詢職責分離 (CQRS)

CQRS 的最初需求 多年來,傳統的 CRUD(創建、讀取、更新、刪除)模式一直是系統架構的支柱。在 CRUD 中,讀取和寫入操作通常由相同的數據模型和相同的數據庫模式處理。雖然這種方法簡單直觀,但隨著系統規模的擴大和需求…

第99步 深度學習圖像目標檢測:SSDlite建模

基于WIN10的64位系統演示 一、寫在前面 本期,我們繼續學習深度學習圖像目標檢測系列,SSD(Single Shot MultiBox Detector)模型的后續版本,SSDlite模型。 二、SSDlite簡介 SSDLite 是 SSD 模型的一個變種&#xff0c…

竹云參編《公共數據授權運營平臺技術要求》團體標準正式發布

2023年11月23日,第二屆全球數字貿易博覽會“數據要素治理與市場化論壇”于杭州成功召開,國家數據局黨組書記、局長劉烈宏,浙江省委常委、常務副省長徐文光出席會議并致辭。會上,國家工業信息安全發展研究中心發布并解讀了我國首部…

[Linux] 馮諾依曼體系結構 與 操作系統

文章目錄 1、馮諾依曼體系結構2、操作系統 1、馮諾依曼體系結構 馮諾依曼結構也稱普林斯頓結構,是一種將程序指令存儲器和數據存儲器合并在一起的存儲器結構。程序指令存儲地址和數據存儲地址指向同一個存儲器的不同物理位置,因此程序指令和數據的寬度相…

【鴻蒙應用ArkTS開發系列】- 云開發入門實戰二 實現省市地區三級聯動地址選擇器組件(下)

文章目錄 概述端云調用流程端側集成AGC SDK端側省市地區聯動的地址選擇器組件開發創建省市數據模型創建省市地區視圖UI子組件創建頁面UI視圖Page文件 打包測試總結 概述 我們在前面的課程,對云開發的入門做了介紹,以及使用一個省市地區聯動的地址選擇器…

三次輸錯密碼后,系統是怎么做到不讓我繼續嘗試的?

1故事背景 忘記密碼這件事,相信絕大多數人都遇到過,輸一次錯一次,錯到幾次以上,就不允許你繼續嘗試了。 但當你嘗試重置密碼,又發現新密碼不能和原密碼重復: 圖片 相信此刻心情只能用一張圖形容&#xf…

Mobaxterm 使用lrzsz傳輸文件(rz/sz)

Mobaxterm 使用lrzsz傳輸文件報錯 1. 現象 最近從xshell切換到Mobaxterm其他一切正常,就是使用rz傳輸文件時會出現錯誤,比較苦惱. 會出現以下錯誤 [rootcentos7 rpmbuild]# rz ?CCCCCCCCCCC23be50ive.**B0100000023be502. 解決方法 去官網(https://mobaxterm.mobatek.net…

2021年03月 Scratch(三級)真題解析#中國電子學會#全國青少年軟件編程等級考試

Scratch等級考試(1~4級)全部真題?點這里 一、單選題(共25題,每題2分,共50分) 第1題 在《采礦》游戲中,當角色撿到黃金時財富值加1分,撿到鉆石時財富值加2分,下面哪個程序實現這個功能? A: B: C: D: 答案:D A將變量值固定,BC為雙重判斷

練習七-在Verilog中使用任務task

在Verilog中使用任務task 1,任務目的2,RTL代碼,交換3,測試代碼4,波形顯示 1,任務目的 (1)掌握任務在verilog模塊設計中的應用; (2)學會在電平敏感…

Android Studio記錄一個錯誤:Execution failed for task ‘:app:lintVitalRelease‘.

Android出現Execution failed for task :app:lintVitalRelease.> Lint found fatal errors while assembling a release target. Execution failed for task :app:lintVitalRelease解決方法 Execution failed for task ‘:app:lintVitalRelease’ build project 可以正常執…