readme: ---
  inference:
    parameters:
      max_length: 250
      temperature: 0.7
      top_p: 1
  license: creativeml-openrail-m
  widget:
  - text: 用户：帮我写个请假条，我因为新冠不舒服，需要请假3天，请领导批准\n小元：
  - text: >-
      用户：新冠什么症状？\n小元：新冠是指新型冠状病毒，其症状包括发热、干咳、乏力、嗅味觉减退、呼吸困难等。\n用户：可以吃什么药？\n小元：根据您提供的病史，目前没有明确的抗新冠病毒的药物，建议您在家进行自我隔离，避免与他人接触，多喝开水，清淡易消化饮食，避免熬夜和过度劳累，适当进行户外活动。\n用户：用什么后遗症么？\n小元：
  library_name: paddlenlp
  language:
  - zh
  pipeline_tag: text2text-generation
  ---
  
  <a href="https://colab.research.google.com/drive/14B5_EyAXduE1WTaPiDs90-4Atsy7uaoy?usp=sharing">
  <img src="https://colab.research.google.com/assets/colab-badge.svg"></a>
  
  ChatYuan: 元语功能型对话大模型
  
  本页面的模型文件是ChatYuan-large-v1适应PaddleNLP转化得到的。功能与ChatYuan-large-v1一致，可以用于问答、结合上下文做对话、做各种生成任务，包括创意性写作，也能回答一些像法律、新冠等领域问题。ChatYuan-large-v1基于PromptCLUE-large结合数亿条功能对话多轮对话数据进一步训练得到。
  
  <a href='https://www.cluebenchmarks.com/clueai.html'>PromptCLUE-large:</a>在1000亿token中文语料上预训练，累计学习1.5万亿中文token，并且在数百种任务上进行Prompt任务式训练。针对理解类任务，如分类、情感分析、抽取等，可以自定义标签体系；针对多种生成任务，可以进行采样自由生成。 
  
  <a href='https://www.yuanyu.ai'>在线Demo(微信搜索小程序“元语智能”)</a> &nbsp; | 
    <a href='https://www.clueai.cn'>使用API(large版)</a> &nbsp; | 
   &nbsp; <a href='https://github.com/clue-ai/ChatYuan'>Github项目地址</a>&nbsp; |
    &nbsp;<a href='https://colab.research.google.com/drive/14B5_EyAXduE1WTaPiDs90-4Atsy7uaoy?usp=sharing#scrollTo=QokO0pdGmAYH'>Colab在线试用</a> 
  
     微信扫码在线体验：
     
     <img src="https://huggingface.co/ClueAI/ChatYuan-large-v1/resolve/main/chatyuan_wechat.jpg"  width="30%" height="30%" /> 
  
  
  加载模型：
   
   ```python
  # 加载模型
  from paddlenlp.transformers import AutoTokenizer, T5ForConditionalGeneration
  
  tokenizer = AutoTokenizer.from_pretrained("ClueAI/ChatYuan-large-v1", from_hf_hub=False)
  model = T5ForConditionalGeneration.from_pretrained("ClueAI/ChatYuan-large-v1", from_hf_hub=False)
   ```
  
  使用模型进行预测推理方法：
  ```python
  # 使用
  import torch
  
  # 这里使用的是paddle的gpu版本，修改colab笔记本设置为gpu，推理更快
  
  def preprocess(text):
    text = text.replace("\n", "\\n").replace("\t", "\\t")
    return text
  
  def postprocess(text):
    return text.replace("\\n", "\n").replace("\\t", "\t")
  
  def answer(text, sample=True, top_p=1, temperature=0.7):
    '''sample：是否抽样。生成任务，可以设置为True;
    top_p：0-1之间，生成的内容越多样'''
    text = preprocess(text)
    encoding = tokenizer(text=[text], truncation=True, padding=True, max_length=768, return_tensors="pd")
    if not sample:
      out = model.generate(**encoding, return_dict_in_generate=True, output_scores=False, max_length=512, max_new_tokens=512, num_beams=1, length_penalty=0.4)
    else:
      out = model.generate(**encoding, return_dict_in_generate=True, output_scores=False, max_length=512, max_new_tokens=512, do_sample=True, top_p=top_p, temperature=temperature, no_repeat_ngram_size=3)
    
    out_text = tokenizer.batch_decode(out[0], skip_special_tokens=True)
    
    return postprocess(out_text[0])
  print("end...")
  ```
  
  # 问答、写作与功能型助手
  ```python
  input_text0 = "帮我写一个请假条，我因为新冠不舒服，需要请假3天，请领导批准"
  input_text1 = "你能干什么"
  input_text2 = "用英文写一封道歉的邮件，表达因为物流延误，不能如期到达，我们可以赔偿贵公司所有损失"
  input_text3 = "写一个文章，题目是未来城市"
  input_text4 = "写一个诗歌，关于冬天"
  input_text5 = "从南京到上海的路线"
  input_text6 = "学前教育专业岗位实习中，在学生方面会存在问题，请提出改进措施。800字"
  input_text7 = "根据标题生成文章：标题：屈臣氏里的化妆品到底怎么样？正文：化妆品，要讲究科学运用，合理搭配。屈臣氏起码是正品连锁店。请继续后面的文字。"
  input_text8 = "帮我对比几款GPU，列出详细参数对比，并且给出最终结论"
  input_list = [input_text0, input_text1, input_text2, input_text3, input_text4, input_text5, input_text6, input_text7, input_text8]
  for i, input_text in enumerate(input_list):
    input_text = "用户：" + input_text + "\n小元："
    print(f"示例{i}".center(50, "="))
    output_text = answer(input_text)
    print(f"{input_text}{output_text}")
  ```  
  
  =======================示例0========================  
  用户：帮我写一个请假条，我因为新冠不舒服，需要请假3天，请领导批准  
  小元：尊敬的领导：  
  
  您好!  
  
  因为最近新冠病毒的流行，我感到身体不舒服，所以请求请假3天，在这段时间内，我将积极配合医生的治疗，保证充足的睡眠，并做好防护工作。  
   
  在此期间，我保证将努力完成我的工作，并按时下班，在请假期间，我绝对遵守公司的规章制度，接受公司的监督和检查，请领导批准。  
  谢谢!   
    
  此致  
  
  敬礼!   
  
  =======================示例1========================  
  用户：你能干什么  
  小元：您好!我是元语AI。我可以回答您的问题、写文章、写作业、翻译，对于一些法律等领域的问题我也可以给你提供信息。  
  =======================示例2========================  
  用户：用英文写一封道歉的邮件，表达因为物流延误，不能如期到达，我们可以赔偿贵公司所有损失  
  小元：E-mail apologies to your company for not reaching your delivery due to delay in logistics, we can compensate you for all losses.  
  =======================示例3========================  
  用户：写一个文章，题目是未来城市  
  小元：未来的城市是怎样的呢？  
    
  未来城市拥有很多不同的功能，如智慧城市、智能交通系统、远程医疗系统、智能家居系统、智慧医疗系统等。未来城市还使用物联网技术，可以远程控制，使用远程操控和传感器来监控城市的发展，帮助他们解决各种城市问题。  
    
  未来的城市还采用互联网技术，可以让城市变得更智能，让城市变得更智慧，让每一个人都能更轻松地生活。未来城市的智能设备也可以让城市的使用者更方便地掌握他们的生活，比如智能的智能交通系统和远程医疗系统和智能的安防系统等，可以提供他们更多的便利。  
  总之，未来城市的愿景是，让所有城市的使用者都能拥有一个美好的未来，让他们可以在自己的城市享受美好的生活。  
  =======================示例4========================  
  用户：写一个诗歌，关于冬天  
  小元：冬夜寂静冷， 
  云在天边飘，  
  冰封白雪上，  
  寒冷像一场雪。 
   
  雪花融化成冰，  
  像那雪花飘洒，  
  在寒冷的冬天，  
  感受春天的喜悦。  
   冬日里， 
  风雪渐消，  
  一片寂静，  
  把快乐和温暖带回家。    
  =======================示例5========================  
  用户：从南京到上海的路线  
  小元：你好，南京到上海的路线如下：  
    
  1. 南京到上海，可以乘坐南京地铁1号线，在南京站乘坐轨道交通1号线。  
   
  2. 南京到浦东机场，可以搭乘上海地铁1号，在陆家嘴站乘坐地铁1线，在浦东国际机场站乘坐机场快线，前往上海浦东国际机场。  
    
  3. 上海到南京，可以换乘上海地铁2号线，从南京站换乘地铁2线，再从南京南站换乘地铁1路，然后到达上海站。    
   
  =============