AI書籍大模型微調-基于亮數據獲取垂直數據集

大模型的開源,使得每位小伙伴都能獲得AI的加持,包括你可以通過AIGC完成工作總結,圖片生成等。這種加持是通用性的,并不會對個人的工作帶來定制的影響,因此各個行業都出現了垂直領域大模型。

垂直大模型是如何訓練出來的

簡單來說,就是各個大模型公司通過大量的數據集,訓練出一個base模型或SFT模型,就是下圖的Pre-trained LLM預訓練大模型,這個大模型就是通用大模型。
在基于垂直領域的數據集Custom knowledge進行微調Fine tuning,微調的過程也是一個訓練的過程,最終獲得一個微調后的垂直領域大模型Fine-tuned LLM。
在這里插入圖片描述

如果想制作一個與書籍相關的垂直領域大模型,就需要大量的書籍數據,這時就需要獲得相關數據,以下通過亮數據(Bright Data) 完成書籍相關數據的獲取工作。

如果獲取AI書籍大模型的數據集

想構建一個AI書籍大模型,完成一個更懂人類書籍的大模型,為喜歡閱讀書籍的朋友提供定制服務,比如可以更懂古代文獻,更懂專業書籍的大模型。首先就需要獲取書籍的相關數據,包括評論數據和書籍內容。
數據采集技術很多,基于Python的框架也是足夠的豐富,如requests和selenium,這就要求讀者會進行網頁解析。
對于想快速獲取數據集的同學來說,可以基于一個數據采集工具,🌰,本文基于亮數據(Bright Data)獲取相關數據集,鏈接如下:

https://get.brightdata.com/

書籍領域的數據獲取

數據獲取平臺-亮數據(Bright Data)介紹

亮數據(Bright Data) ,是一款低代碼爬蟲平臺,既有現成的爬蟲解鎖框架,還提供IP代理服務。

亮數據首頁
在這里插入圖片描述
亮數據提供的產品主要包括代理服務,抓取自動化與數據洞察等
在這里插入圖片描述
本文主要基于抓取自動化中的完成數據采集的測試與爬取
在這里插入圖片描述

亮數據使用步驟

新用戶有亮數據的免費贈送的$,可以率先體驗下,比較友好。

1.注冊亮數據

點擊鏈接進入主頁
亮數據(Bright Data)
在這里插入圖片描述
單擊登錄
在這里插入圖片描述
首次使用可以點擊注冊
在這里插入圖片描述
輸入必備的信息后,點擊創建賬戶,創建完畢后,可進入控制臺

2.創建爬蟲任務

在控制臺頁面可以看到右上角提供了一個AI對話功能
在這里插入圖片描述
詢問以下如何獲取相關數據集
在這里插入圖片描述
也可以直接單擊代理&抓取集成設置下的代理產品
在這里插入圖片描述
單擊獲取代理產品
在這里插入圖片描述

單擊開始使用
在這里插入圖片描述

輸入通道名稱為:scraping_browser1_douban
通道描述為:獲取某瓣的圖書數據

單擊向下箭頭,也可以切換抓取器類型,這里選擇默認的抓取瀏覽器
在這里插入圖片描述
單擊添加和確定,完成通道添加
在這里插入圖片描述
會提示配置信息
在這里插入圖片描述
單擊 continue with Scraping browser playground,完成爬蟲任務創建

3.生成代碼-測試亮數據的ip池

在彈出的頁面配置中,選擇概覽,在選擇探索測試環境
在這里插入圖片描述
在操作平臺中可以切換要生成的爬蟲案例代碼,這里選擇python語言的selenium框架
在這里插入圖片描述

按照提示安裝selenium依賴

pip3 install selenium

提示如下:

Successfully installed cffi-1.17.1 outcome-1.3.0.post0 pycparser-2.22 pysocks-1.7.1 selenium-4.31.0 sortedcontainers-2.4.0 trio-0.29.0 trio-websocket-0.12.2 wsproto-1.2.0

在本地創建 scrapydemo.py,復制代碼到本地

在這里插入圖片描述

代碼如下,這里的AUTH已經填充完畢,如果需要更改,可以在配置中復制用戶名即可

在這里插入圖片描述

代碼如下:
把測試的網址替換為: http://httpbin.org/get,該網站可以返回請求的信息
備注:這里的代理信息會在后文刪除,在使用過程中,替換為自己的信息就好

