VecTextSearch是一個使用OpenAI語言模型生成文本向量並在Weaviate數據庫中進行高效搜索的項目。它允許用戶將文本數據存儲在Weaviate數據庫中,並根據文本相似性快速搜索和檢索相關文本。項目使用Golang編寫,並提供一個簡單的REST API供客戶端調用
簡體中文| English
VecTextSearch 是一個使用OpenAI 語言模型生成文本向量並在Weaviate 數據庫中進行高效搜索的項目。它允許用戶將文本數據存儲在Weaviate 數據庫中,並根據文本相似性快速搜索和檢索相關文本。項目使用Golang 編寫,並提供一個簡單的REST API 供客戶端調用。
聊天記錄1 - 創建項目
聊天記錄2 - 修改Dockerfile和Makefile
聊天記錄3 - 簡化向量搜索的返回結果,修改數據結構
聊天記錄4 - 重構項目結構
聊天記錄5 - 把ChatGPT的聊天對話直接下載為Markdown文件
聊天記錄6 - 添加跨域支持,修復make run命令的錯誤
聊天記錄7 - 修復文檔錯誤
聊天記錄8 - 添加文本的時候配置內容是否可以重複
聊天記錄9 - weaviate的className可配置



在許多實際應用中,需要基於文本相似性進行快速搜索。例如,給定一篇文章,可以找到與其內容相似的其他文章。傳統的基於關鍵詞的搜索方法可能無法準確捕捉到文本之間的相似性。 VecTextSearch 利用OpenAI 的強大語言模型將文本轉換為向量表示,然後使用Weaviate 數據庫進行高效的相似向量搜索。
VecTextSearch 可以應用於以下場景:
VecTextSearch 提供了兩個REST API 接口:
{
"name" : "文章名称" ,
"content" : "文章内容"
}{
"id" : "文章唯一标识符"
}{
"content" : "查询内容"
}Response: 搜索成功後,將返回一個包含相似文本信息的JSON 對象。
[
{
"name" : "文章名称" ,
"content" : "文章内容" ,
"distance" : 浮点数(与查询内容的距离),
"certainty" : 浮点数(与查询内容的相似度)
},
...
]make init :創建.env文件模板,用於配置環境變量。make build :構建Docker 鏡像。make push :將Docker 鏡像推送到Docker Hub。make run :在本地運行應用程序。 docker run -d
--name weaviate
-p 8888:8080
--restart on-failure:0
-e QUERY_DEFAULTS_LIMIT=25
-e AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=true
-e PERSISTENCE_DATA_PATH= ' /var/lib/weaviate '
-e DEFAULT_VECTORIZER_MODULE= ' none '
-e ENABLE_MODULES= ' '
-e AUTOSCHEMA_ENABLED=true
-e CLUSTER_HOSTNAME= ' node1 '
semitechnologies/weaviate:1.18.1
--host 0.0.0.0
--port 8080
--scheme httpChatGPT 轉Markdown 是一個由ChatGPT 開發的Chrome 插件,旨在幫助用戶輕鬆地將ChatGPT 與OpenAI 的對話記錄下載為Markdown 文件。生成的Markdown 文件將包含整個對話內容,並在用戶和助手之間進行明確區分。這款插件方便用戶整理和查看聊天記錄,提高工作效率。
主要功能:
詳細說明和使用方法,請參考ChatGPT轉Markdown插件文件。
如果您想為VecTextSearch 做出貢獻或者對項目進行二次開發,您可以按照以下步驟操作:
git clone https://github.com/szpnygo/VecTextSearch.git cd VecTextSearch
go get -u在config.yml 文件中填寫正確的OpenAI API 密鑰。
運行項目:
go run main.go如果您在使用VecTextSearch 時遇到問題或者有新的想法和建議,歡迎提交Issue 或Pull Request。我們非常感謝您的貢獻和支持!
VecTextSearch 採用MIT 許可證。有關詳細信息,請參閱LICENSE 文件。
如果您在使用VecTextSearch 過程中遇到任何問題,請隨時與我們聯繫。您可以通過以下方式聯繫我們: