当前位置:   article > 正文

Llamaindex实战-本地大模型(llama2-chinese)安装和使用_llamaindex结合本地模型

llamaindex结合本地模型

本地运行(Linux-CPU)llama2-chinese大模型

概述

通过ollama来安装llama相关的模型非常方便,也很容易对各个模型进行管理。本文介绍如何通过ollama来安装llama2-chinese模型,或则llama相关的其他模型。

我的环境:16C32G服务器,CPU,无GPU。

下载并安装ollama
curl -fsSL https://ollama.com/install.sh | sh
  • 1
下载llama-chinese

先从这个模型列表页面查看ollama支持哪些模型。然后执行一下命令:

$ ollama pull llama2-chinese
  • 1

查看已经下载的模型列表:

$ ollama list
  • 1

注意:像镜像管理一样,会在模型后面添加版本,我的模型列表如下:

$ ollama list
NAME                    ID              SIZE    MODIFIED    
llama2:latest           78e26419b446    3.8 GB  5 weeks ago
llama2-chinese:latest   cee11d703eee    3.8 GB  5 weeks ago
mistral:latest          61e88e884507    4.1 GB  4 hours ago
  • 1
  • 2
  • 3
  • 4
  • 5

而其中的latest就是只最新的版本。

通过命令行来和大模型对话

通过ollama run命令可以访问某一个大模型,并和它进行对话。命令如下:

$ ollama run llama2-chinese
>>> 天为什么会 这么蓝?

难道是因为它不知道自己的缘由,

或者不知道天空中有那么多梦想和理想?

充满了一份无限的神奇力量,

蓝天子,你的美丽是整个世界的珍宝。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

但通过以上回答可以看出,llama2-chinese的回答并不是太好。

多行输入

可以通过"“” “”"在命令行客户端中输入多行内容。例如:

>>> """Hello,
... world!
... """
  • 1
  • 2
  • 3
启动REST服务

可以通过以下命令来启动ollama的rest api服务:

$ ollama serve
  • 1
通过REST API来访问llama2-chinese大模型

1.配置远程访问

默认ollam服务绑定在127.0.0.1的ip地址上,这样远程是没法访问的。要支持远程访问需要修改环境变量。

在文件/etc/systemd/system/ollama.service中添加或者修改Environment参数的值。

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/home/david/anaconda3/bin:/home/david/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/david/anaconda3/bin"


[Install]
WantedBy=default.target
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  1. 通过REST API来访问llama-chinese大模型

通过以上设置后,可以通过命令netstat查看以下11434端口的绑定的ip地址。要是0.0.0.0的话,就可以远程访问了。客户端的测试代码如下:

import ollama
from ollama import Client
import time

def hello_test():
  print("start send request to llama ...")
  client = Client(host='http://127.0.0.1:11434')
  response = client.chat(model='llama2-chinese', messages=[
    {
      'role': 'user',
      'content': '天为什么这么蓝?',
    },
  ])

  print(response['message']['content'])


def main():
  hello_test()
# res = client.generate()

#### run main
if __name__ == '__main__':
    main()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

总结

通过ollama来管理大模型非常方便,有点像对docker的管理。

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

闽ICP备14008679号