from selenium.webdriver import Remote, ChromeOptions
from selenium.webdriver.chromium.remote_connection import ChromiumRemoteConnection
from selenium.webdriver.common.by import By
AUTH = 'brd-customer-hl_bb7deac0-zone-scraping_browser1_douban:orrix11nxwh4'
SBR_WEBDRIVER = f'https://{AUTH}@brd.superproxy.io:9515'
def main():print('Connecting to Scraping Browser...')sbr_connection = ChromiumRemoteConnection(SBR_WEBDRIVER, 'goog', 'chrome')with Remote(sbr_connection, options=ChromeOptions()) as driver:print('Connected! Navigating...')# 這里把測試網站替換位 http://httpbin.org/geturl = "http://httpbin.org/get"# url = "https://example.com"driver.get(url)print('Taking page screenshot to file page.png')driver.get_screenshot_as_file('./page.png')print('Navigated! Scraping page content...')html = driver.page_sourceprint(html)
if __name__ == '__main__':main()

運行測試,輸出如下:

控制臺輸出
在這里插入圖片描述

保存的頁面png如下
在這里插入圖片描述
再次運行該代碼,返回如下:
在這里插入圖片描述
在這里插入圖片描述
可以看到兩次的地址發生了改變,可以減少被屏蔽ip的情況發生。
同時點擊控制臺中的左下角的支付,可以查看消費情況
在這里插入圖片描述

4.修改代碼獲取豆瓣的書籍數據(可用代碼)
import time
from lxml import etree
import csv
from selenium.webdriver import Remote, ChromeOptions
from selenium.webdriver.chromium.remote_connection import ChromiumRemoteConnection
from selenium.webdriver.common.by import By
AUTH = 'brd-customer-hl_bb7deac0-zone-scraping_browser1_douban:orrix11nxwh4'
SBR_WEBDRIVER = f'https://{AUTH}@brd.superproxy.io:9515'
def main():print('Connecting to Scraping Browser...')sbr_connection = ChromiumRemoteConnection(SBR_WEBDRIVER, 'goog', 'chrome')with Remote(sbr_connection, options=ChromeOptions()) as driver:print('Connected! Navigating...')# url = "http://httpbin.org/get"start_url = "https://book.douban.com/subject_search?search_text=python&cat=1001&start=%25s0"# url = "https://example.com"content = driver.get(start_url)num=0while True:num+=1# 停一下,等待加載完畢time.sleep(2)# 獲取網頁內容Elementscontent = driver.page_source# 提取數據data_list = etree.HTML(content).xpath('//div[@class="item-root"]')[1:]for data in data_list:item = {}item["name"] = data.xpath("./div/div[1]/a/text()")[0]item["score"] = data.xpath("./div/div[2]/span[2]/text()")[0]with open("./豆瓣圖書.csv", "a", encoding="utf-8") as file:writer = csv.writer(file)writer.writerow(item.values())print(item)# 找到后頁next = driver.find_element(By.XPATH,'//a[contains(text(),"后頁")]')# 判斷if next.get_attribute("href"):# 單擊next.click()else:# 跳出循環breakif num>3:breakprint('Taking page screenshot to file page.png')driver.get_screenshot_as_file(f'./page{num}.png')print('Navigated! Scraping page content...',num)# html = driver.page_source# print(html)
if __name__ == '__main__':main()

輸出如下:

在這里插入圖片描述
保存的頁面快照如下
在這里插入圖片描述

5.刪除亮數據的代理

如果數據采集任務完成,我們可以選擇刪除代理,便于控制使用費用,這點是十分友好的,避免定時爬蟲的反復消費。
在這里插入圖片描述
刪除后狀態如下
在這里插入圖片描述

通過亮數據的WEB Datasets下載

如果是對爬蟲技術不了解的朋友,也可以在亮數據的WEB Datasets中下載數據,步驟如下:

單擊Web Datasets -->輸入book–>選擇Goodreads books
Goodreads是“美國版豆瓣”。
它是全球最大的在線讀者社區和圖書推薦平臺,擁有龐大的書籍數據庫,涵蓋各種類型的書籍。同時會員數量過億,分布在全世界各地。Goodreads的用戶們可以對讀過的書籍撰寫書評并打分,其他用戶也可以進行點贊、評論,加入討論、分享觀點。

