見å‡ŗ恗ē”»åƒ

怌č‡Ŗę²»ä¼šDXšŸ’»ļ¼ćŠć˜ć•ć‚“ć•ć‚“ćƒ—ćƒ­ć‚°ćƒ©ćƒžćƒ¼ćŒ2ę—„ć§ä½œć£ćŸļ¼Googlećƒ‰ćƒ©ć‚¤ćƒ–ć‚’AIꤜē“¢ć§ćć‚‹RAGćƒ„ćƒ¼ćƒ«ć®čØ˜éŒ²ć€


ćÆć˜ć‚ć«

ā€»ęœ¬čؘäŗ‹ć§ćÆć‚³ćƒ¼ćƒ‰é–‹ē¤ŗćÆć‚ć‚Šć¾ć›ć‚“ć€‚2ę—„ć§ä½œć£ćŸć‚‚ć®ć®čŖæęŸ»ć€ā€ćŠć¾ć‘ā€ć‚’č¦‹ć¦ćć ć•ć„ć€‚

恓恓恧ćÆ态ē§ćŒ2ę—„é–“å„®é—˜ļ¼Ÿć—ćŸGooglećƒ‰ćƒ©ć‚¤ćƒ–ć‚’AIꤜē“¢ć§ćć‚‹RAGćƒ„ćƒ¼ćƒ«ć«ć¤ć„ć¦ć®å†…å®¹ć‚’ć¾ćØć‚ć¾ć™ć€‚RAGćØćÆćŖ悓恞悄悒ļ¼“ę—„ć»ć©å‰ć«ēŸ„悊态ēµŒéØ“ćŒć»ćØ悓恩ćŖ恄ē§ćŒć€ć©ć®ć‚ˆć†ć«ć—ć¦ć“ć®ćƒ„ćƒ¼ćƒ«ć‚’ä½œć‚ŠäøŠć’ćŸć®ć‹ć€ćć®éŽēØ‹ć‚„å­¦ć³ć‚’å…±ęœ‰ć—ć¾ć™ć€‚ć„ć‚„ć€ć€ēŸ„悉ćŖ恄恓ćØ悒ēŸ„悉ćŖć‹ć£ćŸć€‚ć€‚ć€‘

ć‚æć‚¤ćƒˆćƒ«č©ę¬ŗ恧恙恌态恂悋ē؋åŗ¦ęŠ€č”“ē”ØčŖžćÆēŸ„ć£ć¦ć¦ć€ę—„åøø恧AIč§¦ć£ć¦ćŖ恄ćØćØ恦悂ļ¼’ę—„恧恧恍悋悈恆ćŖ悂恮恧ćÆć‚ć‚Šć¾ć›ć‚“ć€‚ć€€

ꈐꞜē‰©ć§ć™ć€‚č‡Ŗę²»ä¼šē”ØGooglećƒ•ć‚©ćƒ«ćƒ€ć®äø€éƒØć‚’ęŽ¢ē“¢ć€‚č³Ŗå•ć™ć‚‹ćØćƒ¬ć‚¹ćŒčæ”ć£ć¦ćć‚‹ć“ć“ćÆčŖ­ćæé£›ć°ć—ć¦ćć ć•ć„ć€‚
ļ¼ˆćƒ•ć‚©ćƒ«ćƒ€å†…恮40ēØ‹ć®ćƒ•ć‚”ć‚¤ćƒ«ć‹ć‚‰chrma.dbä½œęˆć€‚ļ¼‰

č³Ŗå•ć‚’å…„åŠ›ć—ć¦ćć ć•ć„: ä»Šå¾Œć®č‡Ŗę²»ä¼šć‚’č€ƒćˆć‚‹ćØļ¼Ÿ
INFO:root:Querying with question: ä»Šå¾Œć®č‡Ŗę²»ä¼šć‚’č€ƒćˆć‚‹ćØļ¼Ÿ
INFO:httpx:HTTP Request: POST https://api.openai.com/v1/embeddings "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"

回ē­”:
ä»Šå¾Œć®č‡Ŗę²»ä¼šć‚’č€ƒćˆć‚‹ćØć€ć„ćć¤ć‹ć®é‡č¦ćŖčŖ²é”ŒćØę–¹å‘ę€§ćŒęµ®ć‹ć³äøŠćŒć‚Šć¾ć™ć€‚

ć¾ćšć€č‡Ŗę²»ä¼šć®ē¶™ē¶šēš„ćŖé‹å–¶ć«é–¢ć—ć¦ćÆ态ē¾č”Œć®ä½“åˆ¶ć§ćÆä»»ęœŸćŒ1å¹“ć§ć‚ć‚‹ćŸć‚ć€ē¶™ē¶šć—ćŸę¤œčØŽćŒé›£ć—ć„ćØć„ć†å•é”ŒćŒć‚ć‚Šć¾ć™ć€‚ć“ć®ćŸć‚ć€ć‚³ćƒŸć‚»ćƒ³å§”å“”ä¼šć‚„é˜²ē½éƒØä¼šć®ć‚ˆć†ćŖę­£å¼ćŖēµ„ē¹”ćØć—ć¦ę“»å‹•ć™ć‚‹åæ…č¦ćŒć‚ć‚‹ćØć•ć‚Œć¦ć„ć¾ć™ć€‚
-----途äø­ēœē•„态500ę–‡å­—ä»„äøŠćÆ回ē­”怂-------

