当前位置:   article > 正文

使用Llamafile在本地运行大型语言模型(LLM)

使用Llamafile在本地运行大型语言模型(LLM)

在本地运行大型语言模型(LLM)可以通过使用Llamafile来实现。Llamafile将模型权重和一个特别编译版本的llama.cpp捆绑成一个文件,能够在大多数电脑上运行,而且无需任何额外的依赖。Llamafile还包含了一个嵌入的推理服务器,可以通过API与模型进行交互。

环境设置

要在本地设置和运行Llamafile,可以按照以下步骤操作:

步骤1: 从HuggingFace下载Llamafile

# 下载一个Llamafile
wget https://huggingface.co/jartine/TinyLlama-1.1B-Chat-v1.0-GGUF/resolve/main/TinyLlama-1.1B-Chat-v1.0.Q5_K_M.llamafile
  • 1
  • 2

步骤2: 使文件可执行

# 在Linux/MacOS上使文件可执行。在Windows上,可以通过重命名文件后缀为“.exe”来实现
chmod +x TinyLlama-1.1B-Chat-v1.0.Q5_K_M.llamafile
  • 1
  • 2

步骤3: 运行文件

# 启动模型服务器,默认情况下监听http://localhost:8080
./TinyLlama-1.1B-Chat-v1.0.Q5_K_M.llamafile --server --nobrowser --embedding
  • 1
  • 2

使用Demo代码

以下是一个使用Llamafile Embedding的简单Demo代码示例:

# 安装需要的包
%pip install llama-index-embeddings-llamafile
!pip install llama-index

# 导入LlamafileEmbedding模块
from llama_index.embeddings.llamafile import LlamafileEmbedding

# 初始化LlamafileEmbedding
embedding = LlamafileEmbedding(
    base_url="http://localhost:8080",  // 中转API
)

# 获取文本嵌入
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])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

参考资料

可能遇到的错误

  1. 权限不足错误:

    • 错误: Permission denied
    • 解决方法: 确保你有足够的权限来执行Llamafile。可以尝试使用sudo命令或者检查文件权限。
  2. 端口占用错误:

    • 错误: Address already in use
    • 解决方法: 确保端口8080没有被其他程序占用,或者更改Llamafile服务器监听的端口。
  3. 依赖包安装错误:

    • 错误: ModuleNotFoundError
    • 解决方法: 确保你安装了所有所需的Python包,可以使用pip install命令来安装缺少的包。

如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/887555
推荐阅读
相关标签
  

闽ICP备14008679号