网站实名认证功能怎么做/做网站哪家公司比较好而且不贵
一、Colab初始配置
首先打开Colab,更改运行时类型选择提供的gpu。
然后我们需要挂在谷歌云盘,用于保存我们的所有操作。因为每次重启后笔记本的修改都会消失,为了防止重复操作,我们需要挂载我们谷歌云盘,实现像修改本地文件夹一样,在谷歌云盘上进行我们的一切操作。
# 挂载Google Drive,用于持久化存储模型
from google.colab import drive
drive.mount("/content/drive")
然后我们执行以下命令安装依赖
# 挂载Google Drive,用于持久化存储模型
!pip install -q bitsandbytes transformers accelerate flask nest-asyncio pyngrok
!pip install -U bitsandbytes
需要注意的是,执行完上面的安装后,我们需要重启笔记本,这样才能生效。
二、加载大模型
我们通过下面的代码,从hugging下载开源大模型
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
import torch# 创建 BitsAndBytesConfig 对象,设置量化为 4bit
quantization_config = BitsAndBytesConfig(load_in_4bit=True)model_id = "tiiuae/falcon-7b-instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id,device_map="auto",torch_dtype=torch.float16,quantization_config=quantization_config,trust_remote_code=True,
)
下载过程如下图:
其中我们通过load_in_4bit用于量化模型以减少对内存的需求。这个我们后面详细了解
第一次运行以后我们需要保存模型到云盘中,这样就不用每次都去下载了
三、优化加速,构建生成器
通过如下代码,基于模型,分词器和模型参数构建生成器。它是我们调用大模型回答问题的工具。
# 启用Transformer加速
from transformers import pipeline
generator = pipeline("text-generation",model=model,tokenizer=tokenizer,model_kwargs={"temperature":0.7, "max_length":200}
)
四、构建REST API服务,并进行测试
我们构建一个flask服务如下:
from flask import Flask, request, jsonify
import threadingapp = Flask(__name__)@app.route('/generate', methods=['POST'])
def generate():text = request.json.get('text', '')inputs = tokenizer(text, return_tensors="pt").to("cuda")outputs = model.generate(inputs.input_ids,max_new_tokens=100,temperature=0.7,do_sample=True)result = tokenizer.decode(outputs[0], skip_special_tokens=True)return jsonify({"response": result})# 后台启动Flask
threading.Thread(target=app.run, kwargs={'host':'0.0.0.0', 'port': 5000}).start()
同时,我们利用localtunnel来实现公网访问
!npm install -g localtunnel
!lt --port 5000 --subdomain myfalcon
我们可以看到访问的地址:
最后我们在cmd中,输入下列命令来获取回复:
curl -X POST -H “Content-Type: application/json” -d “{“text”:“你好”}” https://myfalcon.loca.lt/generate
可以看到回复如下:
云盘分享
下面是我的谷歌笔记本,可以在colab中运行查看
https://colab.research.google.com/drive/1W7bzTtgHNqhqe4Sv7fS-OlLw63Da2LWS?usp=sharing