态恩恮äøē›®ć§ć‚‚å‚åŠ ć§ćć‚‹ćÆ恚怍ćØć®č¦‹č§£ćŒē¤ŗć•ć‚Œć¦ćŠć‚Šć€åœ°åŸŸć®é€£ęŗć‚’å¼·åŒ–ć™ć‚‹ć“ćØ恌č‡Ŗę²»ä¼šć®ę“»ę€§åŒ–ć«ć¤ćŖ恌悋恧恗悇恆怂

仄äøŠć®ć‚ˆć†ć«ć€ä»Šå¾Œć®č‡Ŗę²»ä¼šćÆ态ēµ„ē¹”ć®å†ę§‹ēÆ‰ć€é«˜é½¢åŒ–ćø恮åƾåæœć€åœ°åŸŸę“»å‹•ć®ę“»ę€§åŒ–ć‚’é€šć˜ć¦ć€ć‚ˆć‚ŠęŒē¶šåÆčƒ½ć§å‚åŠ åž‹ć®é‹å–¶ć‚’ē›®ęŒ‡ć™åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚

č‡Ŗę²»ä¼šDXęŽØé€²ćŠć˜ć•ć‚“ć®ęŒ‘ęˆ¦

č‡Ŗę²»ä¼šDXę“»å‹•ć‚’ęŽØé€²ćƒ¬ćƒ™ćƒ«ć€‚ć®ē§ćŒć“ć®ćƒ—ćƒ­ć‚ø悧ć‚Æćƒˆć«å–ć‚Šēµ„悀恫ćÆćƒćƒ¼ćƒ‰ćƒ«ć‚ć‚Šćć†ć§ć—ćŸćŒć€AI恌ćŖ悓ćØć‹ć—ć¦ćć‚Œć‚‹ć ć‚ć†ćØęŒ‘ęˆ¦ć€‚

åœ°åŸŸć®ęƒ…å ±ć‚’åŠ¹ēŽ‡ēš„恫ē®”ē†ć—ć€ä½ę°‘ć«ęä¾›ć™ć‚‹ćŸć‚ć®ę‰‹ę®µćØ恗恦态AIć‚’ę“»ē”Ø恗恟ꤜē“¢ćƒ„ćƒ¼ćƒ«ćŒåæ…要恠ćØę„Ÿć˜ćŸć®ć§ć™ć€‚ćć®ęŠ€č”“ēš„ćŖćƒćƒ¼ćƒ‰ćƒ«ćÆ悂ćÆ悄AI恌ē°”å˜ć«ä¹—ć‚Šč¶Šćˆć¦ćć‚Œć¾ć™ć—ć€åœ°åŸŸć®äŗŗ怅恫ćØć£ć¦ä½æć„ć‚„ć™ć„ć‚·ć‚¹ćƒ†ćƒ ć‚’ä½œć‚‹ć“ćØ恫怂

LLMćØ恮å‡ŗä¼šć„

ćØć„ć£ć¦ć‚‚ć€LLMć£ć¦ä½•ļ¼Ÿć‚’perplexityć«čžć„ć¦ć€å¤§ć—ć¦čŖæć¹ć‚‚ć›ćšć«é–‹å§‹ć€‚ćŖ悓ćØćŖ恏čŖ­ć‚“恧悋ćØć€ć“ć‚Œć€ć“ć‚Œć¾ć§ć®ćƒ—ćƒ­ć‚°ćƒ©ćƒŸćƒ³ć‚°ēµŒéØ“ć§ćÆ考恈悉悌ćŖć‹ć£ćŸć‚ˆć†ćŖ态č‡Ŗē„¶č؀čŖžå‡¦ē†ć®åŠ›ć‚’å€Ÿć‚Šć‚‹ć“ćØ恧态悈悊ē›“ꄟēš„ćŖć‚¤ćƒ³ć‚æćƒ¼ćƒ•ć‚§ćƒ¼ć‚¹ć‚’å®Ÿē¾ć§ćć‚‹ć®ć§ćÆćŖ恄恋怂

ćŖ恜Googlećƒ‰ćƒ©ć‚¤ćƒ–AIꤜē“¢ćƒ„ćƒ¼ćƒ«ć‚’ä½œć‚ć†ćØę€ć£ćŸć®ć‹

