PromptIDE 簡介

Mondo 娛樂 更新 2024-01-28

以下是 XAI 網站關於提示

xai promptide是乙個整合的開發環境,用於快速的工程和解釋性研究。 它通過SDK加速提示工程,該SDK允許實施複雜的提示技術和豐富的分析,以視覺化網路的輸出。 隨著我們繼續開發grok,我們經常使用它。

我們開發了 Promptide,以透明的方式向社群中的工程師和研究人員提供對 Grok-1(驅動 Grok 的模型)的透明訪問。 IDE 旨在為使用者提供支援,並幫助他們以更快的速度探索大型語言模型 (LLMS) 的功能。IDE 的核心是乙個 Python 編輯器,它與新的 SDK 相結合,允許實現複雜的提示技術。 在 IDE 中執行提示時,使用者可以看到有關標記化、取樣概率、備用標記和聚合注意力掩碼等的有用分析。

IDE 還提供了一些有用的功能。 它會自動儲存所有提示,並具有內建的版本控制。 執行提示生成的分析可以永久儲存,允許使用者比較不同提示技術的輸出。 最後,使用者可以上傳小檔案,例如 CSV 檔案,並使用 SDK 中的單個 Python 函式讀取它們。 當與 SDK 的併發功能結合使用時,即使是相當大的檔案也可以快速處理。

我們還想建立乙個 Promptide 社群。 任何提示都可以通過單擊按鈕公開共享。 使用者可以決定是只共享提示的單個版本還是整個樹。 共享提示時,還可以包含任何儲存的分析。

Promptide 目前僅供我們的搶先體驗計畫會員使用。 下面,您將找到 IDE 主要功能的演示。

謝謝,XAI團隊。

編輯器和 SDK

Promptide 的核心是乙個編輯器和乙個 Python SDK。 SDK 提供了一種新的程式設計正規化,允許優雅地實現複雜的提示技術。 所有 python 函式都在隱式上下文中執行,該上下文是一系列標記。 您可以使用 prompt() 函式手動將令牌新增到上下文中,也可以使用我們的模型使用 sample() 函式根據上下文生成令牌。 從模型中取樣時,可以通過將配置選項作為引數傳遞給函式來進行各種配置:

async def sample( self, max_len: int = 256, temperature: float = 1.0, nucleus_p: float = 0.7, stop_tokens: optional[list[str]] = none, stop_strings: optional[list[str]] = none, rng_seed: optional[int] = none, add_to_context: bool = true, return_attention: bool = false, allowed_tokens: optional[sequence[union[int, str]]]= none, disallowed_tokens: optional[sequence[union[int, str]]]= none, augment_tokens: bool = true,) sampleresult: """generates a model response based on the current prompt. the current prompt consists of all text that has been added to the prompt either since the beginning of the program or since the last call to `clear_prompt`. args: max_len: maximum number of tokens to generate. temperature: temperature of the final softmax operation. the lower the temperature, the lower the variance of the token distribution. in the limit, the distribution collapses onto the single token with the highest probability. nucleus_p: threshold of the top-p sampling technique: we rank all tokens by their probability and then only actually sample from the set of tokens that ranks in the top-p percentile of the distribution. stop_tokens: a list of strings, each of which will be mapped independently to a single token. if a string does not map cleanly to one token, it will be silently ignored. if the network samples one of these tokens, sampling is stopped and the stop token *is not* included in the response. stop_strings: a list of strings. if any of these strings occurs in the network output, sampling is stopped but the string that triggered the stop *will be* included in the response. note that the response may be longer than the stop string. for example, if the stop string is "hel" and the network predicts the single-token response "hello", sampling will be stopped but the response will still read "hello". rng_seed: see of the random number generator used to sample from the model outputs. add_to_context: if true, the generated tokens will be added to the context. return_attention: if true, returns the attention mask. note that this can significantly increase the response size for long sequences. allowed_tokens: if set, only these tokens can be sampled. invalid input tokens are ignored. only one of `allowed_tokens` and `disallowed_tokens` must be set. disallowed_tokens: if set, these tokens cannot be sampled. invalid input tokens are ignored. only one of `allowed_tokens` and `disallowed_tokens` must be set. augment_tokens: if true, strings passed to `stop_tokens`, allowed_tokens` and `disallowed_tokens` will be augmented to include both the passed token and the version with leading whitespace. this is useful because most words h**e two corresponding vocabulary entries: one with leading whitespace and one without. returns: the generated text. """
上面的 ** 在 python 直譯器的執行中執行,直譯器可以單獨在 web worker 上。 同時執行多個 Web Worker 意味著您可以併行執行許多提示專案。

