使用API方式远程调用ollama模型

news/2025/1/9 9:36:53/文章来源:https://www.cnblogs.com/janeysj/p/18661074
  1. 在有GPU的环境启动一个ollama大模型,非常简单:

注意,ollama启动时默认监听在127.0.0.1:11434上,可以通过配置OLLAMA_HOST环境变量修改
`export OLLAMA_HOST="0.0.0.0:11434"

ollama serve&

ollama run qwen2.5:7b-instruct`

  1. 然后就可以在远端访问:
    `curl http://172.2.3.4:11434/api/generate -d '{"model": "qwen2.5:7b-instruct","prompt": "what can you do?","stream":false}'

curl http://172.2.3.4:11434/api/generate -d '{
"model": "qwen2.5:7b-instruct",
"prompt": "Why is the sky blue?",
"stream": false,
"options": {
"num_keep": 5,
"seed": 42,
"num_predict": 100,
"top_k": 20,
"top_p": 0.9,
"tfs_z": 0.5,
"typical_p": 0.7,
"repeat_last_n": 33,
"temperature": 0.8,
"repeat_penalty": 1.2,
"presence_penalty": 1.5,
"frequency_penalty": 1.0,
"mirostat": 1,
"mirostat_tau": 0.8,
"mirostat_eta": 0.6,
"penalize_newline": true,
"stop": ["\n", "user:"],
"numa": false,
"num_ctx": 1024,
"num_batch": 2,
"num_gqa": 1,
"num_gpu": 1,
"main_gpu": 0,
"low_vram": false,
"f16_kv": true,
"vocab_only": false,
"use_mmap": true,
"use_mlock": false,
"rope_frequency_base": 1.1,
"rope_frequency_scale": 0.8,
"num_thread": 8
}
}'`

  1. 通过openai代码接口访问:
    `from openai import OpenAI
    client = OpenAI(
    base_url='http://172.2.3.4:11434/v1/',
    api_key='ollama', # required but ignored
    )
    chat_completion = client.chat.completions.create(
    messages=[
    {
    "role": "system",
    "content": "你是一个能够理解中英文指令并帮助完成任务的智能助手。你的任务是根据用户的需求生成合适的分类任务或生成任务,并准确判断这些任务的类型。请确保你的回答简洁、准确且符合中英文语境。",
    },
    {
    "role": "user",
    "content": "Come up with a series of tasks:1. Link all the entities in the sentence (highlighted in brackets) to a Wikipedia page.For each entity, you should output the Wikipedia page title, or output None if you know.",
    }
    ],

    model='llama3.2:1b',

    model='qwen2.5:7b',

    max_tokens=38192,
    temperature=0.7,
    top_p=0.5,
    frequency_penalty=0,
    presence_penalty=2,
    )

print(chat_completion)

`

可能会报错:ImportError: cannot import name 'OpenAI' from 'openai',原因可能是python版本低,我用的python3.10环境的openai不行,当时用python3.12可以。

  1. content填写为"Brainstorm a list of possible New Year's resolutions." llama server会报错400 不晓得为啥。一般400错误是客户端发送的请求有误,服务器无法处理。对于大模型API来说,这通常意味着请求格式不正确、缺少必要的参数、或者提供的参数值无效。但是我的格式没有问题啊,只是修改了content里面的字符串,只要里面有单引号就会报400。

    等我搞明白了,我再来更新。
    
  2. 在调用API接口时还可以填写其他的参数,例如temperature等,可以参考如下链接:

ollama/docs/api.md at main · ollama/ollama · GitHub

ollama/docs/modelfile.md at main · ollama/ollama · GitHub

常用参数的意义,简单摘录如下:

全平台janeysj都是我

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/866437.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JMeter——压力测试工具的安装

JMetere 简介 jmeter 是 apache 公司基于 java 开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简 单。 jmeter 是免安装的,拿到安装包之后直接解压就可以使用,同时它在 linux/windows/macos 上都可以使用。 前提 已安装和…

微软开源!Office 文档轻松转 Markdown!

MarkItDown —— 微软开源的 Python 工具,能够将多种常见的文件格式(如 PDF、PowerPoint、Word、Excel、图像、音频和 HTML 等)转换为 Markdown 格式。大家好,我是 Java陈序员。 今天,给大家介绍一款微软开源的文档转 Markdown 工具。关注微信公众号:【Java陈序员】,获取…