Googlećƒ‰ćƒ©ć‚¤ćƒ–ćÆå¤šćć®äŗŗ恫ćØć£ć¦čŗ«čæ‘ćŖćƒ„ćƒ¼ćƒ«ć§ć™ćŒć€ćć®äø­ć®ęƒ…å ±ć‚’åŠ¹ēŽ‡ēš„ć«ę¤œē“¢ć™ć‚‹ć“ćØćÆé›£ć—ć„ćØę„Ÿć˜ć¦ć¾ć™ć€‚éŽåŽ»ć®ē“™ćƒ‡ćƒ¼ć‚æ悒č†Øå¤§ć«ć‚¹ć‚­ćƒ£ćƒ³ć‚‚ć€čŖ°ćŒč¦‹ē›“ć™ć‚“ć ć“ć®ćƒ•ć‚”ć‚¤ćƒ«ć€‚ć©ć®ä¼ę„­ć§ć‚‚å­˜åœØ恙悋ā€ćƒ•ć‚©ćƒ«ćƒ€ę¤œē“¢ć®ēµŒéØ“å€¤ć ć‘ć§å±…ę®‹ć£ć¦ć‚‹å¤ę Ŗē¤¾å“”ā€ćÆč‡Ŗę²»ä¼šć«ćÆ恄ćŖ恄恗怂

åæ…č¦ęƒ…å ±ćŖ恩ē‰¹ć«ćŖć„ć ć‚ć†ć‘ć©ć€ä½•ć‹čžć‹ć‚ŒćŸę™‚ć«ęŽ¢ć›ć‚‹ć‚ˆć†ć«ć ć‘ć—ć¦ćŠć“ć†ć‹ćØ怂AIć‚’ę“»ē”Ø恗恟ꤜē“¢ćƒ„ćƒ¼ćƒ«ć‚’é–‹ē™ŗ恙悋恓ćØć§ć€ęƒ…å ±ć®åÆč¦–åŒ–ćØć‚¢ć‚Æć‚»ć‚¹ć®å‘äøŠć‚’ē›®ęŒ‡ć™ļ¼ļ¼


RAGćƒ„ćƒ¼ćƒ«ćØćÆļ¼Ÿ

3ę—„å‰ć«ēŸ„ć£ćŸć€‚ć€‚

RAGļ¼ˆRetrieval-Augmented Generationļ¼‰ć®åŸŗęœ¬ę¦‚åæµ

RAGćÆć€ęƒ…å ±ę¤œē“¢ćØē”Ÿęˆć‚’ēµ„ćæåˆć‚ć›ćŸå¼·åŠ›ćŖę‰‹ę³•ć§ć™ć€‚ć“ć®ęŠ€č”“ć‚’ē”Ø恄悋恓ćØć§ć€ćƒ¦ćƒ¼ć‚¶ćƒ¼ćŒę±‚ć‚ć‚‹ęƒ…å ±ć‚’čæ…é€Ÿć«å–å¾—ć—ć€ć•ć‚‰ć«ćć®ęƒ…å ±ć‚’åŸŗć«ć—ćŸč‡Ŗē„¶ćŖåæœē­”ć‚’ē”Ÿęˆć™ć‚‹ć“ćØ恌åÆčƒ½ć«ćŖć‚Šć¾ć™ć€‚

č©³ē“°ćÆčŖæć¹ć¦ćć ć•ć„ć€‚

ćŖćœć“ć®ęŠ€č”“ćŒē“ äŗŗ恧悂ä½æćˆć‚‹ć®ć‹

RAGćÆ态複雑ćŖć‚¢ćƒ«ć‚“ćƒŖć‚ŗćƒ ć‚’čƒŒå¾Œć«ęŒć”ćŖćŒć‚‰ć‚‚ć€ćƒ¦ćƒ¼ć‚¶ćƒ¼ć«ćØć£ć¦ćÆć‚·ćƒ³ćƒ—ćƒ«ćŖć‚¤ćƒ³ć‚æćƒ¼ćƒ•ć‚§ćƒ¼ć‚¹ć‚’ęä¾›ć—ć¾ć™ć€‚ć“ć‚Œć«ć‚ˆć‚Šć€ćƒ—ćƒ­ć‚°ćƒ©ćƒŸćƒ³ć‚°ć®ēµŒéØ“ćŒå°‘ćŖ恄ē§ć®ć‚ˆć†ćŖē“ äŗŗć§ć‚‚ć€åŠ¹ęžœēš„恫ꓻē”Ø恧恍悋ćØ恮恓ćØ怂

å®Ÿéš›ć®ę“»ē”Øć‚·ćƒ¼ćƒ³

RAGćƒ„ćƒ¼ćƒ«ćÆć€ć•ć¾ć–ć¾ćŖć‚·ćƒ¼ćƒ³ć§ę“»ē”ØåÆčƒ½ć§ć€ä¾‹ćˆć°ć€č‡Ŗę²»ä¼šć®ä¼šč­°č³‡ę–™ć‚„ä½ę°‘ć‹ć‚‰ć®å•ć„åˆć‚ć›ć«åÆ¾ć™ć‚‹čæ…速ćŖåæœē­”ćŖć©ć€å¹“åŗ¦ęœ«ē·ä¼šć«ćŖć£ćŸć‚‰ć€ć‚ć‚Œć‚„ć“ć‚Œć‚„čØ€ć£ć¦ćć‚‹äŗŗ恌å‡ŗć¦ćć‚‹ć®ć§ć€ćć®åƾē­–ć—ćŸć„ć ć‘ć€‚LINEå…¬å¼ć§å›žē­”ć§ćć‚‹ć‚ˆć†ć«ć—ć‚ˆć†ćØę€ć£ć¦ć¾ć™ć€‚

