LangChain và các Agents (phần 4)

Xem xét Embeddings (tiếp tục)

Bước tiếp theo là nhập khẩu từ LangChain class cái cho phép chúng ta chuyển đổi text thành các embeddings.

from langchain.embeddings.sentence_transformer import SentenceTransformerEmbeddings
embedding_function = SentenceTransformerEmbeddings(model_name=”all-
MiniLM-L6-v2″)

Mọi thứ được thiết lập bây giờ để giành các embeddings sử dụng phương thức embed_query vủa embedding_function.

embedding_s1 = embedding_function.embed_query(
“I would like to eat more vegetables and exercise every day”)
embedding_s2 = embedding_function.embed_query(
“I will try to maintain a healthier lifestyle.”)
embedding_s3 = embedding_function.embed_query(
“I prefer to play football”)

Hai câu đầu tiên ở mức nào đó là liên quan, mặc dù chúng không đồng dạng. Chúng không thực sự chia sẻ bất cứ từ
chung nào. Tuy nhiên, cả 2 câu bộc lộ ý định của tác giả để bắt đầu áp dụng một phong cách sống khỏe mạnh hơn bằng
cách thay đổi các thói quen của họ. Cái đầu tiên vạch ra các hành động cụ thể để thực hiện, trong khi cái thứ hai
bộc lộ chỉ ý định.
Mặt khác, câu thứ ba, trong khi bộc lộ một ý định để play soccer, không ngầm chỉ bất cứ quan tâm nào về áp dụng
phong cách sống khỏe mạnh hơn. Nó đơn giản là một khai báo của một ưa thích cho playing soccer.
Ba câu này đã được chuyển dạng thành 3 embeddings, có nghĩa 3 vectors của các kích thước x. Trước tiên hãy khám
phá các kích thước chứa trong những embeddings này.

print(f””” embedding_s1 = {len(embedding_s1)}
embedding_s2 = {len(embedding_s2)}
embedding_s3 = {len(embedding_s3)}”””)
embedding_s1 = 384
embedding_s2 = 384
embedding_s3 = 384

Bất kể độ dài của sentence đang được chuyển dạng, độ dài của embedding vẫn không đổi. Độ dài này được quyết định
bởi model khởi tạo embedding được sử dụng, cái trong trường hợp này là all-MiniLM-L6-v2, và nó trả về một vector
384 vị trí.

Chia sẻ