
Lokho Ozokwakha
I-AI Knowledge Base Smart Learning Mini App iwuhlelo lokufunda oluhlakaniphile lwe-WeChat ecosystem. Umfundi angafaka isihloko noma alayishe amadokhumenti ayimfihlo, bese esebenzisa izinqubo ezisizwa yi-AI ukuze akhiqize imibuzo, athole izincazelo ngokushesha, futhi abuyekeze umbiko ohlanganisa izinga lokuqonda, izindawo ezibuthaka, nezinyathelo eziphakanyisiwe ezilandelayo.
Le phrojekthi ihlanganisa ama-large language model, ukusesha kuwebhu, kanye ne-retrieval-augmented generation. I-Tavily inikeza ulwazi lwamanje oluvela kuwebhu, kanti i-Chroma isekela ukubuyiswa kokuqukethwe kumafayela e-PDF, Word, Markdown, ne-TXT alayishiwe.
Izici Eziyinhloko
- Ukukhiqizwa kwemibuzo ngokusekelwe esihlokweni: Khiqiza imibuzo yokufunda ngesihloko esinikezwe ngumsebenzisi.
- Ukwengezwa ngokusesha kuwebhu: Sebenzisa i-Tavily ukwengeza ulwazi lwakamuva.
- Ukufunda kusizindalwazi solwazi oluyimfihlo: Layisha amadokhumenti e-PDF, Word, Markdown, noma TXT bese ubuyisa okuqukethwe okufanele usebenzisa i-RAG.
- Impendulo esheshayo: Hlola izimpendulo bese ubuyisa izincazelo ngemva kwempendulo ngayinye.
- Imibiko yokufunda: Hlaziya izinga lokuqonda, thola izindawo ezibuthaka, futhi unikeze iziphakamiso zokufunda.
- Imifanekiso yemibuzo: Khiqiza izithombe ezisekelayo bese uzigcina ku-Tencent Cloud COS.
- Ukusekela abasebenzisi be-WeChat: Nikeza ukungena ngemvume, umlando wokufunda, nokubuyekezwa kwemibiko.
- Ukuthunyelwa nge-container: Thumela i-backend nge-Docker ku-WeChat Cloud Run noma kwenye inkundla ehambisanayo.
Qonda Ukwakhiwa Kohlelo
I-frontend ye-mini app isebenzisa i-Taro 4, React 18, TypeScript, ne-Sass. I-backend isebenza nge-Python 3.11, FastAPI, Pydantic v2, ne-Uvicorn. I-LangChain ne-LangGraph zihlanganisa imisebenzi ye-AI, kanti i-DeepSeek ne-Alibaba Bailian zifakiwe kusitaki samamodeli nokubuyiswa kolwazi.
I-MySQL inikeza ukugcinwa kwedatha yohlelo, i-Tencent Cloud COS igcina imifanekiso ekhiqiziwe, kanti i-Chroma isebenza njengesitolo sama-vector. Ukuqinisekisa ubuwena kusebenzisa i-WeChat jscode2session ne-JWT. Ukuhlolwa kwe-backend kusebenzisa i-pytest ne-pytest-asyncio.
Isakhiwo Sezinqolobane
.
├── backend/ # I-backend ye-FastAPI
├── frontend/ # I-frontend ye-WeChat mini app esekelwe ku-Taro
├── docs/ # Amadokhumenti ephrojekthi agcinwe endaweni
├── openspec/ # Amafayela emininingwane agcinwe endaweni
└── prototypes/ # Amafayela ama-prototype agcinwe endaweniOkudingekayo Ngaphambi Kokuqala
Ngaphambi kokuqala, faka i-Python 3.11, i-Node.js ene-npm, kanye ne-WeChat DevTools. Uzodinga futhi imininingwane yokufinyelela kumasevisi namanani okumisa alindelwe yi-backend/.env.example. I-Docker idingeka kuphela uma usukulungele ukwakha noma ukuthumela i-container ye-backend.
Gcina okhiye bangempela be-API, imininingwane yokungena kusizindalwazi, izimfihlo ze-JWT, nemininingwane yokugcina efwini ngaphandle kwe-version control. Izimfihlo zokukhiqiza kufanele zifakwe ngenkundla yokuthunyelwa.
Isinyathelo 1: Lungisa I-Backend
Vula i-terminal, ungene kumkhombandlela we-backend, bese udala indawo ye-Python ehlukanisiwe. I-README inikeza ukusethwa okulandelayo okugxile ku-PowerShell:
cd backend
python -m venv venv
venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .envVula ifayela elisha le-.env bese ufaka ukumisa okudingwa amamodeli owakhethile, ukuhlanganiswa kwe-Tavily, isizindalwazi, ukuqinisekisa ubuwena, ukubuyiswa kwama-vector, kanye nokugcinwa kwe-Tencent Cloud. Sebenzisa i-backend/.env.example njengohlu olusemthethweni lwezinguquko ezilindelekile.
Qalisa Isevisi ye-FastAPI
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000Inketho ethi --reload ilusizo ngesikhathi sokuthuthukisa endaweni ngoba i-Uvicorn iqala kabusha lapho ikhodi ye-backend ishintsha. Ukubopha ku-0.0.0.0 kwenza isevisi yokuthuthukisa itholakale ngezixhumi zenethiwekhi zomshini.
Qinisekisa I-Backend
Ngemva kokuqala, vula imibhalo esebenzisanayo ye-API ku-http://localhost:8000/docs. Ungahlola futhi impilo yesevisi ku-http://localhost:8000/api/v1/health.
Qinisekisa i-health endpoint ngaphambi kokuxazulula izinkinga ze-frontend. Uma ingatholakali, qinisekisa ukuthi indawo ebonakalayo iyasebenza, izinc依Dependencies zifakwe ngempumelelo, ifayela le-.env likhona, nokuthi i-port 8000 ayisetshenziswa olunye uhlelo.
Isinyathelo 2: Yakha I-Frontend Ye-WeChat Mini App
Gcina i-backend isebenza, vula i-terminal yesibili, bese ufaka ama-dependency e-frontend:
cd frontend
npm install
npm run dev:weappUmyalo wokuthuthukisa uhlanganisela uhlelo lwe-Taro lwe-WeChat. Lapho ukuhlanganisa sekuphelile, vula i-WeChat DevTools bese uvula umkhombandlela okhiqiziwe othi frontend/dist.
Gcina i-terminal yomhlanganisi ivuliwe ngesikhathi sokuthuthukisa ukuze izinguquko ze-frontend zakhiwe kabusha. Iseva ye-FastAPI kufanele ihlale isebenza ku-terminal yayo ukuze i-mini app ikwazi ukufinyelela ekusebenzeni kwe-backend.
Isinyathelo 3: Zama Inqubo Yokufunda
Uma i-frontend ne-backend sezisebenza, iphrojekthi isekela izindlela ezimbili eziyinhloko zokufunda.
Khiqiza Imibuzo Ngesihloko
- Ngena ngemvume ngenqubo yomsebenzisi ye-WeChat.
- Faka isifundo ofuna ukusifunda.
- Khiqiza imibuzo esizwa yi-AI ngokusekelwe kuleso sihloko.
- Thumela izimpendulo bese ubuyekeza izimpendulo nezincazelo ezibuyisiwe.
- Qedela iseshini yokufunda bese uhlola umbiko we-AI ukuze ubone ukuhlaziywa kwezinga lokuqonda, amaphuzu abuthaka, nezincomo.
Funda Kumadokhumenti Ayimfihlo
- Khetha idokhumenti ye-PDF, Word, Markdown, noma TXT esekelwayo.
- Layisha yona ekuhambeni komsebenzi kwesisekelo solwazi sohlelo lokusebenza.
- Vumela uhlelo ukuthi luthole umongo wedokhumenti ofanele ngohlelo lwalo lwe-RAG.
- Phendula imibuzo ekhiqiziwe bese ubuyekeza izincazelo.
- Sebenzisa umbiko ovelayo ukunquma ukuthi yiziphi izingxenye zolwazi ezidinga ukufundwa okwengeziwe.
Ukufunda okusekelwe esihlokweni kungasebenzisa i-Tavily ukwengeza umongo wakamuva ovela kuwebhu. Ukufunda okusekelwe kudokhumenti kusekela ukutholwa kolwazi ezintweni eziyimfihlo ezilayishiwe. Ukuziphatha okutholakalayo ngqo kuncike kumasevisi namaphasiwedi okulungiselelwe endaweni ye-backend.
Isinyathelo 4: Qalisa Iqoqo Lokuhlola
Qalisa izivivinyo ze-backend usuka ku-directory ye-backend:
cd backend
pytestLe phrojekthi isebenzisa i-pytest ne-pytest-asyncio. Qalisa iqoqo lokuhlola ngemva kwezinguquko ku-backend nangaphambi kokukhipha ukuze ubambe amaphutha abuyayo ekuziphatheni okuvumelanayo nokungavumelani.
Amathiphu Athuthukile
Sebenzisa Imibhalo Ye-API Ngesikhathi Sokuthuthukisa
Ikhasi lemibhalo le-FastAPI liwusizo ekuhloleni imizila eveza inguqulo esebenzayo yephrojekthi. Lisebenzise njengomthombo osemthethweni wolwazi esikhundleni sokucabanga ngezinkambu zezicelo noma izindlela zama-endpoint ezingabhaliwe ku-README.
Hlukanisa Izimfihlo Zokuthuthukisa Nezokukhiqiza
Sebenzisa ifayela lendawo le-.env ekuthuthukiseni kuphela. Ekukhiqizeni, lungiselela izimfihlo nge-WeChat Cloud Run noma inkundla ye-container ekhethiwe. Ungawafaki amafayela emvelo agcwalisiwe ku-repository.
Khetha Umthombo Wolwazi Ofanele
Sebenzisa ukwakhiwa kwezihloko nge-Tavily lapho ubusha bolwazi bubalulekile. Sebenzisa ukuhamba komsebenzi kwamadokhumenti lapho imibuzo kufanele isekelwe ezintweni eziyimfihlo noma eziqondene nenhlangano. Okulayishiwe okusekelwayo ngamafayela e-PDF, Word, Markdown, ne-TXT.
Qinisekisa Amasevisi Ngezendlalelo
- Qinisekisa ukuthi i-health endpoint iyaphendula.
- Hlola imibhalo ye-FastAPI.
- Qalisa i-
pytest. - Hlanganisa i-frontend ye-Taro.
- Vula i-
frontend/distku-WeChat DevTools. - Hlola ukungena ngemvume, ukwakhiwa kwemibuzo, impendulo, umlando, nokubuyekezwa kwemibiko usebenzisa amasevisi angaphandle alungiselelwe.
Le ndlela yenza kube lula ukuhlukanisa izinkinga zokulungiselelwa kwe-backend ezinkingeni zokuhlanganiswa kwe-frontend noma zamathuluzi e-WeChat.
Lungiselela Ukuthunyelwa Kwe-Container
I-repository ifaka phakathi i-backend/Dockerfile ne-backend/.dockerignore. Lawa mafayela avumela i-backend ukuthi ipakishwe njenge-container ye-Docker ezosetshenziswa ku-WeChat Cloud Run noma kwenye inkundla ehambisanayo.
Ngaphambi kokuthunyelwa, sebenzisa izivivinyo, qinisekisa ukuthi iziguquguquki zemvelo zokukhiqiza ezidingekayo ziyatholakala ngenkundla, futhi ugweme ukufaka izimfihlo esithombeni. Qinisekisa ukuthi okuncike kukho kwangaphandle okufana ne-MySQL, Tencent Cloud COS, abahlinzeki bamamodeli, i-Tavily, nokuqinisekiswa kwe-WeChat kuyafinyeleleka endaweni yokuthunyelwa.
Isiphetho
Le phrojekthi inikeza isisekelo esiphelele sokufunda okusizwa yi-AI ku-WeChat: i-mini app ye-Taro ne-React, i-backend ye-FastAPI, ukwakhiwa kwemibuzo okusekelwe ezihlokweni nasemadokhumentini, izincazelo ezisheshayo, imibiko yokufunda, umlando wabasebenzisi, kanye nokuthunyelwa okulungele ama-container. Qala ngokuqinisekisa i-backend, hlanganisa i-frontend ku-WeChat DevTools, bese ulungiselela amasevisi angaphandle adingekayo ekuhambeni komsebenzi wakho wokufunda okukhethile.
