资讯专栏INFORMATION COLUMN

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

UCloud小助手 / 184人阅读

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
  • 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
  • Llama-3 的上下文长度从8K扩展到超过100万!

    Gradient Al最近将Llama-3 8B和7B模型通过渐进式训练方法不断将Llama-3模型的上下文长度从8k-路扩展到262k、524k今天Gradient Al成功宣布成功地将Llama-3 系列模型的上下文长度扩展到超过1 M...并且1M上下文窗口 70B 模型在 NIAH(大海捞针)上取得了完美分数。Llama 3模型最初被训练用于处理8000个token的默认上下文长度,约相当...

    UCloud小助手 评论0 收藏0
  • 后端好书阅读与推荐(续七)

    摘要:持续交付持续交付豆瓣微服务离不开,而核心就是几点自动化连续小范围快速可靠。敏捷革命敏捷革命提升个人创造力与企业效率的全新协作模式豆瓣实际上正是敏捷开发的最佳实践,有了前面的铺垫,我们可以通过这本书我们来真正了解敏捷开发的全貌。 后端好书阅读与推荐系列文章: 后端好书阅读与推荐后端好书阅读与推荐(续)后端好书阅读与推荐(续二)后端好书阅读与推荐(续三)后端好书阅读与推荐(续四)后端好书...

    zollero 评论0 收藏0

发表评论

0条评论

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