iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0

全端 LLM 應用開發-Day25-用 Langchain 來做 embedding

Langchain 的操作很不一樣,我們今天來示範如何使用 Langchain 來做 embedding,並且插入 Qdrant 之中。大家會發現原理是相同的,只是程式寫法不太一樣,可以說是更簡潔了。

  1. 安裝 Langchain,使用指令 poetry add langchain

  2. 建立一個 python 檔 langchain_embedding.py,然後貼上下面的程式碼。

import openai
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Qdrant



OPENAI_EMBEDDING_DEPLOYMENT_NAME = "embedding-ada-002"
OPENAI_API_KEY = "yourkey"

openai.api_type = "azure"
openai.api_base = "https://japanopenai2023ironman.openai.azure.com/"
openai.api_version = "2023-03-15-preview"

embeddings = OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY,
                              deployment=OPENAI_EMBEDDING_DEPLOYMENT_NAME,
                              openai_api_type="azure",
                              chunk_size=1)

text_array = ["我會披星戴月的想你,我會奮不顧身的前進,遠方煙火越來越唏噓,凝視前方身後的距離",
              "而我,在這座城市遺失了你,順便遺失了自己,以為荒唐到底會有捷徑。而我,在這座城市失去了你,輸給慾望高漲的自己,不是你,過分的感情"]

doc_store = Qdrant.from_texts(
    text_array, embeddings, url="http://localhost:6333", collection_name="Lyrics_Langchain")


question = "工程師寫程式"
docs = doc_store.similarity_search_with_score(question)

document, score = docs[0]
print(document.page_content)
print(f"\nScore: {score}")


可以看到我們就完成了把文字 embedding,然後插入到 Qdrant 之中了。尤其是 Qdrant.from_texts 這段,真的是簡化了不少。但是代價是如果你熟悉了原生的寫法,那麼你會花不少時間學習。但是只要知道原理,就很容易了。


上一篇
全端 LLM 應用開發-Day24-緊急插入中研院事件
下一篇
全端 LLM 應用開發-Day26-用 Langchain 來做 PDF 文件問答
系列文
全端 LLM 應用開發(向量資料庫, Hugging Face, OpenAI, Azure ML, LangChain, FastAPI and more)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言