पाठ 4 / 31
मानसिक मॉडल: सब कुछ typed चरणों की Pipeline
LLM app को composable चरणों से बहते डेटा के रूप में देखें।
इनपुट, रूपांतरण, आउटपुट
दोनों frameworks एक ही सोच का पुरस्कार देते हैं: LLM app एक pipeline है जहाँ हर चरण एक मान लेता है और एक मान लौटाता है। Prompt template dict को messages बनाता है; मॉडल messages को message बनाता है; parser message को Python ऑब्जेक्ट बनाता है; retriever query को documents बनाता है; tool arguments को परिणाम बनाता है। हर चरण का इनपुट और आउटपुट type पता हो तो आप हिस्से बदल सकते हैं, उन्हें अलग से (fakes के साथ) परख सकते हैं और ठीक देख सकते हैं कि bug कहाँ है। दुष्प्रभाव (ईमेल भेजना, database में लिखना) स्पष्ट रूप से चिह्नित चरणों में रखें जिन्हें स्वीकृत या बंद किया जा सके।
Pipeline दृश्य
कोष्ठकों में types दिखाते हैं कि चरणों के बीच क्या बहता है।
{question: str} -> [prompt] -> messages -> [model] -> AIMessage -> [parser] -> str / object
retrieval: str -> [retriever] -> list[Document] -> [format] -> str -> (into the prompt)
tools: AIMessage(tool_call) -> [tool] -> ToolMessage -> back to the modelत्वरित जाँच: हर चरण के इनपुट और आउटपुट types के बारे में क्यों सोचें?
- इससे मॉडल छोटा होता है
- इससे आप चरण स्वतंत्र रूप से बदल, परख और debug कर सकते हैं
- इससे prompts की ज़रूरत हटती है
- इससे GPU तेज़ होता है
Answer
इससे आप चरण स्वतंत्र रूप से बदल, परख और debug कर सकते हैं — स्पष्ट interfaces pipelines को modular और परखने योग्य बनाते हैं।