在這里插入圖片描述
進入頁面后,可以下載樣例數據
在這里插入圖片描述
下載后的樣例如下:
在這里插入圖片描述

數據獲取總結

如果需要獲取垂直領域的數據集,可以通過代理自行下載,也可以查找亮數據(Bright Data) 是否有現有的數據集,這兩點可以滿足不同的需求,比較友好💯。

垂直大模型舉例

氫界專利大模型
在這里插入圖片描述

醫療領域大模型
在這里插入圖片描述
鏈接:https://baijiahao.baidu.com/s?id=1808887323039887765

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

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

相關文章

【2025軟考高級架構師】——計算機系統基礎(7)

摘要 本文主要介紹了計算機系統的組成,包括硬件和軟件兩大部分。硬件由處理器、存儲器、總線、接口和外部設備等組成,軟件則涵蓋系統軟件和應用軟件。文章還詳細闡述了馮諾依曼計算機的組成結構,包括 CPU、主存儲器、外存等,并解…

AI大模型之模型幻覺

模型幻覺(Model Hallucination)是大模型生成內容時脫離事實、虛構信息的一種現象,尤其在語言模型、圖像生成模型等中較為常見。為了更深入地理解這一現象,我們可以將其分為兩個維度進行分析:內在幻覺(Intrinsic Hallucination) 和 外在幻覺(Extrinsic Hallucination)。…

spring Ai---向量知識庫(一)

在一些垂直領域以及公司內部信息相關或者實時性相關的大模型應用,就無法直接使用chatGPT。 這個時候,向量知識庫就進入了。 通過坐標向量最接近的即為匹配相關答案。 向量模型定義:將文檔向量化,保證內容越相似的文本,…

Viper配置管理筆記

一、什么是 Viper? Viper 是 Go 語言的一個強大工具,就像一個超級管家,專門負責幫你打理程序的各種配置。它能把配置文件(比如 JSON、YAML、TOML 等格式)里的內容讀出來,還能監控配置文件的變化&#xff0…

實現對象之間的序列化和反序列化

1.什么是序列化? 在項目的開發中,為了讓前端更好的分析后端返回的結果,我們一般會將返回的信息進行序列化,序列化就是將返回對象的狀態信息轉換為一種標準化的格式,方便在網絡中傳輸也方便打印日志時號觀察&#xff0…

ThreadLocal - 原理與應用場景詳解

ThreadLocal 的基礎概念 在 Java 的多線程世界里,線程之間的數據共享與隔離一直是一個關鍵話題。如果處理不當,很容易引發線程安全問題,比如數據混亂、臟讀等。而 ThreadLocal 這個工具類,就像是為線程量身定制的 “私人儲物柜”…

iwebsec靶場 文件包含關卡通關筆記11-ssh日志文件包含

目錄 日志包含 1.構造惡意ssh登錄命令 2.配置ssh日志開啟 (1)配置sshd (2)配置rsyslog (3)重啟服務 3.寫入webshell木馬 4.獲取php信息滲透 5.蟻劍連接 日志包含 1.構造惡意ssh登錄命令 ssh服務…

Diamond軟件的使用--(4)搭建Modelsim仿真庫

使用Modelsim仿真的原因 由于diamond自帶的仿真軟件Active-HDL需要另一套Lisence,所以我們使用第三方仿真軟件Modelsim來進行仿真。 Modelsim10.5下載鏈接如下:https://pan.baidu.com/s/1G9699ocWm1UTqK2yS2igyQ 提取碼:lewa 一、Lattice仿…

2025年4月19日,四月第三周,C++,字符串數組答案解析

答案與解析 1. 輸出字符串數組所有元素 cpp 復制 下載 #include <iostream> using namespace std;int main() {string arr[] = {"apple", "banana", "cherry"};int n = sizeof(arr)/sizeof(arr[0]); // 計算數組長度for (int i = 0; …

C語言之高校學生信息快速查詢系統的實現

&#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 總有人間一兩風&#xff0c;填我十萬八千夢。 &#x1f680; 路漫漫其修遠兮&#xff0c;吾將上下而求索。 C語言之高校學生信息快速查詢系統的實現 目錄 任務陳述與分析 問題陳述問題分析 數據結構設…

