基于ollama部署微调模型

基于ollama部署微调模型

目标

基于ollama部署微调模型

修改gguf文件名

将之前的 model-unsloth.Q4_K_M.gguf 重命名为 echarts.gguf

创建一个Modelflie.txt

输入 FROM {绝对路径}\echarts.gguf

注意,wsl是将windows主机上的硬盘映射到了 /mnt 目录,因此需要做相应的修改,和否则无法检测。

安装echarts.gguf

ollama create echarts -f Modelflie.txt 将新模型的别名更改为echarts

命令台进行测试

ollama run echarts 运行这个命令,开始对话。

将AI给出的代码放入在线调试。

有一些不尽如人意,可能是没有给出数据的缘故。

API调试

修改传入参数,将model改为echarts,API访问成功。

编写Java代码

编写一个 askLocalEchartsModel 方法,传入prompt,固定model为微调后的Echarts模型。

按照API工具编写一个POST请求,得到返回值,并提取返回值,作为函数结果返回。

public static String askLocalEchartsModel(String prompt) throws IOException {
    // 定义固定的URL
    String urlString = "http://localhost:11434/api/generate";
    URL url = new URL(urlString);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
​
    // 设置请求方法为POST
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-Type", "application/json; utf-8");
    conn.setRequestProperty("Accept", "application/json");
    conn.setDoOutput(true);
​
    // 创建要发送的JSON对象
    JSONObject jsonInput = new JSONObject();
    jsonInput.put("model", "Echarts");
    jsonInput.put("prompt", prompt);
    jsonInput.put("stream", false);
​
    // 将JSON输入写入请求的输出流
    try (OutputStream os = conn.getOutputStream()) {
        byte[] input = jsonInput.toString().getBytes("utf-8");
        os.write(input, 0, input.length);
    }
​
    // 读取响应内容
    try (BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"))) {
        StringBuilder response = new StringBuilder();
        String responseLine;
        while ((responseLine = br.readLine()) != null) {
            response.append(responseLine.trim());
        }
​
        // 解析JSON响应并提取response字段
        JSONObject jsonResponse = new JSONObject(response.toString());
        return jsonResponse.getString("response");
    }
}

结果

模型的训练结果不太如人意,深度学习模型为黑盒无法深入其中进行修改。

考虑使用向量数据库进行学习,达到增加模型专业知识的效果。

### 部署微调 Ollama 模型 #### 下载并准备模型文件 为了开始部署微调过程,首先需要获取预训练的大规模语言模型(LLM)。这通常涉及下载由社区或其他开发者共享的GGUF格式文件。这些文件包含了已经过初步训练的语言模型参数。 对于Ollama平台而言,在获得所需的`.gguf`文件之后,应当将其放置于指定的工作目录下以便后续操作[^1]。 #### 加载已有模型 一旦拥有合适的模型文件,就可以通过命令行工具轻松加载它。具体来说,启动Ollama环境后,可以通过如下命令访问已有的模型实例: ```bash ollama run llama3.2 ``` 这条指令会读取名为`llama3.2`的模型配置,并按照其设定运行相应的服务端点[^2]。 #### 准备用于微调的数据结构 当计划对特定领域或应用场景下的模型性能进行优化时,则需创建一个新的模板文件——即所谓的`Modelfile`。此文件定义了一个简单的映射关系,用来指导如何处理输入提示(`prompt`)与输出响应之间的转换逻辑。例如: ```plaintext FROM /path/to/your/model-unsloth.Q4_K_M.gguf TEMPLATE "[INST] {{ .Prompt }} [/INST]" ``` 这里的第一行指定了要使用的量化版本的基础模型位置;第二行列出了具体的对话框格式化规则,确保每次交互都能被正确解析为标准形式[^3]。 #### 创建自定义微调后的模型实例 完成上述准备工作后,下一步就是利用之前构建好的`Modelfile`来生成新的、经过个性化调整过的模型实体。执行下面的shell命令可以实现这一点: ```bash ollama create my_custom_model -f path_to_modelfile.txt ``` 其中`my_custom_model`代表新创建出来的模型名称,而后面的选项则指向了早先编辑完毕的那个文本描述文件的位置。这样就完成了整个流程中最核心的部分之一:定制化的微调工作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值