Llamafile 嵌入¶
在本地运行 LLM 最简单的方法之一是使用 llamafile。llamafile 将模型权重和 llama.cpp
的 特殊编译 版本捆绑到一个文件中,该文件可以在大多数计算机上运行,而无需任何额外的依赖。它们还带有一个嵌入式推理服务器,该服务器提供一个 API,用于与您的模型进行交互。
设置¶
- 从 HuggingFace 下载 llamafile
- 使文件可执行
- 运行文件
这是一个简单的 bash 脚本,展示了所有 3 个设置步骤
# Download a llamafile from HuggingFace
wget https://hugging-face.cn/jartine/TinyLlama-1.1B-Chat-v1.0-GGUF/resolve/main/TinyLlama-1.1B-Chat-v1.0.Q5_K_M.llamafile
# Make the file executable. On Windows, instead just rename the file to end in ".exe".
chmod +x TinyLlama-1.1B-Chat-v1.0.Q5_K_M.llamafile
# Start the model server. Listens at http://localhost:8080 by default.
./TinyLlama-1.1B-Chat-v1.0.Q5_K_M.llamafile --server --nobrowser --embedding
您的模型的推理服务器默认监听 localhost:8080。
In [ ]
已复制!
%pip install llama-index-embeddings-llamafile
%pip install llama-index-embeddings-llamafile
In [ ]
已复制!
!pip install llama-index
!pip install llama-index
In [ ]
已复制!
from llama_index.embeddings.llamafile import LlamafileEmbedding
embedding = LlamafileEmbedding(
base_url="http://localhost:8080",
)
pass_embedding = embedding.get_text_embedding_batch(
["This is a passage!", "This is another passage"], show_progress=True
)
print(len(pass_embedding), len(pass_embedding[0]))
query_embedding = embedding.get_query_embedding("Where is blue?")
print(len(query_embedding))
print(query_embedding[:10])
from llama_index.embeddings.llamafile import LlamafileEmbedding embedding = LlamafileEmbedding( base_url="http://localhost:8080", ) pass_embedding = embedding.get_text_embedding_batch( ["This is a passage!", "This is another passage"], show_progress=True ) print(len(pass_embedding), len(pass_embedding[0])) query_embedding = embedding.get_query_embedding("Where is blue?") print(len(query_embedding)) print(query_embedding[:10])