只需三分钟,让大家都能体验到AI写文章的乐趣!

简介: 只需三分钟,让大家都能体验到AI写文章的乐趣!

申请GPU服务器

这里我发现了一个能白嫖的GPU服务器:

https://www.autodl.com

注册送10块钱,只需要申请一个便宜点的GPU就行了,几毛钱每小时。但一定要注意了,如果用的是int8量化模型,一定要选择计算能力>=7.5的显卡!下面的表格可以查看NVIDIA所有显卡的计算能力:

https://en.wikipedia.org/wiki/CUDA

服务端部署

按照之前的教程,训练并导出模型之后,就可以用LightSeq进行部署了。

用ssh连接服务器之后,安装一些必要的python库:

pip3 install lightseq transformers

然后就可以开始部署了,下面是一个简单的服务端代码。这个代码从6006端口接收用户请求,然后转换成id,送给LightSeq推理,最后还原成文本,发送回去。

import os
import socket
import threading
import time
from transformers import BertTokenizer
import lightseq.inference as lsi
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('127.0.0.1', 6006))
s.listen(5)
os.system("wget -nc https://zenodo.org/record/7233565/files/aiai97.hdf5")
tokenizer = BertTokenizer.from_pretrained("uer/gpt2-chinese-cluecorpussmall")
model = lsi.QuantGpt("aiai97.hdf5", 16)
def tcplink(sock, addr):
    print('Accept new connection from %s:%s...' % addr)
    while True:
        data = sock.recv(1024)
        if not data or len(data.decode('utf-8')) <= 0:
            break
        time.sleep(1)
        print(data.decode('utf-8'))
        inputs_ids = tokenizer([data.decode('utf-8')], return_tensors="pt", padding=True)["input_ids"]
        ls_res_ids = model.sample(inputs_ids)
        ls_res = tokenizer.batch_decode(ls_res_ids, skip_special_tokens=True)
        res = ''.join(ls_res[0].split())
        print(res)
        sock.send(res.encode('utf-8'))
    sock.close()
    print('Connection from %s:%s closed.' % addr)
while True:
    sock, addr = s.accept()
    t = threading.Thread(target=tcplink, args=(sock, addr))
    t.start()

客户端请求

然后任何人就可以使用起来啦!控制台可以看到公网域名和端口号:

然后在任意电脑上,用下面代码就可以请求啦:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('region-4.autodl.com', 40977))
s.send(input("请输入句子前缀:\n").encode('utf-8'))
print(s.recv(1024).decode('utf-8', 'ignore'))
s.close()

注意这里的域名和端口号改成你自己的,然后运行得到结果:

网页互动

如果你觉得命令行黑漆漆的不方便,那也可以做一个网页,给别人更好的体验!

首先安装gradio库:

pip3 install gradio

然后客户端代码改成下面这样就行了:

import socket
import gradio as gr
def predict(text):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(('region-4.autodl.com', 40977))
    s.send(text.encode('utf-8'))
    res = s.recv(1024).decode('utf-8', 'ignore')
    s.close()
    return res
gr.Interface(fn=predict,
             inputs=["text"],
             outputs=["text"]).launch(share=True)

然后运行就可以看到下面提示:

这里会显示一个内网ip和公网地址,公网地址可以分享给你的小伙伴体验,打开后是这样的:

相关文章
|
7月前
|
人工智能 自然语言处理 搜索推荐
AI原生企业级Agent构建平台具备哪些特性?一篇文章看明白
AI原生企业级Agent构建平台有哪些特性?澜码正式发布AskXBOT平台为业界揭晓答案。
493 0
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术性文章
【8月更文挑战第27天】本文将介绍人工智能(AI)技术在现代社会中的应用和影响。我们将探讨AI技术的基本原理,包括机器学习和深度学习等核心技术,并展示一些实际的代码示例。同时,我们也将讨论AI技术在未来可能带来的挑战和机遇,以及如何利用这些技术来改善我们的生活和工作。
|
21天前
|
人工智能 自动驾驶 搜索推荐
AI技术性文章
本文将探讨人工智能(AI)技术在现代社会中的应用,以及它如何改变我们的生活和工作方式。我们将从AI的基本概念开始,然后深入探讨其在各个领域的应用,包括医疗、教育、交通等。最后,我们将讨论AI的未来发展趋势和可能的挑战。
|
2月前
|
存储 人工智能 Serverless
AI大模型助力客户对话分析评测文章
在数字化时代,企业面临客户对话数据处理的挑战。阿里云推出的AI大模型助力客户对话分析方案,通过整合多种云服务,实现对话数据的自动化分析,提升服务质量和客户体验。本文将详细介绍该方案的优势与实际应用效果。
|
2月前
|
机器学习/深度学习 人工智能 自动驾驶
AI技术性文章
【9月更文挑战第34天】本文将介绍人工智能(AI)的基本概念、应用领域以及未来发展趋势。我们将通过一个简单的代码示例来展示AI技术在实际应用中的作用,并探讨如何利用AI技术解决实际问题。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术性文章
【9月更文挑战第27天】本文将深入探讨人工智能(AI)技术在现代社会的应用和发展。我们将从AI的基本概念开始,探讨其在各个领域的应用,包括医疗保健、交通、金融等。我们还将讨论AI技术的挑战和未来趋势。
|
4月前
|
人工智能 运维 自然语言处理
从海量信息中脱颖而出:Workflow智能分析解决方案,大语言模型为AI科技文章打造精准摘要评分体系(总篇章)
【8月更文挑战第10天】从海量信息中脱颖而出:Workflow智能分析解决方案,大语言模型为AI科技文章打造精准摘要评分体系(总篇章)
从海量信息中脱颖而出:Workflow智能分析解决方案,大语言模型为AI科技文章打造精准摘要评分体系(总篇章)
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术性文章
【9月更文挑战第10天】本文将探讨人工智能(AI)的基本原理、应用领域以及未来发展趋势。我们将通过一个简单的代码示例来展示AI的基本概念,并讨论如何将这些概念应用于实际问题中。最后,我们将展望AI的未来发展方向,并探讨它可能对社会带来的影响。
64 8
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术性文章移动应用开发之旅:从新手到专家的蜕变之路
【8月更文挑战第30天】本文将介绍人工智能的基本原理和应用,包括机器学习、深度学习和自然语言处理等。我们将通过代码示例来展示如何使用Python和TensorFlow库实现一个简单的神经网络模型。
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
利用AI技术实现自动化文章生成
【8月更文挑战第31天】本文将介绍如何利用人工智能(AI)技术实现自动化文章生成。我们将通过一个简单的Python代码示例,展示如何使用自然语言处理(NLP)和机器学习算法来生成一篇关于“AI技术”的文章。这个示例将帮助我们理解AI技术在文本生成领域的应用,并激发我们对未来可能的创新和应用的思考。
下一篇
DataWorks