精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用Ollama和Go基于文本嵌入模型實現文本向量化

開發 前端
我們看到,基于Ollama加載的預訓練文本嵌入模型,我們可以在Go語言中實現高效優質的文本向量化。將文本數據映射到語義向量空間,為基于RAG的知識庫應用打下堅實的基礎。

基于RAG+大模型的應用已經成為當前AI應用領域的一個熱門方向。RAG(Retrieval-Augmented Generation)將檢索和生成兩個步驟相結合,利用外部知識庫來增強生成模型的能力(如下圖來自網絡)。

圖片圖片

在RAG賦能的大模型應用中,關鍵的一步是將文本數據向量化后存儲在向量數據庫中(如上圖的紅框),以實現快速的相似度搜索,從而檢索與輸入查詢相關的文本片段,再將檢索到的文本輸入給生成模型生成最終結果。

本文是我學習開發大模型應用的一篇小記,探討的是如何使用Ollama和Go語言實現文本數據的向量化處理,這是開發基于RAG的大模型應用的前提和基礎。

要進行文本向量化,我們首先要了解一下文本向量化的方法以及發展。

縱觀文本向量化技術的發展歷程,我們可以看到從早期的詞袋模型(Bag-of-Words)、主題模型(Topic Models),到詞嵌入(Word Embedding)、句嵌入(Sentence Embedding),再到當前基于預訓練的文本嵌入模型(Pretrained Text Embedding Models),文本向量化的方法不斷演進,語義表達能力也越來越強。

但傳統的詞袋模型忽略了詞序和語義,主題模型又難以捕捉詞間的細粒度關系,詞嵌入模型(如Word2Vec、GloVe)雖然考慮了詞的上下文,但無法很好地表征整個句子或文檔的語義。近年來,隨著預訓練語言模型(如BERT、GPT等)的崛起,出現了一系列強大的文本嵌入模型,它們在大規模語料上進行預訓練,能夠生成高質量的句子/文檔嵌入向量,廣泛應用于各類NLP任務中。下圖是抱抱臉(https://huggingface.co/)的最新文本嵌入模型的排行榜[1]:

圖片圖片

目前,基于大型預訓練語言模型的文本嵌入已成為主流方法。這些模型在大規模無監督語料上預訓練,學習到豐富的語義知識,生成的文本嵌入能較好地編碼詞語、短語和句子等多個層面的語義關系。Nomic AI[2]等組織發布了多種優秀的預訓練文本嵌入模型,應用效果獲得了較大提升。這種基于預訓練的文本嵌入模型來實現文本數據向量化的方法也緩解了Go語言生態中文本向量化的相關庫相對較少的尷尬,Gopher可以在預訓練文本嵌入模型的幫助下將文本向量化。接下來,我們就來看看如何基于Ollama和Go基于文本嵌入模型實現文本向量化。

考慮到實驗環境資源有限,以及Ollama對Text Embedding模型的支持[3],這里我選擇了Nomic AI開源發布的nomic-embed-text v1.5模型[4],雖然在抱抱臉上它的排名并不十分靠前。

下面我們就用ollama下載nomic-embed-text:v1.5模型:

$ollama pull nomic-embed-text:v1.5
pulling manifest
pulling manifest
pulling 970aa74c0a90... 100% ▕██████████████████████████████████████████████████████████████████▏ 274 MB                         
pulling c71d239df917... 100% ▕██████████████████████████████████████████████████████████████████▏  11 KB                         
pulling ce4a164fc046... 100% ▕██████████████████████████████████████████████████████████████████▏   17 B                         
pulling 31df23ea7daa... 100% ▕██████████████████████████████████████████████████████████████████▏  420 B                         
verifying sha256 digest
writing manifest
removing any unused layers
success

算上之前的Llama3模型,目前本地已經有了兩個模型:

$ollama list
NAME                       ID              SIZE      MODIFIED      
llama3:latest              71a106a91016    4.7 GB    2 weeks ago      
nomic-embed-text:v1.5      0a109f422b47    274 MB    3 seconds ago

不過與llama3的對話模型不同,nomic-embed-text:v1.5是用于本文嵌入的模型,我們不能使用命令行來run該模型并通過命令行與其交互:

$ollama run nomic-embed-text:v1.5
Error: embedding models do not support chat

一旦模型下載成功,我們就可以通過Ollama的HTTP API來訪問該模型了,下面是通過curl將一段文本向量化的命令:

$curl http://localhost:11434/api/embeddings -d '{
  "model": "nomic-embed-text:v1.5",     
  "prompt": "The sky is blue because of Rayleigh scattering"
}'
{"embedding":[-1.246808409690857,0.10344144701957703,0.6935597658157349,-0.6157534718513489,0.4244955778121948,-0.7677388191223145,1.4136837720870972,0.012530215084552765,0.007208258379250765,-0.858286440372467,1.02878999710083,0.6512939929962158,1.0005667209625244,1.4231345653533936,0.30222395062446594,-0.4343869090080261,-1.358498215675354,-1.0671193599700928,0.3035725951194763,-1.5876567363739014,-0.9811925888061523,-0.31766557693481445,-0.32180508971214294,0.5726669430732727,-1.4187577962875366,-0.23533311486244202,-0.3387795686721802,0.02435961365699768,-0.9517765641212463,0.4120883047580719,-0.4619484841823578,-0.6658303737640381,0.010240706615149975,0.7687620520591736,0.9147310853004456,-0.18446297943592072,1.6336615085601807,1.006791353225708,-0.7928107976913452,0.3333768844604492,-0.9133707880973816,-0.8000166416168213,-0.41302260756492615,0.32945334911346436,0.44106146693229675,-1.3581880331039429,-0.2830675542354584,-0.49363842606544495,0.20744864642620087,0.039297714829444885,-0.6562637686729431,-0.24374787509441376,-0.22294744849205017,-0.664574921131134,0.5489196181297302,1.0000559091567993,0.45487216114997864,0.5257866382598877,0.25838619470596313,0.8648120760917664,0.32076674699783325,1.79911208152771,-0.23030932247638702,0.27912014722824097,0.6304138898849487,-1.1762936115264893,0.2685599625110626,-0.6646256446838379,0.332780659198761,0.1742674708366394,-0.27117523550987244,-1.1485087871551514,0.07291799038648605,0.7712352275848389,...,]}

