当前位置:   article > 正文

Windows 玩转大模型第一天:大模型本地部署,调用大模型API可直接工程化应用(全部代码和详细部署流程)_本地开了一个大模型api

本地开了一个大模型api

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

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

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

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

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

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

5. 模型导入与定制:

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

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

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

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

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

一、本地部署

ollama run llama3

部署完成: 

其他模型: 

二、调用本地大模型API

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

http://localhost:11434/api/generate

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

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

结果报错:

  1. D:\lamma>python 1.py
  2. Traceback (most recent call last):
  3. File "E:\Anaconda3\Lib\site-packages\requests\models.py", line 960, in json
  4. return complexjson.loads(self.content.decode(encoding), **kwargs)
  5. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  6. File "E:\Anaconda3\Lib\json\__init__.py", line 346, in loads
  7. return _default_decoder.decode(s)
  8. ^^^^^^^^^^^^^^^^^^^^^^^^^^
  9. File "E:\Anaconda3\Lib\json\decoder.py", line 340, in decode
  10. raise JSONDecodeError("Extra data", s, end)
  11. json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 91)
  12. During handling of the above exception, another exception occurred:
  13. Traceback (most recent call last):
  14. File "D:\lamma\1.py", line 6, in <module>
  15. response_json = response.json()
  16. ^^^^^^^^^^^^^^^
  17. File "E:\Anaconda3\Lib\site-packages\requests\models.py", line 968, in json
  18. raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
  19. requests.exceptions.JSONDecodeError: Extra data: line 2 column 1 (char 91)

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

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/882216
推荐阅读
相关标签
  

闽ICP备14008679号