開ē™ŗē’°å¢ƒćØä½æē”Øꊀ蔓

ä½æē”Ø恗恟äø»č¦ęŠ€č”“ć‚¹ć‚æ惃ć‚Æ

ē§ćŒć“ć®ćƒ—ćƒ­ć‚ø悧ć‚Æ惈恧ä½æē”Øć—ćŸęŠ€č”“ć‚¹ć‚æ惃ć‚Æ恫恤恄恦čŖ¬ę˜Žć—ć¾ć™ć€‚Python悒äø­åæƒć«ć€Google Drive API悄OpenAI恮APIć‚’ę“»ē”Øć€ćƒ‡ćƒ¼ć‚æć®å–å¾—ć‚„å‡¦ē†ć‚’č”Œć„ć¾ć—ćŸć€‚ć“ć‚Œć‚‰ć®ęŠ€č”“ćŒć©ć®ć‚ˆć†ć«é€£ęŗ恗态å…Øä½“ć®ć‚·ć‚¹ćƒ†ćƒ ć‚’ę§‹ęˆć—ć¦ć„ć‚‹ć®ć‹ć€‚

ć“ć®ć‚·ć‚¹ćƒ†ćƒ ćÆ态Google DriveäøŠć®ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆļ¼ˆPDF态DOCX态Google Docsļ¼‰ć‚’ę“»ē”Ø恗恟RAGļ¼ˆRetrieval Augmented Generationļ¼‰ć‚·ć‚¹ćƒ†ćƒ ć§ć™ć€‚

čŖčØ¼é¢ć§ćÆ态Google Cloud Console恧OAuth 2.0ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć‚’ä½œęˆć—ć€ćƒ‡ć‚¹ć‚Æćƒˆćƒƒćƒ—ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ćØ恗恦čŖčØ¼ć‚’č”Œć„ć¾ć™ć€‚
čŖčØ¼ęƒ…å ±ļ¼ˆclient_id态client_secretļ¼‰ćØę›“ę–°ćƒˆćƒ¼ć‚Æćƒ³ļ¼ˆrefresh_tokenļ¼‰ćÆē’°å¢ƒå¤‰ę•°ćØ恗恦.envćƒ•ć‚”ć‚¤ćƒ«ć§ē®”ē†ć•ć‚Œć€ć‚»ć‚­ćƒ„ć‚¢ćŖčŖčØ¼ćƒ•ćƒ­ćƒ¼ć‚’å®Ÿē¾ć€‚

ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆå‡¦ē†ć§ćÆ态Google Drive API悒ä½æē”Øć—ć¦ęŒ‡å®šćƒ•ć‚©ćƒ«ćƒ€å†…ć®ćƒ•ć‚”ć‚¤ćƒ«ć‚’å–å¾—ć—ć€ćƒ•ć‚”ć‚¤ćƒ«ć‚æć‚¤ćƒ—ć«åæœć˜ć¦é©åˆ‡ćŖę–¹ę³•ć§ćƒ†ć‚­ć‚¹ćƒˆęŠ½å‡ŗć‚’č”Œć„ć¾ć™ļ¼š
惻PDFćƒ•ć‚”ć‚¤ćƒ«ļ¼šPyPDF2ć«ć‚ˆć‚‹ćƒ†ć‚­ć‚¹ćƒˆęŠ½å‡ŗ
ć€€ć€€ć€€ć€€ć€€ć€€ć€€ć€€ęŠ½å‡ŗē²¾åŗ¦å‘äøŠć®ćŸć‚ć€Vision Cloudć«å¤‰ę›“ć™ć‚‹ć€‚
惻DOCXćƒ•ć‚”ć‚¤ćƒ«ļ¼špython-docxć«ć‚ˆć‚‹č§£ęž
惻Google Docsļ¼šDrive API恮exportćƒ”ć‚½ćƒƒćƒ‰ć§ćƒ—ćƒ¬ćƒ¼ćƒ³ćƒ†ć‚­ć‚¹ćƒˆå–å¾—

ęŠ½å‡ŗć•ć‚ŒćŸćƒ†ć‚­ć‚¹ćƒˆćÆ态LangChain恮RecursiveCharacterTextSplitterć§é©åˆ‡ćŖ悵悤ć‚ŗć«åˆ†å‰²ć•ć‚Œć€OpenAI Embeddings悒ä½æē”Øć—ć¦ćƒ™ć‚Æćƒˆćƒ«åŒ–ć•ć‚Œć¾ć™ć€‚ć“ć‚Œć‚‰ć®ćƒ™ć‚Æ惈惫ćÆChromaDB恫ę°øē¶šåŒ–ć•ć‚Œć€å¾Œē¶šć®ę¤œē“¢ć§å†åˆ©ē”ØåÆčƒ½ć§ć™ć€‚

