大家都知道Llama3是用英文训练的,以是它的中文明白力不抱负
前面已经教大家怎样本地部署llama 3.1(原理差不多)
原版部署地址:本地部署llama 3.1生成API而且内网穿透后Spring Boot调用-CSDN博客
这期主要是将原版的模子换成中文的模子(换成其他的也都一样)
01、部署本地环境
在window搜索“环境”
新建我这三个变量
OLLAMA_HOST 0.0.0.0:11434
OLLAMA_ORIGINS *
OLLAMA_MODELS [自定义模子存的位置]
配置好我们测试一下
键盘win+r打开cmd
输入上期我们配置好的模子,你的不一定是ollama run llama3.1
ollama run llama3.1
或
ollama run [你的模子]
出现对话输入就没题目接着往下走(如果没下过就等他下载下)
或
02、利用 Ollama 本地部署 Llama3 中文微调版
起首我们先去Hugging Face下载我们要的模子,下载地址:
https://huggingface.co/hfl/llama-3-chinese-8b-instruct-gguf/tree/main
就下载 ggml-model-q8_0.gguf就行
经过测试q8_0对家用电脑性价比最高 ,体现也比力均衡(想下载其他的玩玩,配置方式也是一样,背面配置的名字改下就行)
给他移动到环境配置中,模子安装的地方
然后右键新建一个txt文档
改个名字而且把背面的".txt"给删掉,酿成我如许
用记事本打开它,输入
FROM [你自己的模子地址]
TEMPLATE """{{ if .System }}<|start_header_id|>system<|end_header_id|>
{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>
{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>
{{ .Response }}<|eot_id|>"""
SYSTEM """You are a helpful assistant. 你是一个乐于助人的助手。"""
PARAMETER temperature 0.2
PARAMETER num_keep 24
PARAMETER stop <|start_header_id|>
PARAMETER stop <|end_header_id|>
PARAMETER stop <|eot_id|>
然后在你的文件位置的地址栏中输入cmd
创建一个模子(名字自定义)
ollama create llama3-zh-inst -f Modelfile
然后执行命令
ollama serve
然后打开你的postman,这里我的是Apifox都是一样的,输入我的这些测试下
http://localhost:11434/api/generate
{
"model": "llama3-zh-inst",
"prompt": "天空是什么颜色的?",
"stream": false
}
如果出现我的这个就阐明成功了
03、内网穿透更改外网可访问的API地址
起首下载花生壳客户端
下载地址:花生壳客户端官方下载 - 贝锐花生壳官网
一样获得.exe的安装文件,双击一直下一步安装完成(可以自定义安装路径)
点击添加映射,去网页填上自己的IPV4的地址
末了获得了映射的公网IP
将你的内网穿透的地址复制到欣赏器如果出现这个就成功了
也可以用postman测试玩一下
04、内网穿透更改外网可访问的API地址
打开你的springboot项目

- public String talkToLlama(String text) throws IOException {
- String url = "https://你的内网穿透地址/api/chat";//请求地址
-
- OkHttpClient client = new OkHttpClient()
- .newBuilder()
- .connectTimeout(60, TimeUnit.SECONDS) // 设置连接超时时间
- .writeTimeout(60, TimeUnit.SECONDS) // 设置写入超时时间
- .readTimeout(60, TimeUnit.SECONDS) // 设置读取超时时间
- .build();
-
- // 定义请求体的媒体类型为JSON
- MediaType JSON = MediaType.get("application/json; charset=utf-8");
-
- String json = "{\n" +
- ""model": "llama3-zh-inst"," +
- ""messages": [{"role": "user", "content": ""+text+""}],"+
- ""stream": "+false+"}";
- RequestBody body = RequestBody.create(json, JSON);
-
- //发送POST请求并获取响应:
- Request request = new Request.Builder().url(url)
- .header("Authorization", "Bearer " + apiKey)
- .header("Content-Type", "application/json") // 显式设置Content-Type头
- .post(body) // 使用POST方法并传递请求体
- .build();
- // 发送请求并获取响应
- Response response = client.newCall(request).execute();
- String result = response.body().string();
- System.out.println(result);
-
- JSONObject returnJsonObject = new JSONObject(result);
- JSONObject messages = returnJsonObject.getJSONObject("message");
- // 提取 content 的值
- String content = messages.getString("content").replace("“", "").replace(""", "").replace("\r", "").replace("\n", "");
- // 输出 content 的值
- System.out.println("回答的: " + content);
- return content;
- }
复制代码 需要使用就直接调用这个方法就行
- String resultText = talkToLlama("自我介绍一下");
复制代码
免责声名:
一切均严格参照ollama开源策略,没有任何侵权意图,本文章全由自己编写,如出现任何题目请联系我,我将删除。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |