赞
踩
参考:
https://blog.csdn.net/weixin_44455388/article/details/137949637
https://blog.csdn.net/2301_81940605/article/details/138146641
https://ollama.com/download/windows
https://zhuanlan.zhihu.com/p/693709267
https://github.com/ollama/ollama/blob/main/examples/python-simplechat/client.py
背景介绍
当地时间4月18日,Meta开源了Llama3大模型,目前开源版本为8B和70B。
性能介绍
Llama 3模型相比Llama 2具有重大飞跃,并在8B和70B参数尺度上建立了LLM模型的新技术。由于预训练和后训练的改进,Llama3模型是目前在8B和70B参数尺度上存在的最好的模型。训练后程序的改进大大降低了错误拒绝率,改善了一致性,增加了模型响应的多样性。我们还看到了推理、代码生成和指令跟踪等功能的极大改进,使Llama 3更具可操控性。
80 亿参数模型与 Gemma 7B 和 Mistral 7B Instruct 等模型相比在 MMLU、GPQA、HumanEval 等多项基准上均有更好表现。而 700 亿参数模型则超越了闭源超级明星大模型 Claude 3 Sonnet,且与谷歌的 Gemini Pro 1.5 在性能上不相上下。
安装办法:
(1)下载llama:
地址:https://ollama.com/download/windows
(2)下载之后打开,直接点击Next以及Install安装ollama到命令行。安装完成后界面上会提示ollama run llama2,不需要执行这条命令,因为我们要安装llama3。
(3)由于Ollama的模型默认会在C盘用户文件夹下的.ollama/models文件夹中, 为了修改模型路径,我们先配置环境变量OLLAMA_MODELS,设置为自己指定的路径
(4)打开新的终端/命令行窗口,执行以下命令:
ollama run llama3
程序会自动下载Llama3的模型文件,默认是8B,也就80亿参数版本,个人电脑完全可以运行。
成功下载模型后会进入交互界面,我们可以直接在终端进行提问,比如笔者问的Who are you?,Llama3几乎是秒回答。
(5)使用(安装后自动启动11434端口,可以通过web方式调用)
使用熟悉的语言调用;
自己构建web页面调用;
下载开源的web页面调用;
import json import requests # NOTE: ollama must be running for this to work, start the ollama app or run `ollama serve` # model = "llama2" # TODO: update this for whatever model you wish to use model = "llama3" # TODO: update this for whatever model you wish to use def chat(messages): r = requests.post( "http://localhost:11434/api/chat", json={"model": model, "messages": messages, "stream": True}, ) r.raise_for_status() output = "" for line in r.iter_lines(): body = json.loads(line) if "error" in body: raise Exception(body["error"]) if body.get("done") is False: message = body.get("message", "") content = message.get("content", "") output += content # the response streams one token at a time, print that as we receive it print(content, end="", flush=True) if body.get("done", False): message["content"] = output return message def main(): messages = [] while True: user_input = input("Enter a prompt: ") if not user_input: exit() print() messages.append({"role": "user", "content": user_input}) message = chat(messages) messages.append(message) print("\n\n") if __name__ == "__main__": main()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。