č³Ŗ問åæœē­”恧ćÆć€ćƒ¦ćƒ¼ć‚¶ćƒ¼ć®č³Ŗå•ć«é–¢é€£ć™ć‚‹ę–‡ę›ø悒ChromaDB恋悉ꤜē“¢ć—态
ćć‚Œć‚‰ć‚’ć‚³ćƒ³ćƒ†ć‚­ć‚¹ćƒˆćØ恗恦OpenAI GPT-4ćƒ¢ćƒ‡ćƒ«ć«ęä¾›ć™ć‚‹ć“ćØ恧态
ꖇę›ø恫åŸŗć„ć„ćŸę­£ē¢ŗćŖ回ē­”ć‚’ē”Ÿęˆć—ć¾ć™ć€‚

ć‚·ć‚¹ćƒ†ćƒ ć®ę›“ę–°ē®”ē†ćÆęŸ”č»Ÿć§ć€--refreshć‚Ŗćƒ—ć‚·ćƒ§ćƒ³ć«ć‚ˆć‚‹ćƒ™ć‚Æćƒˆćƒ«ć‚¹ćƒˆć‚¢ć®å†ę§‹ēÆ‰ć‚„ć€--folder-idć«ć‚ˆć‚‹ē•°ćŖć‚‹ćƒ•ć‚©ćƒ«ćƒ€ć®ęŒ‡å®šćŒåÆčƒ½ć§ć™ć€‚
ć“ć‚Œć«ć‚ˆć‚Šć€ēµ„ē¹”恮ꖇę›øćƒ™ćƒ¼ć‚¹ć‚’å®šęœŸēš„恫ꛓꖰ恗ćŖ恌悉态
ęœ€ę–°ć®ęƒ…å ±ć«åŸŗć„ć„ćŸč³Ŗ問åæœē­”ć‚·ć‚¹ćƒ†ćƒ ć‚’ē¶­ęŒć§ćć¾ć™ć€‚

ć“ć®ćƒ—ćƒ­ć‚°ćƒ©ćƒ ć®ę¦‚č¦ć‚’čŖ¬ę˜Žć—恦怂恮Claudeč³Ŗ問回ē­”

開ē™ŗ恫åæ…č¦ć ć£ćŸć‚¹ć‚­ćƒ«ć‚»ćƒƒćƒˆ

åæ…č¦ć ć£ćŸć‚¹ć‚­ćƒ«ć‚»ćƒƒćƒˆć«ć¤ć„ć¦ć‚‚čØ€åŠć—ć¾ć™ć€‚ćƒ—ćƒ­ć‚°ćƒ©ćƒŸćƒ³ć‚°ć®åŸŗē¤ŽēŸ„識恠恑恧ćŖ恏态API恮ä½æć„ę–¹ć‚„ćƒ‡ćƒ¼ć‚æ処ē†ć®ęŠ€č”“ć‚‚å°‘ć—åæ…要怂

怐PythonåŸŗē¤Žć€‘
- Python 3.10仄äøŠć®åŸŗęœ¬ę–‡ę³•
- éžåŒęœŸå‡¦ē†ļ¼ˆasync/awaitļ¼‰
- ē’°å¢ƒå¤‰ę•°ć®ę‰±ć„ļ¼ˆpython-dotenvļ¼‰
- 例外処ē†ćØćƒ­ć‚®ćƒ³ć‚°
- ć‚³ćƒžćƒ³ćƒ‰ćƒ©ć‚¤ćƒ³å¼•ę•°ć®å‡¦ē†ļ¼ˆargparseļ¼‰

怐Google APIé–¢é€£ć€‘
- Google Cloud Console恮åŸŗęœ¬ę“ä½œ
- OAuth 2.0čŖčØ¼ć®ä»•ēµ„ćæćØå®Ÿč£…
- Google Drive API恮ä½æē”Øę–¹ę³•
  - ćƒ•ć‚”ć‚¤ćƒ«äø€č¦§å–å¾—
  - ćƒ•ć‚”ć‚¤ćƒ«ćƒ€ć‚¦ćƒ³ćƒ­ćƒ¼ćƒ‰
  - Google Docs恮ć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆ

ć€ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆå‡¦ē†ć€‘
- PDFćƒ•ć‚”ć‚¤ćƒ«å‡¦ē†ļ¼ˆPyPDF2ļ¼‰
- Wordćƒ•ć‚”ć‚¤ćƒ«å‡¦ē†ļ¼ˆpython-docxļ¼‰
- ćƒ†ć‚­ć‚¹ćƒˆå‡¦ē†ćØę­£č¦åŒ–
- ę–‡å­—ć‚Øćƒ³ć‚³ćƒ¼ćƒ‡ć‚£ćƒ³ć‚°å‡¦ē†

