環境法規聊天機器人
Table of contents
背景
- 法律方面的AI系統從最簡單的法務助理、到最複雜的勝算策略AI諮詢都有,並且也已經推出商業應用的實例(詳見BBC NEWS中文版的介紹)1,中國及國內也有不少付費或免費的AI程式或服務,這方面是處在一個穩定、蓬勃發展的狀態。
- 就此趨勢而言,環境法規的進步倒是很緩慢。據了解,某國營大型企業內部網路確實提供最新即期的環境法規,然似乎仍停留在標題檢索及點閱方式提供,對於新一代工程師的養成而言,似乎可以有更積極有效的方式。
- 這裡提供目前在法律AI方面的進展、hugging face公開的模型與訓練資料等相關資源、以及初步測試的結果。
國外法律AI的摘要介紹
(下文由chatDOC摘要)
- BBC提到的AI研究助理的名稱有Luminance、Litigate與TAX-I。
- Luminance是一種 AI助理,透過搜索過程中運用的關鍵詞匯關聯能力和學習能力,能夠幾分鐘之內完成資料查閲、解讀、確定與案情相關的結論和建議,以節省時間和提高律師服務質量和價值[7][10].
- Litigate則是另一款司法輔助軟件,導入案件概要和訴求後,可以快速檢索出關鍵人物、找出他們之間的關聯,列出重要事件時間表,並給出分析和解釋,從而提供專業的高級助理服務[14].
- 德勤會計事務所的法律部門使用名為TAX-I的AI助手來搜索、分析類似的稅務申訴案例資料,並根據過往案例的最終裁決結果預測當前案例的結果[24][25].
- 策略研究等級的AI
- ROSS是一款利用IBM的人工智能技術「華生」開發的法律研究工具,能夠自動識別和理解自然語言,並在法律信息數據庫中瞬時檢索並提供答案[16][17]. ROSS還具備學習功能,不斷自我完善並根據不同案例調整研究方式[18]. 此外,ROSS還會密切跟蹤法律界的最新動態,以保持自身能力的不斷更新[19].有關ROSS也可以參考INSIDE(2016)的介紹。
- Premonition是一款AI軟件,利用機器學習技術分析法庭判決先例文檔並綜合其他相關因素,預測當前案例的判決結果[22]. 律師可以根據這些預測結果做出更妥帖的決策,提供更好的法律建議[23].
DoNotPay
(下文由chatWeb摘要)
- DoNotPay是一個提供線上法律服務的對話機器人,利用人工智能提供各種法律服務,包括爭取交通罰單、退款申請、取消訂閱、起訴他人等。它還提供免費試用卡功能和自動化服務,並聲稱能幫助無家可歸者申請庇護和住房,以及為簽證和綠卡申請提供支援。然而,其有效性和準確性受到質疑,並面臨集體訴訟指控未經授權從事法律實踐。wikipedia
司法院智慧客服
- 回答「書狀範例」與「常見問答」題庫。
- 查詢「開庭進度」與「庭期表」資訊。
- 現階段沒有聊天功能,還不能回答複雜或實例情境、資料查詢等問題。
現有模型的法學能力
chatGPT
我是基於 GPT-3.5 模型訓練的語言模型,具有相當豐富的法律知識和理解能力,可以回答許多與法律相關的問題,包括法律概念、法律程序、法規、合同、知識產權等方面的問題。我可以提供基本的法律資訊和解釋,但需要注意,我的回答僅供參考,並不構成法律建議。對於特定的法律問題,建議諮詢具有法律資格的專業律師以獲得專業建議。如果您有特定的法律問題,歡迎提出,我將盡力提供相關信息和解釋。
根據民法的家庭親屬關係,姑媽的孫子通常是六等親。在家庭親屬關係的計算中,以直系血親關係(父母、祖父母、子女)為一等親,而側系血親關係(兄弟姐妹、叔伯姑舅等)則從二等親開始計算。由於姑媽的孫子是您的姑媽的曾孫,所以在這個計算中他是六等親。(wrong 五等親)
根據台灣的民法,兒女的親家(也就是兒女的配偶的父母)在法律上被稱為”姻親”。姻親關係是由婚姻關係所產生的親屬關係,包括配偶的父母和兄弟姐妹,以及您的兒女的配偶的兄弟姐妹等。這種關係在民法中具有法律地位,並涉及一些法律責任和權益。(wrong! 親家和本人在民法中非屬姻親關係)
根據台灣民法第969條的規定,姻親是指血親的配偶、配偶的血親以及配偶的血親的配偶。根據這個定義,兒女的親家(兒女的配偶的父母)並不被視為民法中所定義的姻親。兒女的親家在法律上通常被稱為”岳父母”或”岳丈”和”岳母”。(正確)
因此,根據台灣民法的規定,兒女的親家不屬於民法中所定義的姻親,而是被稱為岳父母或岳母。感謝您的指正,我之前的回答有誤。如果您有更多的法律問題,建議諮詢當地的法律專業人士以獲得正確的法律解釋和建議。
chatDOC
根據民法的規定,兒女的親家不屬於姻親。在民法中,姻親是指婚姻關係成立後,雙方互相承認婚姻關係,並且建立起相互的法律地位與義務的關係。因此,兒女的親家並不符合這個定義,所以不屬於姻親。(wrong! 用結論拼湊過程)
依據”民法第 969條:「稱姻親者,謂血親之配偶、配偶之血親及配偶之血親之配偶。」請問兒女的親家是否為民法中規定的姻親? 根据民法第 969 条的定义,姻亲是指血亲之配偶、配偶之血亲及配偶之血亲的配偶。根据这个定义,兒女的親家不符合民法中规定的姻亲关系。(正確)
chatWeb
根據上下文,兒女的親家不是民法中規定的姻親關係。 根據最高法院的判決,即使兒女的配偶與兒女的父母有親屬關係,但根據民法第969條的規定,兒女的親家並不屬於法定的姻親關係。 因此,兒女的親家不符合民法中姻親的定義。(正確)
vicuna
- 根據「民法第969條」,兒女的親家確實是民法中規定的姻親之一,具體包括:
- 兒子的親家:指兒子的配偶及其血親。
- 女兒的親家:指女兒的配偶及其血親。
- 因此,兒女的親家確實可以被視為民法中規定的姻親,而根據這一規定,兒女在繼承、托管等法律事宜上可能會受到一定程度的限制或保障。(wrong!)
宝锣法律大模型1.0
來源
- 宝锣法律大模型1.0
- HuggingFace xuanxuanzl/BaoLuo-LawAssistant-sftglm-6b
- 基于“宝锣法律大模型”的应用github
- 參考
- 一个可以自己在本地部署的ChatGLM网页,使用ChatGLM-6B模型来实现接近ChatGPT的对话效果。NCZkevin/chatglm-web
- 完整 SaaS 体验的 chatgpt-web 应用Chanzhaoyu/chatgpt-web
- 开源的、支持中英双语的对话语言模型THUDM/ChatGLM-6B
相關模組
# conda activate /nas2/kuang/.conda/envs/YOLOv8
pip install protobuf==3.20.0 transformers>=4.27.1 icetk cpm_kernels torch==2.0.1
執行
from transformers import AutoTokenizer, AutoModel, AutoConfig
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
config = AutoConfig.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True, pre_seq_len=256)
prefix_state_dict = torch.load(os.path.join("xuanxuanzl/BaoLuo-LawAssistant-sftglm-6b", "pytorch_model.bin"), map_location=torch.device('cpu'))
model = AutoModel.from_pretrained("THUDM/chatglm-6b", config=config, trust_remote_code=True).half()
import torch,os
model = model.quantize(bits=8, kernel_file="xuanxuanzl/BaoLuo-LawAssistant-sftglm-6b/quantization_kernels.so")
#prefix_state_dict = torch.load(os.path.join("xuanxuanzl/BaoLuo-LawAssistant-sftglm-6b", "pytorch_model.bin"), map_location=torch.device('cpu'))
new_prefix_state_dict = {}
for k, v in prefix_state_dict.items():
if k.startswith("transformer.prefix_encoder."):
new_prefix_state_dict[k[len("transformer.prefix_encoder."):]] = v
model.transformer.prefix_encoder.load_state_dict(new_prefix_state_dict)
model.transformer.prefix_encoder.float()
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
模型綁定使用半精度GPU
- 不同的CPU架構和代碼庫可以對半精度浮點數計算提供不同的支援水平。一般來說,CPU本身是能夠處理半精度浮點數計算的,但具體的支援程度可能因CPU型號、代碼庫和軟體實現而異。
- 在CPU上支援半精度浮點數計算主要依賴於以下因素:
- CPU型號:新一代的CPU通常會提供更廣泛的浮點運算支援,包括半精度浮點數。因此,較新的CPU可能會對半精度計算提供更好的性能。
- 軟體庫:在某些情況下,使用特定的軟體庫(如Intel的MKL或OpenBLAS)可以實現更高效的半精度浮點數計算。這些庫通常會優化特定數學操作,以提高性能。
- 編譯選項:在編譯代碼時,你可以選擇啟用或禁用半精度浮點數支援。一些編譯器可能需要相應的標誌才能充分利用CPU的半精度計算能力。
- 總之,一般來說,現代CPU是能夠處理半精度浮點數計算的,但實際的性能和支援水平可能因多種因素而異。如果你在使用半精度浮點數時遇到性能或相容性問題,你可以考慮更新CPU驅動程序、使用優化的軟體庫,或者調整編譯選項,以確保最佳性能。
其他資料或模型
LawBERT(台灣)
- Dataset Card for “LawBERT_data” LawBERT-tw/LawBERT_data
- model: LawBERT-s
- BertForMaskedLM
JessyTsu1
- Model:ChatLaw-13B
- 学术demo版,基于姜子牙Ziya-LLaMA-13B-v1训练而来(LLaMA权重的许可证限制,我们无法直接发布完整的模型权重,用户需自行合并)
- ChatLaw-Text2Vec,使用93w条判决案例做成的数据集基于BERT训练了一个相似度匹配模型,可将用户提问信息和对应的法条相匹配,例如:
- “请问如果借款没还怎么办。”
- “合同法(1999-03-15): 第二百零六条 借款人应当按照约定的期限返还借款。对借款期限没有约定或者约定不明确,依照本法第六十一条的规定仍不能确定的,借款人可以随时返还;贷款人可以催告借款人在合理期限内返还。”
- 两段文本的相似度计算为0.9960
ssbuild
- 中文法律案件预训练模型 ssbuild/bert_base_wwm_law
1toTree
- 1toTree/chatglm2-6b-law-ptuning
Things TODO
Data collections
- 台灣基本法學能力相關資料庫(LawBERT-tw/LawBERT_data)
- 環境方面法規、辦法、條例、縣市單行法、自治條例
- 環境法判例、環保糾紛仲裁糾處案例
- 環保法令新聞、說明會、研商公聽會資料
model
- 基于Encoder-Decoder结构基座模型做的P-Tuning微调
布署
- 硬體:因無涉及資訊安全,可以考慮布署於雲端資源
- 軟體:(無特殊付費軟體)
人工智能AI和法律:機器人給你當律師會是什麼樣 by BBC NEWS 2021年8月19日中文 記者查理士存檔 ↩