Ollama: Error: neither ‘from’ or ‘files’ was specified(windows)

部署运行你感兴趣的模型镜像

Windows 系统 Ollama 导入本地 gguf 模型文件报错
 

Error: neither ‘from’ or ‘files’ was specified

原因:

Windows系统

where ollama

macOS系统需要运行:

which ollama

输出: 

D:\testOllama>where ollama
E:\Ollama\ollama.exe
C:\Users\xxx\AppData\Local\Programs\Ollama\ollama.exe

解决方案二选一即可,我直接把其中一个版本的ollama卸载了,卸载时会自动删除对应版本的系统环境变量。不想删除其中一个版本的话可以选择解决方案二,删除对应的系统环境变量,只保留一个,用哪个版本的时候就保留哪个。


解决方案一:

发现Ollama有两个版本,系统装了两次,找到其中一个安装路径,卸载掉其中的一个即可:

解决方案二: 

或者也可以在系统环境变量,把其中的一个配置的系统环境变量删掉:

清理系统环境变量​

  • ​​检查 PATH 变量​​:

    1. 按下 Win + R,输入 sysdm.cpl 打开系统属性。

    2. 切换到“高级”选项卡 → 点击“环境变量”。

    3. 在“系统变量”中找到 Path,编辑并检查是否有指向 C:\Users\xxx\AppData\Local\Programs\Ollama\ 或 E:\Ollama 的条目。

    4. 若有,选中其中一个后点击“删除”以清理残留路径。

检查一下是否解决了报错,本地挂载gguf模型文件到ollama流程:

​第一步​​:
在当前目录下新建一个名为 Modelfile.txt 的文本文件,写入 FROM ./大模型文件名.gguf,保存并关闭。

​第二步​​:
将 Modelfile.txt 的文件后缀 .txt 删除,使其变成 Modelfile

​第三步​​:

之后在 gguf 模型文件夹目录下cmd输入

ollama create 模型名称 -f ./Modelfile

​第四步​​:

可以看到已经解决报错,没有问题了 

 ​​第五步​​:

可以通过ollama命令正常调用模型了,展示挂载的模型

ollama list

 ​​第六步​​:

 通过ollama run 命令来运行你选择的模型进行对话

ollama run xxx:latest

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

### 错误分析 此错误 `'subscripted value is neither array nor pointer nor vector'` 表明尝试对标记的变量应用下标操作符 `[]`,而该标记并非数组、指针或向量类型的对象[^1]。具体来说,在代码片段中定义了一个指向无符号字符的指针: ```c unsigned char *addr; ``` 随后试图通过如下方式访问其第一个字节: ```c addr[0]; ``` 然而如果此时 `addr` 并未被初始化为实际地址或者分配内存,则会触发上述编译期错误[^2]。 ### 解决方案 要解决这个问题,可以采取以下几种措施之一来确保所使用的变量确实是一个有效的可索引实体: #### 方法一:正确初始化指针 确保指针已经指向一块合法的存储区域之前就对其进行解引用是非常重要的。可以通过让这个指针指向某个已存在的数组实例实现这一点: ```c unsigned char data = 'A'; unsigned char* addr = &data; // 正确使用 printf("%c\n", addr[0]); ``` 这样做的时候, 我们实际上是在告诉程序去查看位于由 `&data` 所指定位置处的内容,并将其视为单个字节大小的数据项的一部分[^3]。 #### 方法二:动态分配内存给指针 另一种方法就是利用堆上的空间创建一个新的数据结构供后续处理之需。例如下面的例子展示了如何请求操作系统提供足够的连续字节数组用于保存字符串表示形式中的日期信息: ```c #include <stdlib.h> ... size_t size_needed = 10; // 假设我们需要十个单位的空间长度 unsigned char* addr = malloc(size_needed); if (addr != NULL){ *(addr + 9)='\0'; // 设置终止符'\0' } else{ perror("Failed to allocate memory"); } free(addr); // 使用完毕记得释放资源 ``` 在这里需要注意的是每次调用完 `malloc()` 函数之后都应该检查返回的结果是否成功;只有当它不等于零的时候才能继续执行下一步骤的操作。另外最后一步也是至关重要的——一旦不再需要这些临时性的缓冲区就应该及时归还它们占用的物理RAM容量以免造成泄漏现象发生。 ### 总结说明 综上所述,“subscripted value is neither array nor pointer nor vector”的根本原因是开发者错误地对待那些尚未准备好接受进一步操作的对象进行了非法存取动作所致。因此只要遵循良好的编程习惯即先验证再行动的原则就可以有效避免此类低级失误再次出现。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值