ChatGLM3-6B 是一個語言大模型,最近在評估這個模型,但發(fā)現(xiàn)它的文檔有限,只能從demo代碼中猜測調用的參數(shù)的含義,準確度是有限的;于是,通過查看源代碼來研究,目前整理筆記如下:
ChatGLM3-6B 的調用接口有兩個,一個是chat接口,一個是stream_chat接口
接口函數(shù)的實現(xiàn)位于代碼 chatglm3-6b/blob/main/modeling_chatglm.py中
一、chat接口
chat接口的原型如下:
def chat(self, tokenizer, query: str, history: List[Dict] = None, role: str = "user",
max_length: int = 8192, num_beams=1, do_sample=True, top_p=0.8, temperature=0.8, logits_processor=None,
**kwargs):
參數(shù)說明如下:
參數(shù)名 | 參數(shù)含義 | 默認值 |
tokenizer | 用于處理輸入和輸出文本的tokenizer對象。由前面的?AutoTokenizer.from_pretrained 調用返回的對象 | |
query | str 類型,用戶輸入的任何文本 | |
history | List[Dict],可選參數(shù);對話歷史,每一項都是一個字典,包含角色('role')和內容('content')。 | None |
role | str, 可選參數(shù);輸入文本的角色,可以是'user'或者'assistant'。 | user |
max_length | int, 可選;生成文本的最大長度。 | 8192 |
num_beams | int, 可選;Beam搜索的寬度,如果值大于1,則使用Beam搜索 | 1 |
do_sample | bool, 可選;是否從預測分布中進行采樣,如果為True,則使用采樣策略生成回復。 | True |
top_p | float, 可選;用于控制生成回復的多樣性 | 0.8 |
temperature | float, 可選;控制生成文本的隨機性的參數(shù) | 0.8 |
logits_processor | LogitsProcessorList, 可選;用于處理和修改生成步驟中的logits的對象 | None |
**kwargs | 其他傳遞給模型生成函數(shù)的參數(shù) |
返回值:文章來源:http://www.zghlxwxcb.cn/news/detail-765023.html
response (str): 模型的響應文本。
history (List[Dict]): 更新后的對話歷史。
二、stream_chat 接口
流式聊天函數(shù),接受一段文本查詢,返回模型的響應。這個函數(shù)返回的是一個生成器,可以在流式處理中使用。?
該接口函數(shù)的原型定義如下:
def stream_chat(self, tokenizer, query: str, history: List[Dict] = None, role: str = "user",
past_key_values=None,max_length: int = 8192, do_sample=True, top_p=0.8, temperature=0.8,
logits_processor=None, return_past_key_values=False, **kwargs):
參數(shù)說明如下:
?參數(shù)名 | 參數(shù)含義 | 默認值 |
tokenizer | 用于處理輸入和輸出文本的tokenizer對象。由前面的?AutoTokenizer.from_pretrained 調用返回的對象 | |
query | str,必須參數(shù);用戶輸入的任何聊天文本。 | |
history | List[Dict], 可選;對話歷史,每一項都是一個字典,包含角色('role')和內容('content')。 | None |
role | str, 可選: 輸入文本的角色,可以是'user'或者'assistant'。 | user |
past_key_values | List[Tensor], 可選;用于transformer模型的過去的鍵值對 | None |
max_length | int, 可選: 生成文本的最大長度. | 8192 |
do_sample | bool, 可選;是否從預測分布中進行采樣 | True |
top_p | float, 可選: 用于控制生成回復的多樣性。 | 0.8 |
temperature | float, 可選;控制生成文本的隨機性的參數(shù) | 0.8 |
logits_processor | LogitsProcessorList, 可選;用于處理和修改生成步驟中的logits的對象。 | None |
return_past_key_values | bool, 可選): 是否返回過去的鍵值對,用于下一步的生成。 | False |
**kwargs | 其他傳遞給模型生成函數(shù)的參數(shù)。 |
返回值:
response (str): 模型的響應文本。
history (List[Dict]): 更新后的對話歷史。
past_key_values (List[Tensor], 可選): 如果return_past_key_values為True,返回用于下一步生成的過去的鍵值對。文章來源地址http://www.zghlxwxcb.cn/news/detail-765023.html
到了這里,關于ChatGLM3-6B 的調用參數(shù)說明,chat 與stream_chat 接口函數(shù)的參數(shù)說明的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!