【AI】ChatGLM3-6B模型API调用测试

本文介绍了如何在项目中通过API调用方式使用ChatGLM3-6B模型,包括运行API模式、接口介绍、流式与非流式请求示例,以及如何实现简单对话、工具调用和命令行调用功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前将ChatGLM6B模型下载到本地运行起来了:ChatGLM3-6B上手体验;如果想要用在项目中,那么可以使用API调用的方式进行操作,尤其当你的项目还是不同语言的异构的场景下,其他服务需要调用的时候就可以直接通过请求服务来获取了。

1.运行API模式

ChatGLM3-6B的官方代码里有运行API的bat文件,可以直接点击运行即可,如果在Linux系统或者通过docker部署的方式运行,可以运行openai_api_demo目录下的 openai_api.py文件。
模型默认运行在8000端口

2.接口介绍

接口url :http://127.0.0.1:8000/v1/chat/completions
请求参数

        "functions": functions,  # 函数定义
        "model": model,  # 模型名称
        "messages": messages,  # 会话历史
        "stream": use_stream,  # 是否流式响应
        "max_tokens": 100,  # 最多生成字数
        "temperature": 0.8,  # 温度
        "top_p": 0.8,  # 采样概率

请求的方式有流式和非流式请求,对应请求参数中stream的True和False,请求方式的处理可以参照官方给出的方法

import requests
import json

base_url = "http://127.0.0.1:8000"


def create_chat_completion(model, messages, functions, use_stream=False):
   data = {
   
   
       "functions": functions,  # 函数定义
       "model": model,  # 模型名称
       "messages": messages,  # 会话历史
       "stream": use_stream,  # 是否流式响应
       "max_tokens": 100,  # 最多生成字数
       "temperature": 0.8,  # 温度
       "top_p": 0.8,  # 采样概率
   }

   response = requests.post(f"{
     
     base_url}/v1/chat/completions", json=data, stream=use_stream)
   if response.status_code == 200:
       
### ChatGLM3-6B 大模型部署方法 #### 准备环境 为了成功部署 ChatGLM3-6B 模型,需先准备合适的运行环境。推荐使用 Python 和 Conda 来管理依赖项和虚拟环境。安装最新版本的 Python 并配置好 Conda 后,创建一个新的 Conda 虚拟环境来隔离项目所需的库文件[^1]。 ```bash conda create --name glm_env python=3.8 conda activate glm_env ``` #### 安装必要软件包 进入新建立的环境中后,通过 pip 或者 conda 命令行工具安装必要的Python 库和其他支持组件。这通常包括 PyTorch、transformers 等机器学习框架以及 CUDA 工具链(如果计划利用 GPU 加速计算的话)[^2]。 ```bash pip install torch torchvision torchaudio transformers datasets accelerate ``` 对于希望启用GPU加速的情况,则应确保已正确设置了 NVIDIA 的驱动程序,并按照官方指南完成CUDA Toolkit 的安装过程。 #### 获取模型权重与配置文件 访问智谱 AI 或清华大学 KEG 实验室提供的官方资源链接下载 ChatGLM3-6B 的预训练参数及配套脚本。注意遵循发布的许可协议条款,在合法合规的前提下获取所需资料。 #### 运行推理服务 当所有准备工作完成后,可以参照文档说明编写简单的测试代码片段验证模型加载情况;也可以直接调用命令行接口快速启动基于 Flask/Django RESTful API 服务器提供在线预测功能。 ```python from transformers import AutoModelForCausalLM, AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("path_to_model_directory") model = AutoModelForCausalLM.from_pretrained("path_to_model_directory") input_text = "你好" inputs = tokenizer(input_text, return_tensors="pt") outputs = model.generate(**inputs) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` 上述代码展示了如何初始化 Tokenizer 和 Model 对象,并执行一次基本的文本生成任务作为例子。 #### 解决常见问题 在整个过程中可能会碰到各种各样的技术难题,比如内存不足错误或是网络连接失败等问题。针对这些问题可以在社区论坛寻求帮助或者查阅相关文献寻找解决方案。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值