对本地部署的ChatGLM模型进行API调用

本文介绍如何在本地部署ChatGLM模型并使用Python进行API调用,包括测试GPU运行、API响应测试,以及在遇到防火墙问题时的解决方案,如配置Windows防火墙规则以确保请求通过。

ChatGLM作为一个小参数模型,给予了我们在本地部署LLM的条件,接下来我将展示如何使用python对本地部署的ChatGLM模型进行API调用

对于如何部署本地ChatGLM模型我们可以访问本地化部署大语言模型 ChatGLM

接下来我首先分享api调用的测试代码:

import time
import requests
# 测试GPU运行是否成功
def test_function_1():
    import torch
    print(torch.cuda.is_available())
    # 测试成功

# 测试api相应是否无误
def test_function_2():
    # 发送POST请求

    url = "http://localhost:8000"  # API的地址
    data = {
        "prompt": "What is your name?",
        "history": [],  # 历史对话,如果有的话,这里初始化为一个空列表
        "max_length": 2048,  # 最大生成长度
        "top_p": 0.7,  # Top-p采样参数
        "temperature": 0.95  # 温度参数
    }
    response = requests.post(url, json=data)

    # 解析响应
    if response.status_code == 200:
        answer = response.json()
        print("Response:", answer["response"])
        print("History:", answer["histor
### 本地部署模型API的方法 对于希望在本地环境中部署大型语言模型(LLM),希望通过API接口访问这些模型的应用程序开发人员来说,有多种方案可供选择。一种常见的做法是采用像ChatGLM这样的小型化参数模型来满足资源受限环境下的需求[^1];另一种则是针对计算能力较强的服务器端设备,可以考虑使用基于NVIDIA TensorRT优化过的更大规模的语言模型实例[^2]。 #### 部署前的准备工作 为了成功完成这一过程,确保目标机器上已安装必要的软件包和依赖项至关重要: - Python解释器及其pip工具 - PyTorch框架用于加载预训练权重文件以及执行推理操作 - NVIDIA CUDA Toolkit配合cuDNN库加速GPU上的运算性能 - Docker容器服务简化跨平台移植性和版本管理问题 #### ChatGLM模型的具体实现步骤 当选择了适合的小型化模型ChatGLM之后,则可以通过如下方式快速搭建起一套可用的服务架构: ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch tokenizer = AutoTokenizer.from_pretrained("path_to_model_directory") model = AutoModelForCausalLM.from_pretrained("path_to_model_directory") def generate_response(prompt_text): inputs = tokenizer(prompt_text, return_tensors="pt").input_ids.cuda() outputs = model.generate(inputs, max_length=50) response = tokenizer.decode(outputs[0], skip_special_tokens=True) return {"response": response} ``` 这段代码展示了如何初始化一个已经下载好的ChatGLM模型定义了一个简单的函数`generate_response()`用来接收输入文本返回由该模型生成的回答字符串。 #### 基于TensorRT的大模型部署案例 而对于那些拥有更强大硬件设施的支持者而言,还可以探索更加高效的解决方案——即利用NVIDIA提供的TensorRT技术对原始ONNX格式转换后的模型进行进一步优化处理,从而获得更好的运行效率。具体流程涉及以下几个方面的工作: - 将原生PyTorch或TensorFlow模型导出成通用中间表示形式(Intermediate Representation),也就是常说的.onnx文件; - 利用tensorrtx等开源项目辅助构建适用于特定应用场景下的高性能推理引擎; - 设计RESTful风格Web Service作为对外暴露功能入口点,允许远程客户端发起HTTP请求获取预测结果。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值