注意:如果curl請求得到的應答是類似{"error":"error starting the external llama server: exec: "ollama_llama_server": executable file not found in $PATH "},可以嘗試重啟Ollama服務來解決:systemctl restart ollama。

Ollama沒有提供sdk,我們就基于langchaingo[6]的ollama包訪問ollama本地加載的nomic-embed-text:v1.5模型,實現文本的向量化。下面是示例的源碼:

// textembedding.go
package main

import (
        "context"
        "fmt"
        "log"

        "github.com/tmc/langchaingo/llms/ollama"
)

func main() {
        llm, err := ollama.New(ollama.WithModel("nomic-embed-text:v1.5"))
        if err != nil {
                log.Fatal(err)
        }
        ctx := context.Background()
        inputText := "The sky is blue because of Rayleigh scattering"
        result, err := llm.CreateEmbedding(ctx, []string{inputText})
        if err != nil {
                log.Fatal(err)
        }

        fmt.Printf("%#v\n", result)
        fmt.Printf("%d\n", len(result[0]))
}

更新一下依賴:

# go mod tidy
go: finding module for package github.com/tmc/langchaingo/llms/ollama
go: toolchain upgrade needed to resolve github.com/tmc/langchaingo/llms/ollama
go: github.com/tmc/langchaingo@v0.1.9 requires go >= 1.22.0; switching to go1.22.3
go: downloading go1.22.3 (linux/amd64)
go: finding module for package github.com/tmc/langchaingo/llms/ollama
go: found github.com/tmc/langchaingo/llms/ollama in github.com/tmc/langchaingo v0.1.9
go: downloading github.com/stretchr/testify v1.9.0
go: downloading github.com/pkoukk/tiktoken-go v0.1.6
go: downloading gopkg.in/yaml.v3 v3.0.1
go: downloading github.com/davecgh/go-spew v1.1.1
go: downloading github.com/pmezard/go-difflib v1.0.0
go: downloading github.com/google/uuid v1.6.0
go: downloading github.com/dlclark/regexp2 v1.10.0

