美文网首页
ChatGLM试用

ChatGLM试用

作者: 梅西爱骑车 | 来源:发表于2024-03-08 22:11 被阅读0次

在PAI平台https://pai.console.aliyun.com/的“快速开始”页面部署大模型最简单。

快速开始
找到ChatGLM,进入详情页,进行部署,注意选中试用资源。
模型部署按钮
试用活动
部署成功。

Running

web页面进行交互


测试问答,速度很快。



还可以点击langchain标签,上传本地文件到大语言模型,然后进行问答。



上传文件后,记得点击按钮“vectorstore knowledge”来向量化文档。

根据上传文档内容进行测试:
荣誉测试
最高荣誉判断

API方式进行推理inference

PAI-EAS支持使用通用公网对服务进行公网地址调用,通用公网调用又包括使用官方的Python SDK、Java SDK及自行实现调用逻辑三种方式。本文介绍详细介绍每种调用方式的实现方法。
在PAI-EAS部署模型服务后,系统会自动生成一个公网调用的服务地址。您可以在PAI EAS模型在线服务页面,单击待调用服务服务方式列下的调用信息,查看公网访问地址调用文档链接和Token。通过该调用信息可以进行调用测试,示例如下。



执行如下curl,在Windows可能返回错误“Authorization failed.curl: (3) URL rejected: Bad hostname”,可以在Linux服务器执行如下命令:
curl http://quickstart-chatglm.13151033***14358.cn-hangzhou.pai-eas.aliyuncs.com/ -H 'Authorization: MTI2NTg2MjkwNzY4Zjk1NGQ3NmMwNGE0O*******yZmE1Ng==' -d '2024年春节是哪天?'
返回信息:
{"response":"2024年春节是2024年1月22日(农历己亥年正月初一)。","history":[["2024年春节是哪天?","2024年春节是2024年1月22日(农历己亥年正月初一)。"]],"usage":{"usage":null,"finish_reason":"stop"}}
使用python代码流式输出:
import argparse
import json
from typing import Iterable, List

import requests


def clear_line(n: int = 1) -> None:
    LINE_UP = '\033[1A'
    LINE_CLEAR = '\x1b[2K'
    for _ in range(n):
        print(LINE_UP, end=LINE_CLEAR, flush=True)


def post_http_request(prompt: str,
                      system_prompt: str,
                      history: list,
                      host: str,
                      authorization: str,
                      max_new_tokens: int = 2048,
                      temperature: float = 0.95,
                      top_k: int = 1,
                      top_p: float = 0.8,
                      langchain: bool = False,
                      use_stream_chat: bool = False) -> requests.Response:
    headers = {
        "User-Agent": "Test Client",
        "Authorization": f"{authorization}"
    }
    if not history:
        history = [
            (
                "2024年春节是哪天?",
                "正月初一"
            )
        ]
    pload = {
        "prompt": prompt,
        "system_prompt": system_prompt,
        "top_k": top_k,
        "top_p": top_p,
        "temperature": temperature,
        "max_new_tokens": max_new_tokens,
        "use_stream_chat": use_stream_chat,
        "history": history
    }
    if langchain:
        pload["langchain"] = langchain
    response = requests.post(host, headers=headers,
                             json=pload, stream=use_stream_chat)
    return response


def get_streaming_response(response: requests.Response) -> Iterable[List[str]]:
    for chunk in response.iter_lines(chunk_size=8192,
                                     decode_unicode=False,
                                     delimiter=b"\0"):
        if chunk:
            data = json.loads(chunk.decode("utf-8"))
            output = data["response"]
            history = data["history"]
            yield output, history


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--top-k", type=int, default=4)
    parser.add_argument("--top-p", type=float, default=0.8)
    parser.add_argument("--max-new-tokens", type=int, default=2048)
    parser.add_argument("--temperature", type=float, default=0.95)
    parser.add_argument("--prompt", type=str, default="2024年多少天?")
    parser.add_argument("--langchain", action="store_true")
    args = parser.parse_args()

    prompt = args.prompt
    top_k = args.top_k
    top_p = args.top_p
    use_stream_chat = True
    temperature = args.temperature
    langchain = args.langchain
    max_new_tokens = args.max_new_tokens

    host = "http://quickstart-chatglm.1315103301214358.cn-hangzhou.pai-eas.aliyuncs.com/"
    authorization = "MTI2NTg2MjkwNzY4Zjk1NGQ3NmMwNGE0OWM4NDZkOThhZjUyZmE1Ng=="

    print(f"Prompt: {prompt!r}\n", flush=True)
    system_prompt = "Act like you are programmer with \
                5+ years of experience."
    history = []
    response = post_http_request(
        prompt, system_prompt, history,
        host, authorization,
        max_new_tokens, temperature, top_k, top_p,
        langchain=langchain, use_stream_chat=use_stream_chat)

    for h, history in get_streaming_response(response):
        print(
            f" --- stream line: {h} \n --- history: {history}", flush=True)

相关文章

  • 大模型本地化部署

    今天终于在笔记本上成功部署了清华开源的ChatGLM-6B的INT4轻量化模型,这对于我学习AI相关知识来说具有重...

  • 试用

    试用试用试用

  • 营养辅助食品

    试用、试用、试用!

  • 用于发文测试

    用于发文测试用于发文测试用于发文测试用于发文测试用于发文测试用于发文测试用于发文测试用于发文测试用于发文测试用于发...

  • 写试用测评报告的经验分享

    从最初的淘宝社区试用,到后来的YOKA、太平洋美妆平台、瑞丽美妆试用、360试用,以及淘宝试用平台、京东试用平台等...

  • 测试用例的前置条件

    一个完整的测试用例包括:测试用例的标题,测试用例的前置条件,测试用例的步骤和预期。 测试用例的步骤和预期是测试用例...

  • iEng:有试用的吗?

    iEng(iEnglish):有试用的吗? 公司不提供试用机,代理可根据自己意愿是否提供给客户试用。 (需要试用的...

  • 试用

    试用排版 你好 如何排版 排版试用

  • 试用

    试用一下 试用 看看效果

  • 试用

    今天 看到简书,感觉很有意思,就把app下载下来,不知道他到底有什么用,那就先试用一下,看看有没有收获。

网友评论

      本文标题:ChatGLM试用

      本文链接:https://www.haomeiwen.com/subject/vqcqodtx.html