ask
如果你不想使用文件檔案,希望直接輸入文件內容,你可以使用ask物件,使用 info 參數將文件的內容傳給語言模型,info參數可輸入的內容為純文字、文件檔案名、文件資料夾名、網址,ask物件會讀取所有文件和純文字內容,並使用所有文件進行回答,因此若使用過多文件或文件內容過多,將花費大量時間與token。
若 info中的單一字串長度大於語言模型上限,該字串會強制被自行切割成 list of str,因此建議若文字過多,請自行分段成 list of str
若 info中的總文字內容過多,文件內容會被分別提供給語言模型作回答,並最終整合成一個最終回答,因此可能會花費較久時間。
詢問完問題後,若有keep_logs參數,可選擇儲存成json檔案
ask範例
1 | import akasha |
ask 參數
verbose: bool 如果設True,會顯示每個步驟產生的文字和狀態
model: Union[str, BaseLanguageModel] 使用的語言模型,如 openai:gpt-3.5-turbo, gemini:gemini-1.5-flash
temperature: float 語言模型的變化度(0~1)
system_prompt: str 指示給語言模型的output格式需求
stream: bool 如果設為True,會回傳generator
max_input_tokens: int 單次輸入模型的最大token數
max_output_tokens: int 模型輸出的最大token數
env_file:str 指定.env環境設定檔名
keep_logs: bool 是否保存執行過程和結果
call 參數
info: Union[str, list, Path, Document] 一個或多個包含文件檔案的資料夾路徑名稱、文件名稱、網址、純文字
prompt: str 使用者的問題
history_messages: List[str] 需要一併提供給語言模型的對話紀錄
vision
有些語言模型可以輸入圖片進行辨識,使用函式vision便可傳入圖片給語言模型。
參數 image_path 可為圖片的本機路徑或網址,也可以使用list傳入多張圖片
vision範例
1 | import akasha |