Ollama在Windows安装,使用,简单调用API

一、安装ollama

1、安装

在Windows本地安装ollama,官方网页:https://ollama.com/download/windows

下载完安装包,安装就好,默认应该是C盘。应该是没办法改,如果有小伙伴能改,也请告知一下。

2、验证安装

出现如下所示,安装成功

3、设置模型拉取地址

模型一般很大,避免都存在C盘,进行更改地址,下述我多有引用。

新建一个环境变量:

变量名:OLLAMA_MODELS

变量值:D:\Ollama  //这里写你打算放大模型的位置

配置好环境变量,重启电脑!!!

或者

setx OLLAMA_MODELS "D:\ollama_model"

根据自己需要,也可以多看几篇文章

二、使用ollama

1、拉取模型

拉取模型,可以参考官网GitCode - 全球开发者的开源社区,开源代码托管平台

我拉取的是最基础的,如下图

上述就是拉取成功了,成功后在命令行中就可以简单使用。

 

2、在python上调用

我这里很简单。

我是自己建立了一个python=3.10的虚拟环境

接着要安装相应的库,必须的库是

pip install ollama

接着创建自己的文件,其中

model='llama3.1'

改为自己的模型 

import ollama

# 生成回答并逐字符打印
stream = ollama.chat(
    model='llama3.1',
    messages=[{'role': 'user', 'content': '天为什么是绿的'}],
    stream=True,
)

for chunk in stream:
    print(chunk['message']['content'], end='', flush=True)

def test_ollama_chat():
    # Test case 1: Test with a simple question
    messages1 = [{'role': 'user', 'content': '天为什么是绿的'}]
    stream1 = ollama.chat(model='llama3.1', messages=messages1, stream=True)
    response_content = ""
    for chunk in stream1:
        response_content += chunk['message']['content']
    # 检查回答是否合理
    assert "绿色" in response_content or "为什么" in response_content
    print("All test cases pass")

test_ollama_chat()

输出在终端,结果为

 大家可以自行更改 引号中的问题,来尝试

'content': '天为什么是绿的'

这个只是初试,大家可以自行优化代码 .

再给一个测试案例,大家再自己优化

import ollama
def generate_response(model_name, prompt):
    # 生成回答并逐字符打印
    stream = ollama.chat(
        model=model_name,
        messages=[{'role': 'user', 'content': prompt}],  # 提供具体的问题或提示
        stream=True,
    )

    response = ""
    for chunk in stream:
        response += chunk['message']['content']
        print(chunk['message']['content'], end='', flush=True)

    return response
def test_ollama_chat():
    # Test case 1: Test with a simple Chinese question
    model_name = 'llama3.1'
    prompt = '为什么天空是蓝色的?'
    expected_keywords = ['绿色', '散射']

    response = generate_response(model_name, prompt)

    # 检查回答是否包含预期的关键词
    if all(keyword in response for keyword in expected_keywords):
        print("\nTest case 1 passed.")
    else:
        print(f"\nTest case 1 failed. Response was: {response}")

    # Test case 2: Test with an English question
    prompt = 'Why is the sky blue?'
    expected_keywords = ['blue', 'scatter']

    response = generate_response(model_name, prompt)

    # 检查回答是否包含预期的关键词
    if all(keyword in response.lower() for keyword in expected_keywords):
        print("\nTest case 2 passed.")
    else:
        print(f"\nTest case 2 failed. Response was: {response}")


# 运行测试
test_ollama_chat()

输出的结果如下图(应该是模型或者什么原因,反复提问的话,回复会有差别,我选取其中一个)

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值