赞
踩
刚开始接触AI时,您可能会感到困惑,因为面对众多开源模型的选择,不知道应该选择哪个模型,也不知道如何调用最基本的模型。但是不用担心,我将陪伴您一起逐步入门,解决这些问题。
在信息时代,我们可以轻松地通过互联网获取大量的理论知识和概念。然而,仅仅掌握理论知识并不能真正帮助我们成长和进步。实践是将理论知识转化为实际技能和经验的关键。
是一个知名的开源社区和平台,专注于自然语言处理(NLP)技术和人工智能模型的开发和共享。该社区致力于提供易于使用的工具和资源,帮助研究人员、开发者和数据科学家在NLP领域进行创新和应用。
Hugging Face最著名的贡献是其开源软件库,其中包括了许多流行的NLP模型的实现和预训练模型的集合,如BERT、GPT、RoBERTa等。这些模型在各种NLP任务,如文本分类、命名实体识别、情感分析等方面取得了很好的表现,并被广泛应用于学术界和工业界。
Hugging Face的Transformer是一个流行的开源Python库,用于自然语言处理(NLP)任务和模型开发。它提供了一系列易于使用的API和工具,用于加载、训练和部署各种预训练的NLP模型,如BERT、GPT、RoBERTa等。
旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单。
是一个全能的语言模型系列,包含各种参数量的模型,如Qwen(基础预训练语言模型,即基座模型)和Qwen-Chat(聊天模型,该模型采用人类对齐技术进行微调)。
从huggingface下载:https://huggingface.co/Qwen/Qwen-1_8B-Chat/tree/main
从魔搭下载:https://modelscope.cn/models/qwen/Qwen-1_8B-Chat/files
#Tokenizer加载
- def loadTokenizer():
- tokenizer = AutoTokenizer.from_pretrained(modelPath, trust_remote_code=True)
- return tokenizer
#Model加载
- def loadModel():
- model = AutoModelForCausalLM.from_pretrained(modelPath, device_map="cpu", trust_remote_code=True).eval()
- return model
#直接调用
- def generate(model,tokenizer,message):
- try:
- inputs = tokenizer(message, return_tensors='pt')
- pred = model.generate(**inputs)
- return tokenizer.decode(pred.cpu()[0], skip_special_tokens=True)
- except Exception:
- traceback.print_exc()
执行结果如下:
#流式调用
- def chat(model,tokenizer,message):
- position = 0
- result = []
- try:
- for response in model.chat_stream(tokenizer, message, system='你是一个乐于助人的助手,为人类解决各种问题。',history=None):
- result.append(response[position:])
-
- position = len(response)
-
- yield "".join(result)
- except Exception:
- traceback.print_exc()
执行结果如下:
- import traceback
- from transformers import AutoTokenizer, AutoModelForCausalLM
- import time
-
- modelPath = "E:\\pycharm\\gpt\\model\\qwen-1_8b-chat"
-
- def chat(model,tokenizer,message):
- position = 0
- result = []
- try:
- for response in model.chat_stream(tokenizer, message ,history=None):
- result.append(response[position:])
-
- position = len(response)
-
- yield "".join(result)
- except Exception:
- traceback.print_exc()
-
- def generate(model,tokenizer,message):
- try:
- inputs = tokenizer(message, return_tensors='pt')
- pred = model.generate(**inputs)
- return tokenizer.decode(pred.cpu()[0], skip_special_tokens=True)
- except Exception:
- traceback.print_exc()
-
- def loadTokenizer():
- tokenizer = AutoTokenizer.from_pretrained(modelPath, trust_remote_code=True)
- return tokenizer
-
- def loadModel():
- model = AutoModelForCausalLM.from_pretrained(modelPath, device_map="cpu", trust_remote_code=True).eval()
- return model
-
- if __name__ == '__main__':
- model = loadModel()
- tokenizer = loadTokenizer()
- start_time = time.time()
- message = "广东的省会是哪里?"
- response = generate(model,tokenizer,message)
- print(response)
-
- response = chat(model,tokenizer,message)
- for r in response:
- print(r)
-
- end_time = time.time()
- print("执行耗时: {:.2f}秒".format(end_time-start_time))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。