怐LangChain怑
- LangChain恮åŸŗęœ¬ę¦‚åæµ
- ćƒ†ć‚­ć‚¹ćƒˆåˆ†å‰²ļ¼ˆTextSplitterļ¼‰
- 惙ć‚Æćƒˆćƒ«ć‚¹ćƒˆć‚¢ć®ę“ä½œ
- RAGćƒć‚§ćƒ¼ćƒ³ć®ę§‹ēƉ
- ćƒ—ćƒ­ćƒ³ćƒ—ćƒˆć‚Øćƒ³ć‚øćƒ‹ć‚¢ćƒŖćƒ³ć‚°

怐惙ć‚Æćƒˆćƒ«ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć€‘
- ChromaDB恮åŸŗęœ¬ę¦‚åæµ
- 惙ć‚Æćƒˆćƒ«ć‚¹ćƒˆć‚¢ć®ę°øē¶šåŒ–
- 锞似åŗ¦ę¤œē“¢ć®ä»•ēµ„ćæ
- ć‚Øćƒ³ćƒ™ćƒƒćƒ‡ć‚£ćƒ³ć‚°ć®åŸŗē¤Ž

怐OpenAI API怑
- APIčŖčؼćØčح定
- Embeddingsćƒ¢ćƒ‡ćƒ«ć®ä½æē”Ø
- GPTćƒ¢ćƒ‡ćƒ«ć®åˆ©ē”Ø
- ćƒ¬ćƒ¼ćƒˆćƒŖ惟惃惈ćØć‚Øćƒ©ćƒ¼å‡¦ē†

怐開ē™ŗćƒ„ćƒ¼ćƒ«ćƒ»ē’°å¢ƒć€‘
- GitåŸŗęœ¬ę“ä½œ
- ä»®ęƒ³ē’°å¢ƒē®”ē†ļ¼ˆvenvļ¼‰
- ä¾å­˜ćƒ‘ćƒƒć‚±ćƒ¼ć‚øē®”ē†ļ¼ˆpipļ¼‰
- ćƒ‡ćƒćƒƒć‚°ęŠ€ę³•
- ChatGPTļ¼ˆPlus Subscriptionļ¼‰
- Cursor AI

ć€ć‚»ć‚­ćƒ„ćƒŖćƒ†ć‚£ć€‘
- API keyć®å®‰å…ØćŖē®”ē†
- OAuthčŖčØ¼ęƒ…å ±ć®ę‰±ć„
- ćƒˆćƒ¼ć‚Æćƒ³ć®ę›“ę–°ćØē®”ē†
- ć‚¢ć‚Æć‚»ć‚¹ęØ©é™ć®čح定

ć€ć‚·ć‚¹ćƒ†ćƒ é‹ē”Ø怑
- 惭悰ē›£č¦–ćØč§£ęž
- ć‚Øćƒ©ćƒ¼ćƒćƒ³ćƒ‰ćƒŖćƒ³ć‚°
- ćƒ‘ćƒ•ć‚©ćƒ¼ćƒžćƒ³ć‚¹ęœ€é©åŒ–
- ć‚¹ćƒˆćƒ¬ćƒ¼ć‚øē®”ē†

ć‚·ćƒ¼ć‚±ćƒ³ć‚¹å›³ć§č¦‹ć‚‹å‡¦ē†ć®ęµć‚Œ

恓悌悂åŸŗęœ¬čØ­č؈ćØ恗恦AI恫ę›øć„ć¦ć‚‚ć‚‰ć£ćŸć€‚

開ē™ŗäø­ć«é­é‡ć—ćŸčŖ²é”ŒćØč§£ę±ŗē­–

Googlećƒ‰ćƒ©ć‚¤ćƒ–API恮čŖčؼ

Googlećƒ‰ćƒ©ć‚¤ćƒ–APIć‚’åˆ©ē”Ø恙悋際恮čŖčØ¼ćƒ—ćƒ­ć‚»ć‚¹ć«ć¤ć„ć¦ć€ē‰¹ć«ć€OAuthčŖčØ¼ć§ā€ć‚¦ć‚§ćƒ–ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ā€ćØć—ć¦é€²ć‚ć‚‹äø­ć§ć€ćƒˆćƒ¼ć‚Æćƒ³å–å¾—ć«é–¢ć™ć‚‹éƒØåˆ†ć«å¤§ććć¤ć¾ć„ćć€ć“ć“ć§åŠåˆ†ä»„äøŠę™‚é–“å–ć‚‰ć‚Œć¾ć—ćŸć€‚