我本地的Go是1.21.4版本,但langchaingo需要1.22.0版本及以上,這里考慮向前兼容性[7],go下載了go1.22.3。

接下來運行一下上述程序:

$go run textembedding.go
[][]float32{[]float32{-1.2468084, 0.10344145, 0.69355977, -0.6157535, 0.42449558, -0.7677388, 1.4136838, 0.012530215, 0.0072082584, -0.85828644, 1.02879, 0.651294, 1.0005667, 1.4231346, 0.30222395, -0.4343869, -1.3584982, -1.0671194, 0.3035726, -1.5876567, -0.9811926, -0.31766558, -0.3218051, 0.57266694, -1.4187578, -0.23533311, -0.33877957, 0.024359614, -0.95177656, 0.4120883, -0.46194848, -0.6658304, 0.010240707, 0.76876205, 0.9147311, -0.18446298, 1.6336615, 1.0067914, -0.7928108, 0.33337688, -0.9133708, -0.80001664, -0.4130226, 0.32945335, 0.44106147, -1.358188, -0.28306755, -0.49363843, 0.20744865, 0.039297715, -0.65626377, -0.24374788, -0.22294745, -0.6645749, 0.5489196, 1.0000559, 0.45487216, 0.52578664, 0.2583862, 0.8648121, 0.32076675, 1.7991121, -0.23030932, 0.27912015, 0.6304139, -1.1762936, 0.26855996, -0.66462564, 0.33278066, 0.17426747, -0.27117524, -1.1485088, 0.07291799, 0.7712352, -1.2570909, -0.6230442, 0.02963586, -0.4936177, -0.014295651, 0.5730515, ... ,  -0.5260737, -0.44808808, 0.9352375}}
768

我們看到輸入的文本成功地被向量化了,我們輸出了這個向量的維度:768。

注:文本向量維度的常見的值有200、300、768、1536等。

我們看到,基于Ollama加載的預訓練文本嵌入模型,我們可以在Go語言中實現高效優質的文本向量化。將文本數據映射到語義向量空間,為基于RAG的知識庫應用打下堅實的基礎。有了向量后,我們便可以將其存儲在向量數據庫中備用,在后續的文章中,我會探討向量數據庫寫入與檢索的實現方法。

責任編輯:武曉燕 來源: TonyBai
相關推薦

2024-09-14 15:19:11

2024-06-06 09:47:56

2017-08-24 09:35:06

深度學習向量化Hash Trick

2024-11-15 08:24:41

2025-07-30 04:15:00

2011-03-07 15:02:05

FireFTP

2023-11-29 11:30:17

PDF語言模型

2023-01-02 13:12:07

模型圖像

2024-09-29 00:00:02

2023-10-27 20:52:13

OpenAIJina AI開源

2023-10-15 17:07:35

PandasPython庫

2022-09-29 10:01:05

Go編程語言文本文件

2025-10-11 07:35:14

2024-11-05 13:16:11

2024-04-19 09:37:49

Ollama大語言模型開源

2023-04-10 10:32:00

模型排序

2024-08-19 02:35:00

模型量化深度學習

2025-06-20 10:18:58

大模型

2025-04-02 00:00:00

2016-12-21 10:55:55

PHP莫斯電碼生成器
點贊
收藏

51CTO技術棧公眾號

