ymcui/Chinese-LLaMA-Alpaca-2

请问下,中文处理这块,你是先把中文翻译成英文,英文处理完成后,再转成中文的吗

douguohai opened this issue · 2 comments

提交前必须检查以下项目

  • 请确保使用的是仓库最新代码(git pull),一些问题已被解决和修复。
  • 我已阅读项目文档FAQ章节并且已在Issue中对问题进行了搜索,没有找到相似问题和解决方案。
  • 第三方插件问题:例如llama.cppLangChaintext-generation-webui等,同时建议到对应的项目中查找解决方案。

问题类型

效果问题

基础模型

Others

操作系统

macOS

详细描述问题

from builtins import print, input

from langchain.chains import LLMChain
from langchain.llms.huggingface_pipeline import HuggingFacePipeline
from langchain.prompts import PromptTemplate

model_path = "/Users/tianwen/PycharmProjects/Chinese-LLaMA-Alpaca-2/chinese-alpaca-2-1.3b"
# model_path = "/Users/tianwen/PycharmProjects/Chinese-LLaMA-Alpaca-2/chinese-llama-2-1.3b"
# model_path = "/Users/tianwen/PycharmProjects/Chinese-LLaMA-Alpaca-2/chinese-alpaca-2-7b"

if __name__ == '__main__':
    print("loading LLM...")
    model = HuggingFacePipeline.from_model_id(model_id=model_path,
                                              task="text-generation",
                                              device_map='cpu',
                                              pipeline_kwargs={
                                                  "do_sample": True,
                                                  "temperature": 0.4,
                                                  "max_new_tokens": 400
                                              },
                                              )

    prompt = PromptTemplate(
        input_variables=["product"],
        # template="[INST] <<SYS>>"
        #          "You are a helpful assistant. Always answer as helpfully as possible, "
        #          "and when you receive any Chinese message, "
        #          "you will translate it into English"
        #          "<</SYS>>"
        #          " 翻译中文成英语 :  {product}"
        #          " [/INST]",
        template="[INST] <<SYS>>"
                 "You are a helpful assistant. 你是一个乐于助人的助手。"
                 "<</SYS>>"
                 "用英语 翻译  中文 {product} "
                 " [/INST]",
    )

    while True:
        query = input("请输入:")
        print(prompt.format(product=query))
        llm = LLMChain(llm=model, prompt=prompt)
        print(llm.run(query))

依赖情况(代码类问题务必提供)

(venv) ➜  Chinese-LLaMA-Alpaca-2 git:(main) ✗ pip list | grep -E 'transformers|peft|torch|sentencepiece|bitsandbytes'
bitsandbytes          0.41.1
peft                  0.7.0
sentence-transformers 2.2.2
sentencepiece         0.1.99
torch                 2.1.1
torchvision           0.16.1
transformers          4.35.0
WARNING: You are using pip version 21.3.1; however, version 23.3.1 is available.
You should consider upgrading via the '/Users/tianwen/PycharmProjects/Chinese-LLaMA-Alpaca-2/venv/bin/python -m pip install --upgrade pip' command.

运行日志或截图

Hello, 翻译 中文 你好
请输入:>? 你很帅
[INST] <<SYS>>You are a helpful assistant. 你是一个乐于助人的助手。<</SYS>>用英语 翻译  中文 你很帅  [/INST]
 中文:帅
英文:Beauty
中文:帅气
请输入:>? 你非常的厉害
[INST] <<SYS>>You are a helpful assistant. 你是一个乐于助人的助手。<</SYS>>用英语 翻译  中文 你非常的厉害  [/INST]
 中文的意思是"非常棒"。
请输入:>? 你很厉害
[INST] <<SYS>>You are a helpful assistant. 你是一个乐于助人的助手。<</SYS>>用英语 翻译  中文 你很厉害  [/INST]
 中文翻译为:"I'm a great AI."
请输入:>? 我很快乐
[INST] <<SYS>>You are a helpful assistant. 你是一个乐于助人的助手。<</SYS>>用英语 翻译  中文 我很快乐  [/INST]
 翻译  中文 我很快乐
中文:很高兴能快乐地生活。
英文:Happy to live life.
中文:很高兴能快乐地生活。
英文:Happiness to live life.
中文:快乐的生活。
请输入:>? 人间四月
[INST] <<SYS>>You are a helpful assistant. 你是一个乐于助人的助手。<</SYS>>用英语 翻译  中文 人间四月  [/INST]
 四月,春风又绿江南岸。
请输入:>? 我想睡觉
[INST] <<SYS>>You are a helpful assistant. 你是一个乐于助人的助手。<</SYS>>用英语 翻译  中文 我想睡觉  [/INST]
 翻译  中文 我想睡觉
English Translation: I want to sleep 
Chinese Translation: I want to sleep 
English Translation: I want to sleep
请输入:>? 电脑
[INST] <<SYS>>You are a helpful assistant. 你是一个乐于助人的助手。<</SYS>>用英语 翻译  中文 电脑  [/INST]
 电脑                                                                                                                                                                                                                                                                                                                                                                                                              
请输入:

没明白您的问题,方便详细描述一下吗?

没事了