併發SDK 使用 Python 協程,允許同時處理多個 Python 函式,並帶有@prompt fn 註解。 這可以顯著加快完成時間,尤其是在處理 CSV 檔案時。

使用者輸入使用 User Input() 函式,可以通過 UI 中的文字框使提示具有互動性。 User Input() 函式會阻止執行,直到使用者在 UI 的文字框中輸入字串。 user input() 函式返回使用者輸入的字串,例如,可以通過 prompt() 函式將其新增到上下文中。 使用這些 API,可以實現只有四行的聊天機械人:

await prompt(preamble)while text := await user_input("write a message"): await prompt(f"\\human: \assistant:") await sample(max_len=1024, stop_tokens=[""], return_attention=true)
檔案開發人員可以將小檔案上傳到 Promptide(每個檔案最多 5 MIB)。 總共最多 50 MiB),並在提示中使用它們。read file() 函式以位元組陣列的形式返回任何上傳的檔案。 結合上述併發功能,可以實現批處理提示,以便及時對各種問題進行技術評估。 下面的螢幕截圖顯示了計算 MMLU 分數的提示。

分析學執行提示時,會向使用者顯示詳細說明,以幫助他們更好地理解模型的輸出。 完成視窗顯示上下文的精確標記化,以及每個標記的數字識別符號。 單擊令牌時,使用者還可以在應用令牌時看到前 p 閾值和前 K 個令牌。

使用 user input() 函式時,視窗中會出現乙個文字框,使用者可以在提示執行時輸入其響應。 以下螢幕截圖顯示了執行上述聊天機械人**片段的結果。

最後,當不需要令牌視覺化功能時,還可以在 Markdown 中呈現上下文以提高可讀性。

相關問題答案

    關於膠東遠潤堂梨醬介紹

    最近有很多朋友咳嗽發燒,回答的原因也很多,反正吊瓶和藥很多,耽誤時間還挺長的,據說單純吃藥天還是咳嗽,效果不是很明顯。有鑑於此,我想推薦我自製的梨醬並做廣告,希望大家能推薦購買。首先,從選料上要用到萊陽梨,這種梨含有比較高量的原兒茶酸 可以自己做 所以對潤肺止咳有很好的效果。而在 本草綱目 中,也有...

    小公尺辣椒的種植技術及方法介紹

    小公尺辣椒的種植技術及方法介紹 穀子是中國南方地區非常常見的作物,栽培方法和技術對於實現豐收和優質產量非常重要。種植小公尺的方法和技術詳述如下。 整地 玉公尺辣椒喜歡富含有機質和排水良好的土壤。種植前需要進行適當的土壤準備,包括犁地 鬆土和清除雜草。此外,還可以在土壤中新增有機肥料以提供養分。 品種...

    全面介紹NMN的功能和用途,介紹NMN什麼牌子好

    NMN是一種重要的營養素,可以幫助身體提高NAD 水平,從而促進身體的新陳代謝和健康。隨著年齡的增長,人體中NAD 的水平逐漸下降,導致體內出現各種問題。因此,補充NMN可以幫助人們保持年輕和健康。人們在選擇NMN產品時,需要注意以下幾點。首先,他們應該選擇高質量的NMN產品,這可以通過看產品的純度...

    關於疲憊的文案

    真正讓我心碎的是那些突然想到與你有關的事情的點點滴滴。.一瞬間的秋天,有的人會再見面,有的人再也不會見面了。.你要有多美,這樣你才不必為愛流淚。.眼淚真的能感同身受嗎,為什麼你從來不為我感到難過。.如果你太愛乙個人,那個人就不會愛你。.我不能留住你,就像我不能留住夏天一樣。.有些人互相認識,然後歸零...

    “愛的教育”簡介。

    愛的教育 是義大利作家埃迪門多 德 阿公尺西斯 的長篇日記,首次出版於 年。以小學生恩里科為視角,從當年月開學第一天到次年月,記錄了自己個月的四年級生活。以 愛 為主題,描繪了恩里科與父母 老師 同學之間的真摯愛情,以及他對祖國 對真理 對正義的熱愛。語言樸實,情感真摯,具有很強的教育價值。愛的教育...