当前位置: 首页 > news >正文

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 questionmessages1 = [{'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_contentprint("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 questionmodel_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 questionprompt = '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()

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

 

 

 

 


http://www.mrgr.cn/news/35676.html

相关文章:

  • 鸿蒙之setTimeout问题
  • 高级算法LLM大语言模型算法特训 带你转型AI大语言模型算法工程师
  • 大模型分布式训练并行技术(二)-数据并行
  • 最大似然估计,存在即合理
  • Vue+Tui-image-editor实现图片编辑(涂鸦,裁剪,标注,旋转,滤镜)
  • pdf.js滚动翻页的例子
  • 系统架构设计师教程 第9章 9.1 软件可靠性基本概念 笔记
  • 瑞芯微RK3566鸿蒙开发板Android11修改第三方输入法为默认输入法
  • 详解BIOS
  • LeetCode题练习与总结:删除链表中的节点--237
  • 基于Jeecgboot3.6.3的flowable流程视图增加一个节点显示方式
  • 算法记录——树
  • python的while嵌套循环练习
  • 01DSP学习-了解DSP外设-以逆变器控制为例
  • Java后端中的复杂查询优化:索引设计与SQL调优的结合
  • 两张图讲透软件测试实验室认证技术体系与质量管理体系
  • P2415 集合求和
  • MATLAB中isa函数用法
  • C语言:编译,链接和预处理详解
  • mac 外接键盘