å®Ÿéš›ć«ćÆā€ćƒ‡ć‚¹ć‚Æ惈惃惗ā€ć«å¤‰ę›“恙悋恓ćØć§č§£ę±ŗćÆć—ć¾ć—ćŸćŒć€ä»Šå¾Œwebć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ć«ć™ć‚‹ć«ćÆčŖ²é”ŒćŒę®‹ć‚Šć¾ć™ć€‚
ä»Šå›žć®ä½œęˆē‰©ć‚’ćƒćƒƒć‚Æć‚Øćƒ³ćƒ‰ć«ć—ć¦ć€APIåŒ–ć™ć‚‹ć‹ć€‚ć“ć‚ŒćÆć¾ćŸć‚„ć‚‹ę°—ćŒå‡ŗ恟悉怂怂

ꖇę›øęŠ½å‡ŗć®é›£ć—ć•

DOCXćƒ•ć‚”ć‚¤ćƒ«ćŖ恩ćÆé›£ę˜“åŗ¦ćŒćć‚Œć»ć©ć§ć‚‚ćŖ恄恧恙恌态č‡Ŗę²»ä¼šč³‡ę–™ć§ćÆ态åŗƒå‘Šć€ćƒć‚¹ć‚æćƒ¼ć€å†™ēœŸćŖć©ć‚‚ć‚ć‚Šć¾ć™ć€‚pdf恋悉ćÆpypdf2悒ä½æć£ć¦ē°”ę˜“ć§ęŠ½å‡ŗć—ć¾ć—ćŸćŒć€ē”»åƒč§£ęžå‘恑恫怐Google Cloud Vision APIć€‘ć«å¤‰ę›“ć™ć‚Œć°ć‹ćŖ悊ē²¾åŗ¦ćÆäøŠćŒć‚‹ćØę€ć„ć¾ć™ć€‚

惙ć‚Æćƒˆćƒ«ę¤œē“¢ć®å®Ÿč£…

惙ć‚Æćƒˆćƒ«ę¤œē“¢ć®å®Ÿč£…ć«ćŠć„ć¦ć‚‚å¤šćć‚Øćƒ©ćƒ¼ćŒå‡ŗć¾ć—ćŸćŒć€ć»ćØ悓恩AIć«å›žē­”ć—ć¦ć‚‚ć‚‰ć£ćŸć®ć§ć€ć©ć®ć‚ˆć†ćŖć‚Øćƒ©ćƒ¼ć ć£ćŸć‹č¦šćˆć¦ć¾ć›ć‚“ć€‚ć™ć„ć¾ć›ć‚“ć€‚

ęœŸå¾…ä»„äøŠć®ę¤œē“¢ē²¾åŗ¦

å®Ÿéš›ć«ä½æē”Ø恗恦ćæ悋ćØęœŸå¾…ä»„äøŠć®ę¤œē“¢ē²¾åŗ¦ć‚’実ē¾ć€‚ä»„å‰ć€GPTsćŖ恩恫議äŗ‹éŒ²ćŖć©ć‚’č¤‡ę•°ćƒ•ć‚”ć‚¤ćƒ«ē™»éŒ²ć—ć¦č©¦ć—ć¾ć—ćŸćŒć€ć‚„ćÆć‚Šå›žē­”ē²¾åŗ¦ćÆRAGć®ę–¹ćŒćÆć‚‹ć‹ć«é«˜ć„ć§ć™ć€‚

ä»Šå¾Œć®å±•ęœ›/čŖ²é”Œ

č‡Ŗę²»ä¼šć§ć®AIę“»ē”ØåÆčƒ½ę€§

č‡Ŗę²»ä¼šć«ćŠć‘ć‚‹AI恮ꓻē”ØåÆčƒ½ę€§ć«ć¤ć„ć¦ć‚‚č€ƒćˆć¾ć™ćŒć€č‡Ŗę²»ä¼šå“”ć«ćÆ実ćÆ恓悓ćŖ悂恮걂悁恦ćŖ恄äŗŗćŒå¤§åŠć§ć—ć‚‡ć†ć€‚

ć•ć‚‰ć«å€‹äŗŗęƒ…å ±ć‚„é‡‘é”ć®å…„ć£ćŸę©ŸåÆ†ęƒ…å ±ć‚‚ć‚ć‚Šć¾ć™ć—ć€ē„”é—‡ć«ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ćØ恗恦ćÆ開ē¤ŗć§ćć¾ć›ć‚“ć€‚ę³Øꄏäŗ‹é …ćÆč‰²ć€…AIć«ęŒ‡ę‘˜ć•ć‚Œć¾ć™ćŒć€ć“ć†ć„ć£ćŸć‚‚ć®ćÆ恄恏悉ä¾æåˆ©ć«ćŖć£ćŸć‹ć‚‰ćØčØ€ć£ć¦ć€ć€ć¾ć ć€‘äŗŗć®ęœ€ēµ‚åˆ¤ę–­ćŒåæ…要恧恙怂

