python 如何在谷歌colab中运行ollama?

kpbwa7wx  于 12个月前  发布在  Python
关注(0)|答案(2)|浏览(196)

我有一个这样的代码。我正在启动它。我得到一个ngrok链接。

!pip install aiohttp pyngrok

import os
import asyncio
from aiohttp import ClientSession

# Set LD_LIBRARY_PATH so the system NVIDIA library becomes preferred
# over the built-in library. This is particularly important for
# Google Colab which installs older drivers
os.environ.update({'LD_LIBRARY_PATH': '/usr/lib64-nvidia'})

async def run(cmd):
  '''
  run is a helper function to run subcommands asynchronously.
  '''
  print('>>> starting', *cmd)
  p = await asyncio.subprocess.create_subprocess_exec(
      *cmd,
      stdout=asyncio.subprocess.PIPE,
      stderr=asyncio.subprocess.PIPE,
  )

  async def pipe(lines):
    async for line in lines:
      print(line.strip().decode('utf-8'))

  await asyncio.gather(
      pipe(p.stdout),
      pipe(p.stderr),
  )

await asyncio.gather(
    run(['ollama', 'serve']),
    run(['ngrok', 'http', '--log', 'stderr', '11434']),
)

字符串
我正在跟进,但下面是在页面上


的数据
我该如何解决这个问题?在此之前,我做了以下操作

!choco install ngrok
!ngrok config add-authtoken -----
!curl https://ollama.ai/install.sh | sh
!command -v systemctl >/dev/null && sudo systemctl stop ollama
ujv3wf0j

ujv3wf0j1#

添加此

!pip install pyngrok

from pyngrok import ngrok
ngrok.set_auth_token("Your_Auth_token")

字符串

w51jfk4q

w51jfk4q2#

@sergey Mate,ngrok link没有任何问题。正如它所说的,ollama正在运行。所以一切都很好,已经为您设置好了。您正在colab上作为远程服务器运行ollama,现在您可以在本地机器上超级轻松地使用它,它只会使用colab计算资源,而不是本地机器。
让我解释一下(以我有限的知识),以便任何人都可以了解正在发生的事情。在您的案例中,它启动了ollama服务,并使用ngrok公开了一个端点,该端点可用于与ollama示例进行远程通信。与oobabooga开发的text-generation-webui不同,text-generation-webui是一个用于大型语言模型的Web用户界面,ollama是一个命令行聊天机器人,可以在几乎任何地方轻松使用大型语言模型。

这是完整的指南。首先在Colab上运行此操作

!curl https://ollama.ai/install.sh | sh

!echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections
!sudo apt-get update && sudo apt-get install -y cuda-drivers

!pip install pyngrok
from pyngrok import ngrok
ngrok.set_auth_token('Put_your_ngrok_auth_token_here')

import os
import asyncio

# Set LD_LIBRARY_PATH so the system NVIDIA library 
os.environ.update({'LD_LIBRARY_PATH': '/usr/lib64-nvidia'})

async def run_process(cmd):
  print('>>> starting', *cmd)
  p = await asyncio.subprocess.create_subprocess_exec(
      *cmd,
      stdout=asyncio.subprocess.PIPE,
      stderr=asyncio.subprocess.PIPE,
  )

  async def pipe(lines):
    async for line in lines:
      print(line.strip().decode('utf-8'))

  await asyncio.gather(
      pipe(p.stdout),
      pipe(p.stderr),
  )

await asyncio.gather(
    run_process(['ollama', 'serve']),
    run_process(['ngrok', 'http', '--log', 'stderr', '11434']),
)

字符串

然后在你的机器上只需要简单地运行下面的命令,你可以使用任何你想要的模型。我用dolphin-mistral作为例子

在Linux上:

curl https://ollama.ai/install.sh | sh
export OLLAMA_HOST=(Put_your_ngrok_url_link_here)
ollama run dolphin-mistral


在Mac上:

brew install ollama
export OLLAMA_HOST=(Put_your_ngrok_url_link_here)
ollama run dolphin-mistral

相关问题