为什么我可以在 nix-shell 创建的虚拟环境中使用 ollama,但在 flake 创建的虚拟环境中却不能使用 ollama?

问题描述 投票:0回答:1
命令

nix-shell -p ollama

工作正常。在虚拟环境中我可以做到这一点。

ollama start & ollama run mistral
我现在可以使用 mistral llm 聊天机器人。

但是当我使用像这样的薄片时。

{ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils"; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; ollama=pkgs.ollama; in { devShells.default = pkgs.mkShell { buildInputs = [ pkgs.curl ollama ]; }; }); }
这不起作用。虽然创建环境的命令

nix 开发作品

很好

当我尝试在环境中使用 llama 时出现问题

ollama.start # if don't do that before ollama.run I get a message that say that ollama hasn't started yet.
返回此错误:

错误:$HOME 未定义

我有同样的问题ollama.serve

nix nix-flake ollama
1个回答
0
投票
你必须单独运行

nix develop

而不是
nix develop -i
或者你至少应该写
--keep HOME

如果您尝试将 llama 与 nix-shell 一起使用。检查 ollama 进程是否不再在后台运行。

否则你会遇到这个错误:

错误:监听 tcp 127.0.0.1:11434:绑定:地址已在使用中

解决此错误:

netstat -ltnup | grep ':11434'
您将获得51454/ollama

kill 51454
现在 ollama 经营 Mistra 工厂

© www.soinside.com 2019 - 2024. All rights reserved.