无码国产精品一区二区免费16| 一本一道波多野结衣一区二区| 在线免费观看日本一区| 成人在线视频福利| 国产无色aaa| 亚洲人视频在线观看| 国产免费成人| 国产精品久久久99| 欧美自拍视频在线| 国产极品一区二区| 神马午夜伦理不卡 | 亚洲a级在线观看| xxxx日本黄色| 东京一区二区| 91在线一区二区三区| 欧美黑人国产人伦爽爽爽| 国产女同无遮挡互慰高潮91| h视频网站在线观看| 久久精品动漫| 亚洲欧美日韩天堂| 麻豆传传媒久久久爱| 免费成人av电影| 亚洲影院免费| 亚洲欧美精品伊人久久| 一级日本黄色片| 亚洲资源一区| 国精产品一区一区三区mba视频| 中文字幕亚洲欧美日韩在线不卡| www日韩视频| 国产三级视频在线看| 久久精品午夜| 欧美大片免费看| 青青青手机在线视频| 色综合一区二区日本韩国亚洲 | 国产精品久久麻豆| 狠狠色综合色综合网络| 国产97在线|日韩| japanese中文字幕| 成人做爰免费视频免费看| 国产欧美日韩另类一区| 成人福利免费观看| 欧美超碰在线观看| 欧美电影三区| 日韩欧美一级二级三级| 亚洲国产精品成人天堂| 欧美精品久久久久久久久久丰满| 懂色av一区二区三区免费观看| 性色av一区二区三区红粉影视| 亚洲av无码一区二区二三区| 成人国产一区| 一区二区三区在线视频免费 | 亚洲欧洲日产国产综合网| 亚洲已满18点击进入在线看片| 中国a一片一级一片| 亚洲激情中文在线| 亚洲国产精品999| av丝袜天堂网| 都市激情亚洲一区| 日本韩国精品在线| 日韩精品手机在线观看| 香蕉视频网站在线| bt7086福利一区国产| 国产成一区二区| 男人在线观看视频| 老牛国内精品亚洲成av人片| 在线观看欧美黄色| 国产一级不卡毛片| jizzjizz少妇亚洲水多| 欧美午夜在线观看| 秋霞无码一区二区| 日本在线免费| 91麻豆精品在线观看| 91精品视频在线播放| 国产一区二区在线播放视频| 国产亚洲成人一区| 日本一区二区三区四区视频| 无码无套少妇毛多18pxxxx| 免费人成在线不卡| 91av网站在线播放| 欧美黑人猛猛猛| 国产中文精品久高清在线不| 欧美成人一区二区三区| 女人和拘做爰正片视频| 成人在线免费看黄| 国产欧美一区二区精品忘忧草| 色中色综合成人| 天堂а√在线8种子蜜桃视频| 韩日av一区二区| 999视频在线观看| www.国产色| 亚洲91中文字幕无线码三区| 欧美高清性猛交| 日本高清不卡码| 9色精品在线| 欧美激情在线播放| 午夜精品久久久久99蜜桃最新版| 欧美91视频| 日韩视频中文字幕| 一级黄色片网址| 午夜电影亚洲| 国产97在线|日韩| www.国产三级| 国产福利91精品一区二区三区| 国产精品第100页| 波多野结衣视频网站| 一区二区视频欧美| 欧美老女人在线视频| 国产天堂av在线| 亚洲女同另类| 欧美成aaa人片免费看| 乱老熟女一区二区三区| 怡红院精品视频在线观看极品| 日韩男女性生活视频| 亚洲成人黄色片| 国产xxx精品视频大全| 91久久极品少妇xxxxⅹ软件| 日产精品久久久久久久性色| 97se亚洲国产综合自在线| 制服诱惑一区| 国产激情视频在线观看| 欧美日韩中文字幕在线| 能在线观看的av| 欧美激情三级| 精品久久久久久久久久久院品网 | julia中文字幕一区二区99在线| 丁香一区二区| 日韩在线一区二区三区| 91精品国产高清久久久久久91| 真实新婚偷拍xxxxx| 热re99久久精品国产99热| 欧美日韩在线视频免费播放| 99在线观看免费视频精品观看| 国产福利视频在线观看| 成人一区二区三区| 亚洲综合激情五月| 免费成人av电影| 亚洲成人综合网站| 日本三级免费网站| 伊人久久影院| 精品偷拍一区二区三区在线看| 一级片手机在线观看| 精品视频网站| 久久天天躁狠狠躁夜夜躁| 久久久久久久九九九九| 亚洲专区欧美专区| 狠狠久久综合婷婷不卡| 国产中文在线| 成人免费视频在线观看| www.99在线| 一区二区三区在线资源| 欧美xxxx做受欧美.88| 999精品国产| 97国产一区二区| 国产精品国产亚洲精品看不卡| 亚洲精品不卡在线观看| 久久久www成人免费精品| 国产在线视频在线观看| 久久久久久久波多野高潮日日| 好吊色欧美一区二区三区| 97天天综合网| 欧美日韩综合不卡| 91亚洲一线产区二线产区| 免费久久精品| 欧美大片免费观看| 免费激情视频网站| 中文字幕一区二区三区在线播放| 天天爽人人爽夜夜爽| 97一区二区国产好的精华液| 九九久久久久久久久激情| 亚洲av无码片一区二区三区| 亚洲一级二级三级| 一区二区三区 欧美| 日韩在线高清| 日韩美女主播视频| av色图一区| 国产日产一区二区三区| 岛国视频午夜一区免费在线观看| 九九视频精品在线观看| 成人在线免费观看视频| 欧美日韩亚洲一区三区| 红杏aⅴ成人免费视频| 伦理中文字幕亚洲| www.xxxx国产| 精品国产精品三级精品av网址| 亚洲污视频在线观看| 三区四区不卡| 粉嫩av四季av绯色av第一区| 蜜芽在线免费观看| 色激情天天射综合网| 国产三级黄色片| 亚洲一区二区三区高清不卡| 日本亚洲欧洲精品| 久久久久亚洲精品中文字幕| 91av国产在线| 成人影院在线观看| 亚洲男人的天堂网站| 国产精品国产三级国产普通话对白| 久久久综合激的五月天| 中文字幕剧情在线观看一区| 日韩在线观看一区二区三区| 中文字幕在线观看日韩| 亚洲国产剧情在线观看| 色婷婷香蕉在线一区二区| 中国毛片直接看| 91视频观看视频| 久久艹这里只有精品| 免费看的黄色欧美网站| 黄色网zhan| 日韩一区二区三区在线看| 欧洲永久精品大片ww免费漫画| 秋霞午夜理伦电影在线观看| 日韩福利在线播放| 国产又大又黑又粗免费视频| 波多野结衣中文字幕一区| 国产成a人亚洲精v品在线观看| 国产乱码精品一区二区三区亚洲人 | 亚洲精品成人久久电影| 日韩av女优在线观看| 高清久久久久久| 国产wwwxx| 国产精品亚洲产品| 国产乱人伦精品一区二区三区| 午夜久久av| 国产精品三级网站| 天堂地址在线www| 亚洲精品久久久久中文字幕欢迎你 | 影音先锋中文在线视频| 色小说视频一区| 97在线公开视频| 一本久道中文字幕精品亚洲嫩| 黄页网站免费观看| 99国内精品久久| 国产又粗又猛又爽又黄| 亚洲久色影视| 麻豆一区区三区四区产品精品蜜桃| 美女的胸无遮挡在线观看| 亚洲精品一区久久久久久| 亚洲va天堂va欧美ⅴa在线| 欧美人与禽zozo性伦| 欧美日韩精品在线观看视频| 国产精品久久免费看| 亚洲国产综合av| 精品一区二区三区欧美| 大陆av在线播放| 日本午夜精品| 成人国产精品av| 欧美激情福利| 午夜精品久久久久久久久久久久久| 超碰人人在线| 欧美理论电影在线观看| jizz性欧美| 欧美夫妻性视频| 青青草原av在线| 国产香蕉精品视频一区二区三区| 国产免费高清视频| 5566中文字幕一区二区电影| 日韩xxx高潮hd| 狠狠久久亚洲欧美专区| 国产成人在线观看网站| 精品久久久久久| 国产尤物在线视频| 日本道精品一区二区三区| 国产成人麻豆免费观看| 亚洲国产成人精品视频| 国产亚洲精品成人| 污片在线观看一区二区| 国产又黄又爽又色| 在线一区二区三区四区| 中文字幕永久免费视频| 欧美久久久影院| 人妻 日韩精品 中文字幕| 色爱区综合激月婷婷| 中文字幕免费播放| 日韩一区二区在线观看| 正在播放木下凛凛xv99| 欧美精品成人一区二区三区四区| 国产福利小视频| 欧美日韩国产在线播放网站| 国产精品久久久久久久成人午夜| 欧美一区二区三区喷汁尤物| 天天综合久久综合| 欧美日韩的一区二区| 精品国产av一区二区三区| 亚洲成人黄色在线| 男人久久精品| 久久精品中文字幕电影| 白白色在线观看| 欧美成人中文字幕在线| 国产资源在线观看入口av| 九九视频直播综合网| 超级白嫩亚洲国产第一| 国产精品久久久久久久久久久久| 国产精品一区免费在线| 精品一区久久久| 999国产精品999久久久久久| www.国产在线视频| 日本视频一区二区| 激情婷婷综合网| 国产麻豆精品久久一二三| 午夜欧美福利视频| 国产成人在线影院| 91成人在线免费视频| 一区二区三区日韩欧美精品 | 欧美日高清视频| 天天操天天干天天| 亚洲成人av片在线观看| av网站大全在线观看| 亚洲**2019国产| 在线观看亚洲精品福利片| 国产精品久久久久免费a∨| 日本一区二区三区播放| 日本一区二区精品视频| 亚洲午夜黄色| 少妇无码av无码专区在线观看 | 国产精品热久久久久夜色精品三区 | 老熟妇高潮一区二区高清视频| 日韩一区二区免费高清| 黄色在线小视频| 久久免费视频在线观看| 成人bbav| 99久久99久久精品国产片| 精品av一区二区| 鲁一鲁一鲁一鲁一澡| 国产毛片精品视频| 中文字幕黄色网址| 日韩人在线观看| 五月天激情开心网| 久久人人爽国产| 天堂精品久久久久| 精品一区二区成人免费视频 | 成年人看片网站| 一色桃子久久精品亚洲| 欧美成人一区二区视频| 亚洲精品一区二区久| 桃色av一区二区| 国产精品久久久久久久久免费| 爱爱精品视频| 日韩欧美猛交xxxxx无码| 国产剧情在线观看一区二区| 制服丨自拍丨欧美丨动漫丨| 欧美日韩亚洲一区二| 色噜噜在线播放| 97国产精品久久| 久久99精品国产自在现线| 国产精品www在线观看| 国产成人在线视频免费播放| 波多野结衣在线网址| 欧美一区午夜精品| 直接在线观看的三级网址| 91亚洲国产成人久久精品网站 | 久久综合九色综合97婷婷女人| 日韩 欧美 精品| 亚洲国产私拍精品国模在线观看| av免费在线视| 久久99热只有频精品91密拍| 欧美3p视频| 五月婷婷之婷婷| 亚洲天堂免费看| 五月天综合激情网| 亚洲男人的天堂网站| 精品3atv在线视频| 国产日本欧美在线观看| 99国产精品久久一区二区三区| 国内自拍中文字幕| 成人h版在线观看| 国产尤物在线视频| 中文字幕亚洲综合久久| 国产精品日韩精品在线播放| 国产内射老熟女aaaa| 97se亚洲国产综合在线| 波多野结衣一本一道| 日韩在线视频播放| 欧美欧美在线| 青青艹视频在线| 中文字幕精品综合| 亚洲免费在线视频观看| 亚洲视频axxx| 绿色成人影院| 日本一区免费在线观看| 99亚洲一区二区| 中文字幕成人动漫| 91精品国产综合久久香蕉麻豆| 免费不卡av| 日本精品一区| 国产精品69久久久久水密桃| 国产成人无码精品亚洲| 中文字幕国产亚洲| 999久久精品| 亚洲性生活网站| 一区二区三区日韩欧美| 精品无吗乱吗av国产爱色| 91精品视频专区| 国产日韩免费| 色老板免费视频| 亚洲精品一区二区在线| 精品国产鲁一鲁****| 成人在线观看a| 一区二区三区免费| 国产高潮流白浆喷水视频| 17婷婷久久www|