当前位置:   article > 正文

langchain 使用本地通义千问,7B,14B_langchain千问7b本地模型

langchain千问7b本地模型

langchian 使用已经下载到本地的模型,我们使用通义千问

显存:24G

模型:qwen1.5-7B-Chat,qwen-7B-Chat

先使用 qwen-7B-Chat,会报错用不了:

看了下是不支持这中模型,但看列表中有一个 Qwen 字样,想着应该是支持的,就去 hugging face 搜了下这个东西 “Qwen2”找到了对应的 qwen1.5-7B-Chat 模型

https://huggingface.co/Qwen/Qwen1.5-7B-Chat

其实也就是一种公测版本,,所以总结来说目前直接导入本地 通义千问 langchaing 支持不是很好,可以使用 ollama,但这个下载非常慢,还会失败

 qwen1.5-7B-Chat 我们用这个模型,是可以加载成功的,并输出的,但是非常非常慢

  1. from transformers import AutoTokenizer, AutoModelForCausalLM
  2. from transformers import pipeline
  3. from langchain import HuggingFacePipeline
  4. from langchain_core.prompts import ChatPromptTemplate
  5. import torch
  6. device = torch.device("cuda")
  7. model_path = "/root/autodl-tmp/Qwen1___5-7B-Chat"
  8. tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
  9. model = AutoModelForCausalLM.from_pretrained(
  10. model_path,
  11. device_map='auto',
  12. trust_remote_code=True
  13. ).to(device).eval()
  14. pipe = pipeline(
  15. "text-generation",
  16. model=model.to(device),
  17. tokenizer=tokenizer,
  18. # max_length=4096,
  19. # max_tokens=4096,
  20. max_new_tokens=512,
  21. top_p=1,
  22. repetition_penalty=1.15
  23. )
  24. llama_model = HuggingFacePipeline(pipeline=pipe)
  25. prompt = ChatPromptTemplate.from_template("请编写一篇关于{topic}的中文小故事,不超过100字")
  26. chain = prompt | llama_model
  27. res = chain.invoke({"topic": "小白兔"})
  28. print(res)

qwen-14b-chat 可以运行 

指定 gpu,必须指定到开头,langchain 前面

  1. import os
  2. os.environ["CUDA_VISIBLE_DEVICES"] = "5,6"
  3. from transformers import AutoTokenizer, AutoModelForCausalLM
  4. from transformers import pipeline
  5. from langchain import HuggingFacePipeline
  6. from langchain_core.prompts import ChatPromptTemplate
  7. tokenizer = AutoTokenizer.from_pretrained("/home/qwen-14b-chat/",
  8. trust_remote_code=True)
  9. model = AutoModelForCausalLM.from_pretrained("/home/qwen-14b-chat/",
  10. device_map="auto",
  11. trust_remote_code=True).eval()
  12. pipe = pipeline(
  13. "text-generation",
  14. model=model,
  15. tokenizer=tokenizer,
  16. # max_length=4096,
  17. # max_tokens=4096,
  18. max_new_tokens=512,
  19. top_p=1,
  20. repetition_penalty=1.15
  21. )
  22. llama_model = HuggingFacePipeline(pipeline=pipe)
  23. prompt = ChatPromptTemplate.from_template("请编写一篇关于{topic}的中文小故事,不超过100字")
  24. chain = prompt | llama_model
  25. res = chain.invoke({"topic": "小白兔"})
  26. print(res)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/524590
推荐阅读
相关标签
  

闽ICP备14008679号