资讯专栏INFORMATION COLUMN

ollama-python-Python快速部署Llama 3等大型语言模型最简单方法

UCloud小助手 / 763人阅读

ollama介绍

在本地启动并运行大型语言模型。运行Llama 3、Phi 3、Mistral、Gemma和其他型号。

Llama 3

Meta Llama 3 是 Meta Inc. 开发的一系列最先进的模型,提供8B70B参数大小(预训练或指令调整)。


Llama 3 指令调整模型针对对话/聊天用例进行了微调和优化,并且在常见基准测试中优于许多可用的开源聊天模型。



安装

pip install ollama

用法

import ollamaresponse = ollama.chat(model='llama2', messages=[  {    'role': 'user',    'content': 'Why is the sky blue?',  },])print(response['message']['content'])

流式响应

可以通过设置stream=True、修改函数调用以返回 Python 生成器来启用响应流,其中每个部分都是流中的一个对象。

import ollama

stream = ollama.chat(
    model='llama2',
    messages=[{'role': 'user', 'content': 'Why is the sky blue?'}],
    stream=True,
)

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

应用程序编程接口

Ollama Python 库的 API 是围绕Ollama REST API设计的

聊天

ollama.chat(model='llama2', messages=[{'role': 'user', 'content': 'Why is the sky blue?'}])

新增

ollama.generate(model='llama2', prompt='Why is the sky blue?')

列表

ollama.list()

展示

ollama.show('llama2')


创建

modelfile='''
FROM llama2
SYSTEM You are mario from super mario bros.
'''

ollama.create(model='example', modelfile=modelfile)

复制

ollama.copy('llama2', 'user/llama2')

删除

ollama.delete('llama2')
Pull
ollama.pull('llama2')
push
ollama.push('user/llama2')

嵌入

ollama.embeddings(model='llama2', prompt='The sky is blue because of rayleigh scattering')

定制客户端

可以使用以下字段创建自定义客户端:

  • host:要连接的 Ollama 主机

  • timeout: 请求超时时间

from ollama import Client
client = Client(host='http://localhost:11434')
response = client.chat(model='llama2', messages=[
  {
'role': 'user',
'content': 'Why is the sky blue?',
  },
])

异步客户端

import asyncio
from ollama import AsyncClient

async def chat():
  message = {'role': 'user', 'content': 'Why is the sky blue?'}
  response = await AsyncClient().chat(model='llama2', messages=[message])

asyncio.run(chat())

设置stream=True修改函数以返回 Python 异步生成器:

import asyncio
from ollama import AsyncClient

async def chat():
  message = {'role': 'user', 'content': 'Why is the sky blue?'}
async for part in await AsyncClient().chat(model='llama2', messages=[message], stream=True):
    print(part['message']['content'], end='', flush=True)

asyncio.run(chat())

错误

如果请求返回错误状态或在流式传输时检测到错误,则会引发错误。

model = 'does-not-yet-exist'try:  ollama.chat(model)except ollama.ResponseError as e:  print('Error:', e.error)if e.status_code == 404:    ollama.pull(model)


 附高性能NVIDIA RTX 40 系列云服务器购买:

https://www.ucloud.cn/site/active/gpu.html?ytag=seo

https://www.compshare.cn/?ytag=seo

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/131088.html

相关文章

  • Llama3来袭!如何通过4090GPU云主机快速部署

    2024年4月18日,Meta AI正式宣布推出开源大模型Llama3,这标志着开源大型语言模型(LLM)领域的又一重大突破。Llama3以其卓越的性能和广泛的应用前景,或将推动人工智能技术快速迈进新纪元。为方便AI应用企业及个人AI开发者快速体验Llama3的超高性能,近期优刻得GPU云主机上线Llama3-8B-Instruct-Chinese镜像,一键配置,快速部署模型开发环境。为客户提供开...

    UCloud小助手 评论0 收藏0
  • Meta强势发布开源大模型Llama 3.1:打响硅谷AI保卫战

    在很长一段时间内,占据大模型评测榜单最前列的大多是一些闭源模型,直到Meta再次发布了最新的开源模型。就在近日,Meta和OpenAI打响了硅谷 AI 大模型保卫战。美国当地时间7月23日,Meta正式发布Llama 3.1。其包含8B、70B 和405B三个规模,最大上下文提升到了128k。Llama是目前开源领域中用户最多、性能最强的大型模型系列之一。Meta 表示,他们将通过提供更多与模型协...

    UCloud小助手 评论0 收藏0
  • Llama3-8中文微调完成!更好地帮助中文写作、编程和数学

    Llama3-8B-Chinese-Chat 是基于 Meta-Llama-3-8B-Instruct 模型通过 ORPO进行微调的中文聊天模型。与原始的 Meta-Llama-3-8B-Instruct 模型相比,此模型显著减少了中文问题英文回答"和混合中英文回答的问题。此外,相较于原模型,新模型在回答中大量减少了表情符号的使用,使得回应更加正式。与 Llama-3-8B-nsturc...

    UCloud小助手 评论0 收藏0
  • Llama3中文聊天项目全能资源库,4090单卡直接跑!

    Llama3 中文聊天项目综合资源库,该文档集合了与Lama3 模型相关的各种中文资料,包括微调版本、有趣的权重、训练、推理、评测和部署的教程视频与文档。1. 多版本支持与创新:该仓库提供了多个版本的Lama3 模型,包括基于不同技术和偏好的微调版本,如直接中文SFT版、Instruct偏好强化学习版、趣味版等。此外,还有Phi3模型中文资料仓库的链接,和性能超越了8b版本的Llama3。2. 部...

    UCloud小助手 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<