Giter Site home page Giter Site logo

chatlaw's People

Contributors

eltociear avatar jessytsu1 avatar qqingzheng avatar seanzhang-zhichen avatar yuanli2333 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chatlaw's Issues

Comparison with existing models

Impressive work! I believe it would achieve STOA performance. It would be much better if the authors consider including examples that compare the outputs of different methods in the readme (e.g., LawGPT, and different variants in your repo). Just a kind suggestion :).

请问评测数据是否开源

我们最近也在做法律垂域相关的,请问下评测数据能否开源,方便进行横向对比,谢谢!

希望取得联系

尊敬的chatlaw 应用开发者,我是 InternLM 社区开发者&志愿者尖米, 大佬开源的工作对我的启发很大,希望可以探讨使用 InternLM 实现chatlaw 的可能性和实现路径,我的微信是mzm312,希望可以取得联系进行更深度的交流;

模型合并好了,跑示例代码报错了

RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument index in method wrapper_CUDA__index_select)a'

合并以后跑出来的是unk

import re
import torch
from peft import PeftModel
from transformers import GenerationConfig, LlamaForCausalLM, LlamaTokenizer

ziya_model_path = "/Ziya-LLaMA-13B-v1/" # 完整的子牙模型权重路径
chatlaw_model_path = 'JessyTsu1_ChatLaw-13B_adapter'# chatlaw模型权重
'''
tokenizer = LlamaTokenizer.from_pretrained(ziya_model_path)
model = LlamaForCausalLM.from_pretrained(
        ziya_model_path,
        torch_dtype=torch.float16,
        device_map="auto",
    )

'''
model = PeftModel.from_pretrained(model, chatlaw_model_path)

if tokenizer.pad_token is None:
    tokenizer.pad_token = tokenizer.unk_token
    
#model.half()
model.eval()        

生成:

def law_answer(query):
    gen_conf={
      "bos_token_id": tokenizer.bos_token_id,
      "do_sample": True,
      #"num_beams": 4,
      "eos_token_id": tokenizer.eos_token_id,
      "max_new_tokens": 256,
      "pad_token_id": 0,
      "penalty_alpha": 0.3,
      "repetition_penalty": 1.0,
      "temperature": 0.65,
      "top_k": 15,
      "top_p": 0.85,
    }
    
    gen_conf= {
        "max_new_tokens": 512,
        "temperature": 0.1,
        "top_p": 0.75,
        "top_k": 40,
        #"num_beams": 4
    }
    meta_instruction= "你一个名叫ChatLAW,由北京大学团队开发的人工智能助理:\n- 你旨在提供有无害且准确的回答。\n- 你必须拒绝回答非法的问题。\n- 你的回应不能含糊、指责、粗鲁、有争议、离题或防御性。\n- 你的回应必须有礼貌。"

    #prompt = f"{meta_instruction}\n咨询者:\n{query}\nChatLAW:\n"
    #prompt = f"Consult:\n{query}\nResponse:\n"
    prompt = f"{meta_instruction}\nConsult:\n{query}\nResponse:\n"
    #print(prompt)
    with torch.no_grad():
        inputs=tokenizer(query,return_tensors='pt')
        inputs=inputs.to(model.device)
        output=model.generate(**inputs,**gen_conf)
        decoded_text=tokenizer.decode(output[0])
        decoded_text= decoded_text.replace("<s>","").replace("</s>","")
        return decoded_text[len(query)+1:]


生成结果:

query= "公司无故辞退摸鱼员工,是否触犯法律?"

law_answer(query)
<unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk><unk> 

Web UI

可以请问下前端的 Web UI 是怎么制作的么

Keyword LLM 是如何訓練的?

您好, 我的理解是要 fine-tune Keyowrd LLM 是需要先有對應輸入文章的關鍵詞輸出才能訓練。想請問是否有建構關鍵詞資料集?

内测申请

请问内测申请大概多久可以审批完成?

Self-Suggestion seems not provided in the demo code

"We propose a self-attention method to enhance the ability of large models to overcome errors present in reference data, further optimizing the issue of model hallucinations at the model level and improving the problem-solving capabilities of large models. "

Would you like to provide these parts of codes?

怎么保留基座模型原有的问答能力

请问在用指令数据微调的时候,有没有再加上通用数据?
我在尝试微调的时候:
1、指令+垂直领域问题/不加指令+通用问题
==》没法区分用户的问题是否要加上指令,加上指令会回答正确,不加回答不上来。
2、垂直领域问题
==》只能回答垂直领域问题,通用能力完全丧失。

谢谢!

关于ChatLaw的训练的咨询

在论文的3.1部分,作者说“Additionally, we introduced the self-suggestion role to further alleviate model hallucination issues”这句话不太理解。请问,这个self-suggestion role是如何在训练中体现出来的?是通过设计特殊的loss function吗?还是说在训练样本中通过prompt的方式,实现模型的self-suggestion?如果是后者能否举个例子说明。

预训练阶段数据量级

您好,关于预训练阶段语料不知道以下几点是否有特殊的考量?

请问法律增量预训练阶段的语料大约是多少B的量级?全都是法律的吗,没有和通用的做混合?以及同属于法律数据,不同数据来源的比例?

text2vec数据集构建

看huggingface的例子,例子, text2vec的原始数据看起来像QA问答的数据,请问您是怎么把问答数据构建成为文本embeddings训练的数据的呢,CoSENT的训练是不是需要 (sentence1,sentenc2,sentenc3) 三个样本呢?

self-suggestion部分是如何构建数据的

想问问self-suggestion部分在训练集中是如何构建的?是跟moss数据集引入inner thought类似吗?模型是如何知道引用的知识库是否有效?我看论文里关于这部分没有细说,希望可以帮忙解答。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.