人工智能(AI)在医学领域的应用 -九五小庞

人工智能(AI)在医学领域的应用是当前科技发展的重要方向之一,它通过提高医疗效率、准确性和个性化治疗水平,极大地改善了医疗服务的质量和患者的体验。以下是一些AI在医学领域的主要应用:辅助诊断医学影像分析:AI可以通过深度学习算法快速准确地分析CT、MRI、X光等医学影…

Ftrans汽车制造供应链管理方案,如何实现协同共赢?

汽车制造供应链管理是指对从供应商到客户的汽车产品、信息及资金流动进行集成管理的过程,旨在最大化供应链价值。在汽车制造供应链管理中,信息流扮演着至关重要的角色。它不仅是供应链各环节之间沟通协作的桥梁,也是确保供应链高效运作、降低库存成本、提升客户满意度的重要…

升级后手机版网站无法访问,可能的原因及解决方案

!在进行服务器或应用程序升级后,如果发现手机版网站无法访问,这通常是由于升级过程中某些配置发生了变化,导致移动端设备无法正确解析或加载网页内容。为了帮助您更好地理解和解决这个问题,以下是几个可能的原因及相应的解决方案:检查域名解析设置升级后,域名解析设置可…

如何解决批量主机升级未成功的问题?

如果您尝试对多个主机进行批量升级,但部分主机未能成功升级,可能是由多种原因引起的。以下是详细的排查步骤和解决方案:检查财务记录:首先,确保所有主机的升级订单已经成功支付。您可以登录到云服务提供商的控制面板,查看财务记录,确认每个主机的升级订单状态。如果存在…

游戏网站模板修改软件推荐

游戏网站通常需要独特的设计和功能来吸引玩家。有哪些推荐的模板修改软件可以帮助用户高效地修改游戏网站模板? 解决方案:选择合适的CMS平台:根据游戏网站的需求选择合适的CMS平台。常用的平台包括WordPress、DedeCMS等。这些平台提供了丰富的模板资源,方便用户快速搭建网站…

在宝塔面板上如何高效管理和修改网站配置以保障稳定运行

宝塔面板因其简洁直观的操作界面深受广大开发者喜爱,但对于初次接触的人来说,仍然可能存在一些困惑,特别是在涉及网站配置修改时。掌握正确的操作流程不仅可以提高工作效率,还能确保网站的安全性和稳定性。 解决方案安装必要组件:根据所使用的编程语言和技术栈,在宝塔面板…

如何修改网站权限

网站权限管理是确保网站安全的重要环节。如何在网站后台管理系统中修改用户权限? 解决方案:登录后台管理系统:首先,以管理员身份登录网站的后台管理系统。大多数CMS系统(如WordPress、DedeCMS等)都提供了直观的界面来管理网站内容。 找到用户管理功能:在后台管理系统中,…

使用PowerShell脚本获取并发连接数

PowerShell是微软提供的任务自动化框架,它提供了更高级的功能和更好的灵活性。利用PowerShell,我们可以轻松地获取并分析服务器的并发连接数。打开PowerShell:按下 Win + X 键,选择“Windows PowerShell (管理员)”选项启动具有管理员权限的PowerShell窗口。运行PowerShell…

服务器使用固态硬盘还是机械硬盘更合适?

在选择服务器硬盘时,固态硬盘(SSD)和机械硬盘(HDD)各有优缺点。为了帮助您做出最佳选择,我们将从容量大小、使用寿命和数据恢复三个方面进行详细分析。 一、容量大小硬盘类型 容量 价格固态硬盘 (SSD) 通常较小,常见容量为256GB、512GB、1TB等 较高,但价格逐渐下降机械…

如何安全有效地修改网站栏目名以优化导航结构

修改网站栏目名是优化导航结构和用户体验的重要步骤。以下是详细的指南,帮助您顺利完成这一任务:确定修改需求:明确具体的修改需求,包括功能改进、界面优化等方面的要求。 制定详细的修改计划,确保每个改动都有明确的目标。备份现有文件:在进行任何更改之前,请确保对当前…