LangChain በጅምላ ቋንቋ ሞዴሎች (LLMs) በመጠቀም ጠንካራ መተግበሪያዎችን ለመፍጠር ፈጣን ንድፍ ሊሆን ይችላል. የ LLMs የአምላክ ቋንቋን ያውቃል ጊዜ, በ SQL databases ውስጥ የተመሠረተ ውሂብ መጠን ለመግዛት በአብዛኛው ጊዜ ልዩ ጥያቄ ጥራት ያስፈልጋል. ይህ አንድ አስፈላጊ ጥያቄ ይሰጣል: እንዴት ተጨማሪ ተጠቃሚዎችን ቀላል, ምናልባት ቋንቋ በመጠቀም በ MySQL ያሉ ውሂብ ቦርሳዎች ጋር መዳረሻ ይችላሉ? ይህ ጽሑፍ በ LangChain በመጠቀም የእኔ የፈጠራ ጉዞን ያካትታል - አንድ የ MySQL ውሂብ ውሂብ ለመምረጥ ችሎታ የሚችል የፈጠራ ቋንቋ መተግበሪያ. እኔ በ Docker በመጠቀም ስርዓት ለመፍጠር የተወሰነ ደረጃዎች, በተመሳሳይ ፍላጎቶች (የ LLM ቶኬን መስፈርቶች መቆጣጠሪያ, ተስማሚ ውሂብ ደህንነት ለማረጋገጥ, እና በተደጋጋጋሚ ትዕዛዞች መቆጣጠሪያ) እና የ multi-step, multi-LLM መፍትሔዎችን ይሰጣል. የ Python ኮድ በመተግበሪያ ላይ በዚያ ላይ የተወሰነ ምናልባት የተወሰነ ምናልባት መሣሪያዎችን በመተግበሪያው ሙሉ በሙሉ በ AI ሞዴሎች, በዋናነት ChatGPT እና Gemini በመጠቀም የተሰራ ነበር. የእኔ ሥራዎች መስፈርቶች ለመፍጠር, ትዕዛዞችዎችን ለመፍጠር, የፈጠራ ኮድን ተግባራዊነት እና ምናልባት ችግሮች ለማግኘት ይመልከቱ እና ይሞክሩ, የ AI በከፍተኛ ደረጃዎችን ለማስተካከል, የተለያዩ ክፍሎች ለመተግበሪያ, እና አስፈላጊ የሙከራ እና ከባድ ክፍሎች ለማስተካከል ያካትታል. Step 1: Establishing the Foundation with Docker አግኙን አግኙን አግኙን አግኙን አግኙን ንድፍ: ንድፍ: ንድፍ: ንድፍ: ንድፍ: ንድፍ: ንድፍ: ንድፍ: ንድፍ: ንድፍ: ንድፍ: ንድፍ: የ Method: የእኔ የመጀመሪያው ትክክለኛ ደረጃ በ Docker በመጠቀም አንድ አስተማማማኝ እና ተስማሚ የአካባቢ ለመፍጠር ነበር. የአካቲክቲክቱ በሦስት ልዩ መሣሪያዎች ያካትታሉ: አንድ Frontend መተግበሪያ (React/Node.js), አንድ Backend አገልግሎት (Python with LangChain) እና ሌላው MySQL database instance የተመሠረተ ነው. ይህ containerized መተግበሪያ የሚፈልጉትን Python libraries በአካባቢው መጫን ከባድ እና የፕላስቲክ ተስማሚነት ምክንያት አስቸጋሪ ፍላጎቶች ተሞክሮ በኋላ አስፈላጊ ነበር. መተግበሪያ ዝርዝር: በ Docker በመጠቀም የተሻለ ስሌት ይሰጣል. የ AI ድጋፍ በመጠቀም በ Dockerfiles እና docker-compose.yml ለመፍጠር የሚፈልጉትን የሦስት አገልግሎቶች እና የእነርሱ ትራንስፖርትዎችን (በ Python, LangChain, Node.js, MySQL connector እንደ) ያካትታል. አስቸጋሪ መተግበሪያዎች የ Docker አውታረ መረብዎችን ለመፍጠር የሚፈልጉትን በኮንቲነር የመስመር ላይ ግንኙነት (እን.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ.ኤ የፕሮጀክሽን እና የመቋቋም: አንድ ጊዜ መተግበሪያዎች ተስማሚ ሊሆን ይችላል, አስፈላጊ ኢንዱስትሪ ለመስጠት. በዚህ መዋቅር የተመሰረተ ጋር, የሚከተሉት ደረጃዎች በ Backend Python አገልግሎት ውስጥ ተመሳሳይ መዋቅር ንድፍ እና ፍላጎቶች ላይ ተስማሚ ይሆናል, እንደ ይህ የንግድ LangChain ትክክለኛነት, LLM ትክክክለኛነት, እና ውሂብ ሂደት ቧንቧ መተግበሪያዎች መተግበሪያ ነበር. Step 2: First Queries and the Schema Size Challenge አግኙን አግኙን አግኙን አግኙን አግኙን የመጀመሪያው ስኬታማነት: የ containerized መተግበሪያ ተስማሚ ነበር, እና የግል ቋንቋ ጥያቄዎች በ database ላይ ተስማሚ ነበር. Simple requests yielded correct query logic and data via LangChain and the primary LLM. የቶኪን መስፈርቶች: ነገር ግን, አንድ ዋና የፋስቡክ ፈጣን ታዋቂ ነበር: የቶኪን መስፈርቶች ከከፍተኛ የ API ስህተት. ይህ በ LLM የተመሠረተ ስህተት ዝርዝሮች (ገጽ / ኮሎን ስምዎች, ዓይነት), እና በቶኪን መስፈርቶች ለ LLM መስፈርቶች በጣም ትልቅ ነበር, ይህ ስህተት መረጃ በቶኪን መስፈርቶች ጋር በቶኪን መስፈርቶች. The Workaround: Subsetting: የእኔ ቀጣይ መፍትሔ በ LLM የተመሠረተ ቅርጸት መረጃን ያካትታል, እያንዳንዱም የ Database Tables አንድ አነስተኛ, ብጁ የተመሠረተ ቅርጸት ብቻ በመጠቀም ወይም በ LangChain ቁጥጥር ቁጥጥር ቅርጸት አጠቃቀም እንደ top_k=1 እንደ ፓርሜራዎችን በመጠቀም. የ LLM በዚህ የተወሰነ ቪዛ ውስጥ ከሌሎች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ከታች ነው. Step 3: Implementing PII/PHI Filtering via a Dedicated LLM Prompt አግኙን አግኙን አግኙን አግኙን ለኮምፒዩተር ኩባንያዎች, በተለይ በጤና እና የባንክ ኢንዱስትሪ እንደ የተመሠረተ ኢንዱስትሪዎች ውስጥ, ተስማሚ PII / PHI ማጣሪያዎች በአብዛኛው ጊዜ ጠንካራ ህክምና መስፈርቶች (እንዴት, HIPAA ወይም የገንዘብ መስፈርቶች) ያስፈልጋቸዋል. ጥቁር ውሂብ ማመልከቻ በተጨማሪም ደንበኞች ፍላጎት ይሸፍናል, ታዋቂነት ይሸፍናል, እና ውስጣዊ ደህንነት እና ሕክምናን ይሸፍናል. ውጤቶችን ማመልከቻ በፊት ጠንካራ ማጣሪያዎች እንደዚህ ትክክለኛነት መስፈርቶች ለማሟላት አስፈላጊ ነበር, በተለይ በስፋት ቡድን መግዛት. The Solution: A “Data Security Bot”: የእኔ መተግበሪያው የተመሠረተ Data Sanitization Layer ያካትታል... (የ LLM ማጣሪያ መተግበሪያን ያካትታሉ አጠቃቀም ተመሳሳይ ነው) በይነገጽ ውስጥ, አንድ ዝርዝር ትዕዛዞች (get_sanitize_prompt) ይህ ሁለተኛ LLM እንደ "የተግበሪያ ደህንነት ማጣሪያ" ይሰራል. አግኙን አግኙን A result like would be transformed by the filter LLM to . Example: {'member_id': 12345, 'member_name': 'Jane Doe', 'address': '123 Main Street, Mercy City'} {'member_id': 12345, 'member_name': '[REDACTED]', 'address': '[REDACTED]'} እዚህ ከሁለቱም ልማት በኋላ ሙሉ ቅርጽ ነው Step 4: Refining Prompts for Raw SQL Generation አግኙን አግኙን አግኙን አግኙን አግኙን የ Challenges: Misinterpretation: የ PII ማጣሪያ መተግበሪያ በኋላ, እኔ ዋናው NL-to-SQL LLM (MainLLM) በይነገጽ ላይ በይነገጽ ላይ በይነገጽ ወይም በይነገጽ ጥያቄዎች መተግበሪያ በፊት ተጠቃሚው ፍላጎት ትክክለኛነት ያውቃል ለመረጋግጣል. በይነገጽ ትዕዛዞች MainLLM በይነገጽ SQL መተግበሪያ, በይነገጽ ውሂብ ማውረድ ወይም በይነገጽ ውሂብ ማውረድ ይችላሉ. The Solution: A “Prompt Refinement Bot”: መተግበሪያው አስተማማኝነት ለማሻሻል, እኔ የ “Prompt Refinement Bot” — አንድ የ 3 ኛ LLM call.This bot acted as an “expert prompt engineer,” taking the original user query and database scheme to rewrite the request into a highly explicit and unambiguous instruction for the MainLLM. መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ ውጤት: ይህ pre-processing ደረጃ በ MainLLM የተቀየደው ውሂብ መካከል ትክክክለኛነት እና ትክክለኛነት በከፍተኛ ደረጃ የተሻሻል. Step 5: Enhancing Context with Conversation Memory አግኙን አግኙን አግኙን አግኙን አግኙን አጠቃቀም ፍላጎት: የተወሰነ ጥያቄዎች በላይ ተጠቃሚ ልምድ ለማሻሻል እና በጣም ቀላል መዳረሻ ለማስተካከል, በመተግበሪያ ጥያቄዎችን ለማስተካከል የኮንክቶፕ መውሰድ አስፈላጊ ነበር. ይህ መተግበሪያ የ LLM (gpt-3.5-turbo በዚህ ሁኔታ ውስጥ) ይጠቀማል, በ max_token_limit=500 ጋር የተመሠረተ ነው. ይህ የተወሰነ {history} ከዚያም በ MainLLM (የ NL-to-SQL + Executor) ጋር መተግበሪያ ላይ ጥቅም ላይ የሚጠቀሙ የ prompt template ላይ በቀጥታ የተመሠረተ ነበር, በአጠቃሚው የአሁኑ {query} ጋር. አጠቃቀም: ይህ የሙዚቃ ጥቅል ያካትታል, ስርዓቱ በሽያጭ መዳረሻን ይመልከቱ, በሽያጭ ውሂብ ውሂብ ቁሳቁሶች ላይ ይበልጥ ተስማሚ እና የኮንክቶፕ-አውታረ መዳረሻዎች ለማግኘት ይበልጥ ይጠቀማል. Conclusion: Lessons from Building a Multi-LLM SQL Interface በ LangChain በመጠቀም MySQL ወደ ይህ ምናልባት ቋንቋ መተግበሪያ ለመፍጠር የቴክኖሎጂ እና የቴክኖሎጂ ልማት ጥንካሬ እና ጥንካሬ ሁኔታዎች ውስጥ አስደሳች ጉብኝት ነበር. አንድ የቴክኖሎጂ መተግበሪያ በመጠቀም የቴክኖሎጂ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ ነው. የ LLM ቶኬን መስፈርቶች በከፍተኛ ቅርጸቶች ጋር ለመቆጣጠር, ውሂብ ደህንነት ለማረጋገጥ እና ፈጣን ልምድ ለማሻሻል እንደ አስፈላጊ መፍትሔዎች ያስፈልጋቸዋል. የኮድ ማምረት ለ AI መተግበሪያዎች በመተግበሪያ ክፍሎች በከፍተኛ ፍጥነት ይጠቀማቸዋል, በአጠቃላይ መዋቅር ንድፍ, የ PII ማጣሪያ ውሂብ እንደ ልዩ ትክክክለኛነት መተግበሪያዎች እንደ መተግበሪያዎች መተግበሪያዎች መተግበሪያዎች, ክፍሎች መተግበሪያዎች እና ትክክለኛ የሙከራዎች በጣም አስፈላጊነት ይሆናል. Next Steps: Exploring Retrieval-Augmented Generation (RAG) የኬሚካል ውጤታማነት, በተለይም ለስላሳ ወይም በተደጋጋሚ ጥያቄዎች, በአሁኑ ፈጣን መሐንዲሶች እና ማጣሪያ ቴክኖሎጂዎች በላይ የተሻሻለው ፍላጎት አላቸው. አንድ አስቸጋሪ መንገድ እኔ ተጨማሪ ትክክለኛነት ለማሻሻል የሚፈልጉት ነው. የ RAG ስርዓት በ LLM ውስጥ ውስጣዊ ጥናት ወይም የፕላስቲክ ቅርጸት ለማግኘት ብቻ መተግበሪያዎን ይጠቀማል. የ RAG ስርዓት የ SQL ን ለመፍጠር በፊት የ RAG ስርዓት በይነገጽ መረጃዎችን ለማግኘት ልዩ የታወቀ መለያዎችን ይጠቀማል. Retrieval-Augmented Generation (RAG) በዚህ NL-to-SQL መስኮት ውስጥ, ይህ መውሰድ ሊሆን ይችላል: አግኙን አግኙን አግኙን አግኙን ዝርዝር ዝርዝሮች ወይም ዝርዝሮች ለኮምፒውተር ትዕዛዞች እና የኮምፒውተር ትዕዛዞች እና የኮምፒውተር ትዕዛዞች በጣም አስፈላጊ ነው. የቀድሞው ተመሳሳይ ምርት ቋንቋ ጥያቄዎች ለምሳሌዎች በ SQL ትክክለኛ ተመሳሳይ ጥያቄዎች ላይ ተካተዋል. የተወሰነ የንግድ ግምገማዎች ወይም ትዕዛዞች ጋር የተወሰነ መረጃዎች. የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" የ "የአውሮፕላን" ይህ ተንቀሳቃሽ ክስተት በ LLM መውሰድ እና ውጤታማ የ RAG መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ ነው. MainLLM