åƾē­–ćØ恗恦ćÆ個äŗŗęƒ…å ±äæč­·č¦å®šć‚„他恮ę±ŗć¾ć‚Šć”ćØ悂čŖ­ćæč¾¼ć¾ć›ć€ćć†ć„ć£ćŸć‚‚ć®ć‚’é‡č¦č¦–ć—ćŸćƒ—ćƒ­ćƒ³ćƒ—ćƒˆć«ć™ć‚Œć°ć€å€‹äŗŗ名ēš„ćŖ悂恮ćÆå‡ŗ恦恓ćŖ恏ćÆćŖć‚Šć¾ć—ćŸć€‚
ćƒ—ćƒ­ćƒ³ćƒ—ćƒˆę¬”ē¬¬ć§ć™ćŒć€č‡Øę©Ÿć«åæœć˜chrma.dbć‚’ä½œęˆć—ćŖćŠć—ćŸę–¹ćŒč‰Æć„ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“ć€‚
ēµå±€ę–‡ę›øå†…ć«å€‹äŗŗ名ćŖ恍恓ćØ恮ē¢ŗčŖćÆäŗŗ恌悄悉ćŖćć¦ćÆćŖ悉恚态悂恆ꖭåæµć€‚

恊恘恕悓ē“ äŗŗćƒ—ćƒ­ć‚°ćƒ©ćƒžćƒ¼ć‹ć‚‰ć®ćƒ”ćƒƒć‚»ćƒ¼ć‚ø

AIę“»ē”ØćØ恄恆恋态恓恓ļ¼‘态ļ¼’幓ćÆć‚½ćƒ•ćƒˆćƒćƒ³ć‚ÆćƒÆćƒ¼ćƒ«ćƒ‰ć§ć‚‚å­«ć•ć‚“ćŒčØ€ć£ć¦ć¾ć—ćŸćŒć€ā€ć¾ć•ć«AIć‚“ćƒ¼ćƒ«ćƒ‰ćƒ©ćƒƒć‚·ćƒ„ā€ ć“ć“ć§ć€ę³¢ć«ä¹—ć‚‹ļ¼Ÿć€‘恓ćØ恌恧恍ćŖć‘ć‚Œć°ć€ä»Šå¾Œćć®ę©ęµćÆå—ć‘ć‚‰ć‚Œć‚ŒćŖ恄恧恗悇恆恭怂ćØć„ć†ć‹ę¾å–ć•ć‚Œć‚‹å“ć«ćŖć£ć¦ć—ć¾ć„ć¾ć™ć€‚ć¾ćć€ä½•ć‚‚ć—ćŖćć¦ć‚‚ć‚ˆććŖ悋ē¤¾ä¼šćŒćć‚‹ćŖć‚‰ć€å„½ććŖ恓ćØć«ę²”é ­ć§ćć‚‹ć‹ć‚‰ć„ć„ć‚“ć˜ć‚ƒćŖ恄恋ćØę€ć£ć¦ć¾ć™ć€‚

ć‚°ćƒ©ćƒ³ćƒ„ćƒ¼ćƒŖć‚¹ćƒ¢ć‚„ć‚ŠćŖćŒć‚‰å®Ÿč³Ŗļ¼˜ę™‚é–“ć‚„ćć“ć‚‰ć§å®Œęˆć—ćŸć“ć®ć‚³ćƒ¼ćƒ‰ć€‚pythonćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć€.py ćƒ•ć‚”ć‚¤ćƒ«xļ¼•ć§å…Øä½“ć§850č”ŒēØ‹ć®ć‚³ćƒ¼ćƒ‰ć‚’ć»ćØć‚“ć©ć‚³ćƒ”ćƒšć§åƾåæœć—恦态äø­čŗ«ćÆļ¼˜å‰²ć‚ć‹ć£ć¦ć¾ć›ć‚“怂
怐ēŸ„悉ćŖ恄恓ćØ悒ēŸ„ć£ć¦ć„ć‚‹ć€‘ć§ć‚‚ć€ć“ć‚Œćć‚‰ć„ć®ć“ćØćÆ恧恍悋ćØćÆęć‚ć—ć„ę™‚ä»£ć«ćŖć£ć¦ćć¾ć—ćŸć€‚

ć“ć‚ŒćŒć€å­«ć•ć‚“ć®čØ€ć£ć¦ć‚‹ā€éŒ¬é‡‘蔓ā€ćŖ悓恧恗悇恆恋怂怂

ć“ć“ć¾ć§ć€ćŠä»˜ćåˆć„ć„ćŸć ćć‚ć‚ŠćŒćØć†ć”ć–ć„ć¾ć—ćŸć€‚ć‚¹ć‚­ā™”ćŒå¤šć„ć‚ˆć†ćŖć‚‰ć‚³ćƒ¼ćƒ‰é–‹ē¤ŗ恮čؘäŗ‹čæ½åŠ ć—ć¾ć™ć€‚

ćŠć¾ć‘

ć‚·ćƒ¼ć‚±ćƒ³ć‚¹å›³ćƒ™ćƒ¼ć‚¹ć§č¦‹ē©ć‚‚ć£ć¦ć‚‚ć‚‰ć„ć¾ć—ćŸć€‚

恄恄ćŖćØę€ć£ćŸć‚‰åæœę“恗悈恆ļ¼