所有文章 > AI驱动 > 零基础入门:Ollama调用快速上手指南
零基础入门:Ollama调用快速上手指南

零基础入门:Ollama调用快速上手指南

本指南将带您了解如何在本地使用Ollama API进行模型调用。通过循序渐进的步骤,您将学习到如何安装、配置和调用Ollama模型,无论您是初级程序员、产品经理还是技术小白用户,都能快速掌握这些技能。掌握Ollama的使用不仅能提高您的技术能力,还能为您的项目提供强大的语言处理支持。

Ollama基础概念

了解Ollama是什么

Ollama 是一个强大的框架,旨在本地运行和管理语言模型。它集成了许多模型并实现了API的整合和调用,允许用户通过简单的命令运行常见的大模型,并支持对gguf类型的模型进行部署。微调模型可以直接压缩成这种类型的文件,有助于后续的微调模型操作。

有关更多详细信息和示例,请参考 Ollama GitHub 仓库Postman 文档

掌握Ollama的基本功能

Ollama 提供了多个端点和基本操作来生成和管理语言模型。

  • 生成文本:可以使用 /api/generate 端点生成基于提供的提示文本的文本补全。以下是一个使用示例:
curl http://localhost:11434/api/generate -d '{
  "model": "llama2",
  "prompt": "水是由什么组成的?"
}'
  • 聊天/api/chat 端点用于生成聊天响应,并支持流响应,通过 stream 参数控制。

  • 模型管理:可以使用 ollama list 列出可用模型,使用 ollama show 加载模型,并通过 ollama createollama delete 等命令创建、复制、删除、拉取或推送模型。

  • 高级参数:可以使用参数如 temperaturepresence_penaltyfrequency_penalty 自定义响应,控制输出的创造性和重复性。

此外,Ollama Python 库允许轻松集成到 Python 项目中,支持同步和异步操作。安装命令如下:

pip install ollama

生成聊天响应的示例代码:

import ollama

response = ollama.chat(model='llama3', messages=[{'role': 'user', 'content': '为什么天空是蓝色的?'}])
print(response['message']['content'])

在环境中成功安装 Ollama 后,可以通过运行 ollama run qwen2 来启动对话。

Ollama运行示例

此外,GitHub 上提供了详细的 API 文档,帮助用户更好地理解和使用这些功能。

Ollama安装与配置

在WSL中安装Ollama

要在WSL中安装Ollama,请运行以下命令,这将自动抓取安装指令并将其配置到环境中:

curl -fsSL https://ollama.com/install.sh | sh

安装完成后,您可以通过以下命令验证安装是否成功:

ollama -v

如果输出显示 ollama version is 0.1.45,则说明Ollama已成功安装。

Ollama运行示例

此图片展示了Ollama在成功运行后的输出示例,帮助确认安装是否正确。

验证Ollama安装是否成功

验证安装成功后,您可以通过运行以下命令启动对话:

ollama run qwen2

此命令将启动Ollama的模型Qwen2,您可以开始与模型进行交互。

更多详细信息和示例,您可以参考 Ollama GitHub 仓库Postman 文档

这两个链接提供了关于Ollama的更多文档和API使用指南,有助于您更深入地了解和使用Ollama。

本地模型的运行

启动本地模型服务

要在本地启动Ollama模型服务,首先需要确保已正确安装Ollama。可以通过以下命令来启动服务:

ollama serve&

此命令将在本地启动Ollama服务,默认监听在127.0.0.1:11434端口上。你可以通过修改OLLAMA_HOST环境变量来改变监听地址。例如:

export OLLAMA_HOST="0.0.0.0:11434"

这样可以让服务在网络中其他设备上访问。

Ollama服务启动示例

这张图片展示了Ollama成功启动后的输出示例,帮助确认服务是否正常运行。

使用命令行运行模型

在启动服务后,可以通过命令行运行Ollama模型,例如使用Qwen2模型:

ollama run qwen2

运行此命令后,您可以开始与模型进行交互。对于远程访问,可以使用以下命令示例进行API调用:

curl http://localhost:11434/api/generate -d '{"model": "qwen2","prompt": "水是由什么组成的?","stream":false}'

您可以参考 Ollama GitHub 仓库Postman 文档 了解更多API使用详情和示例。

API调用示例

这幅图显示了使用Apifox工具进行API调用的过程。通过图示可以了解如何在不启用流模式的情况下进行完整的API请求。

API调用实践

编写API调用代码

在编写API调用代码时,我们可以通过创建一个 askLocalQwen2Model 方法,传入参数prompt,按照JSON传入,得到与API工具直接调用相同的结果。最后使用JSON工具包提取出返回值,得到的String返回参数是响应结果。

以下是示例代码片段:

public static String askLocalQwen2Model(String prompt) throws IOException {
    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", "qwen2");
    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");
    }
}

API调用示例

这张图片展示了使用Apifox工具进行API调用的过程,通过图示可以了解如何在不启用流模式的情况下进行完整的API请求。

处理API响应数据

在处理API响应数据时,可以使用Java中的BufferedReader来读取响应内容,并使用JSONObject解析JSON响应,从而提取所需的字段值。这样可以确保在接收到API响应后,能够快速地获取并使用数据进行进一步的处理。

在上述代码示例中,通过解析JSON响应并提取response字段,可以方便地将API返回的内容用于后续的应用中。

更多详细信息和示例,您可以参考 Ollama GitHub 仓库Postman 文档,这些资源提供了全面的指南和示例,帮助您更深入地了解和使用Ollama API。

#你可能也喜欢这些API文章!