【網絡篇】TCP vs UDP底層區別+網絡編程概念

大家好呀 我是浪前 今天講解的是網絡篇的第三章&#xff1a;網絡編程概念和TCP&UDP的區別 網絡編程概念TCP和UDP的區別 跨主機通信:網絡編程插座&#xff1a;網絡編程的本質&#xff1a; 網絡編程的重要概念&#xff1a;客戶端和服務器&#xff1a; 客戶端和服務器的交互模…

EMIF詳解

一、EMIF的基本定義 EMIF&#xff08;External Memory Interface&#xff0c;外部存儲器接口&#xff09; 是嵌入式處理器&#xff08;如DSP、FPGA、SoC&#xff09;用于連接外部存儲器的專用硬件接口模塊&#xff0c;負責管理處理器與存儲器之間的地址/數據總線、控制信號及時…

Keil MDK 編譯問題:function “HAL_IncTick“ declared implicitly

問題與處理策略 問題描述 ..\..\User\stm32f1xx_it.c(141): warning: #223-D: function "HAL_IncTick" declared implicitlyHAL_IncTick(); ..\..\User\stm32f1xx_it.c: 1 warning, 0 errors問題原因 在 stm32f1xx_it.c 文件中調用了 HAL_IncTick()&#xff0c;但…

Java Web項目(一)

框架 java web項目總工分為兩部分&#xff1a;客戶端&#xff08;前端&#xff09;和服務端&#xff08;后端&#xff09; 客戶端發起請求&#xff0c;服務端接受請求并進行處理 發起請求的方式&#xff1a;from表單、jQuery ajax from表單 造成全局的變化&#xff0c;在發…

Dify部署內網時遇到的代理問題及解決辦法

大家知道&#xff0c;在公網環境下利用docker安裝dify源碼鏡像比較容易&#xff0c;詳見我之前的文章&#xff0c;基于dify開發agent、workflow等非常方便&#xff0c;本次想著在內部網絡環境下也完成部署&#xff0c;以方便更多的人使用&#xff0c;但在部署到內網環境下&…

多節點監控的docker管理面板Portainer安裝指南:家庭云計算專家

背景 Portainer 是一個輕量級且功能強大的容器管理面板&#xff0c;專為 Docker 和 Kubernetes 環境設計。它通過直觀的 Web 界面簡化了容器的部署、管理和監控&#xff0c;即使是非技術用戶也能輕松上手。Portainer 支持多節點管理&#xff0c;允許用戶從一個中央控制臺管理多…

Linux內核哈希表學習筆記

前沿 近期項目中需要給自定義的驅動增加一個功能存儲相關的數據信息。結合實際業務層面,最終決定采用哈希表的結構來存儲。因為其具備快速查找,插入和刪除。其實現原理通過散列函數映射到指定位置。時間復雜度O(1).而且運算速度也快,很適合處理大量的數據場景。但是其也有一…

對于在線教育或知識付費類網站視頻處理方案

一、視頻格式&#xff1a; 1. 推薦格式&#xff1a;HLS&#xff08;HTTP Live Streaming&#xff09; 優勢?&#xff1a; ?自適應碼率?&#xff1a;根據用戶網絡狀況自動切換清晰度&#xff0c;避免卡頓。?廣泛兼容性?&#xff1a;iOS/macOS 原生支持&#xff0c;Android…

Deepseek輸出的內容如何直接轉化為word文件?

我們有時候會直接利用deepseek翻譯別人的文章或者想將deepseek輸出的內容直接復制到word文檔里。但是文本格式和word是不對應的。這時候需要輸入如下命令&#xff1a; 以上翻譯內容的格式和排版要求如下&#xff1a; 1、一級標題 字體為黑體&#xff08;三號&#xff09;&…

【Vue】組件通信(Props/Emit、EventBus、Provide/Inject)

個人主頁&#xff1a;Guiat 歸屬專欄&#xff1a;Vue 文章目錄 1. Props/Emit 父子組件通信1.1 Props 向下傳遞數據1.2 Emit 向上傳遞事件 2. EventBus 跨組件通信2.1 創建事件總線2.2 使用事件總線2.3 EventBus 優缺點 3. Provide/Inject 深層組件通信3.1 基本使用3.2 響應式處…