0


零基础入门AI大模型应用开发——第一天:大模型本地部署,调用大模型API可直接工程化应用(全部代码和详细部署流程)

Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。

以下是其主要特点和功能概述:

  1. 简化部署:Ollama 目标在于简化在 Docker 容器中部署大型语言模型的过程,使得非专业用户也能方便地管理和运行这些复杂的模型。

2.轻量级与可扩展:作为轻量级框架,Ollama 保持了较小的资源占用,同时具备良好的可扩展性,允许用户根据需要调整配置以适应不同规模的项目和硬件条件。

  1. API支持:提供了一个简洁的 API,使得开发者能够轻松创建、运行和管理大型语言模型实例,降低了与模型交互的技术门槛。

  2. 预构建模型库:包含一系列预先训练好的大型语言模型,用户可以直接选用这些模型应用于自己的应用程序,无需从头训练或自行寻找模型源。

  3. 模型导入与定制:

从 GGUF 导入:支持从特定平台(如GGUF,假设这是一个模型托管平台)导入已有的大型语言模型。从 PyTorch 或 Safetensors 导入:兼容这两种深度学习框架,允许用户将基于这些框架训练的模型集成到 Ollama 中。自定义提示:允许用户为模型添加或修改提示(prompt engineering),以引导模型生成特定类型或风格的文本输出。

  1. 跨平台支持:提供针对 macOS、Windows(预览版)、Linux 以及 Docker 的安装指南,确保用户能在多种操作系统环境下顺利部署和使用 Ollama。

  2. 命令行工具与环境变量:

命令行启动:通过命令 ollamaserve 或其别名 serve、start 可以启动 Ollama 服务。

环境变量配置:如 OLLAMA_HOST,用于指定服务绑定的主机地址和端口,默认值为 127.0.0.1:11434,用户可以根据需要进行修改。

一、本地部署

ollama run llama3

**部署完成: **

**其他模型: **

二、调用本地大模型API

在第一步部署完之后,就会有这个标志了,就已经开启api服务了。

http://localhost:11434/api/generate

** 接下来,我们尝试使用代码去调用它。运行下面这个python代码。**

import requests
# 发送 API 请求获取回复
url = "http://localhost:11434/api/generate"
payload = {"model": "llama3", "prompt": "中文回答,你是谁"}
response = requests.post(url, json=payload)
response_json = response.json()
print(response_json)

结果报错:

D:\lamma>python 1.py
Traceback (most recent call last):
  File "E:\Anaconda3\Lib\site-packages\requests\models.py", line 960, in json
    return complexjson.loads(self.content.decode(encoding), **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "E:\Anaconda3\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "E:\Anaconda3\Lib\json\decoder.py", line 340, in decode
    raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 91)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\lamma\1.py", line 6, in <module>
    response_json = response.json()
                    ^^^^^^^^^^^^^^^
  File "E:\Anaconda3\Lib\site-packages\requests\models.py", line 968, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Extra data: line 2 column 1 (char 91)

这是由于,大模型的输出是流式的,所以改成非流式就可以了。

import requests
# 发送 API 请求获取回复
url = "http://localhost:11434/api/generate"
payload = {"model": "llama3", "prompt": "中文回答,你是谁" ,"stream":False}
response = requests.post(url, json=payload)
response_json = response.json()
print(response_json)

** 这个看起来还是不舒服,怎么才能又快又看着舒服呢。**

那就是只打印回答的文本,和修改为流式输出。

Windows 玩转大模型第二天:流式输出和角色扮演(提示词)(全部代码和详细部署流程)-CSDN博客


本文转载自: https://blog.csdn.net/qq_34717531/article/details/140210757
版权归原作者 学术菜鸟小晨 所有, 如有侵权,请联系我们删除。

“零基础入门AI大模型应用开发——第一天:大模型本地部署,调用大模型API可直接工程化应用(全部代码和详细部署流程)”的评论:

还没有评论