Imesasishwa 25 Sep 2025
8 dk
# pip install langchain langchain-openaifrom langchain_openai import ChatOpenAIfrom langchain_core.prompts import ChatPromptTemplate# 1) Modelllm = ChatOpenAI(model="gpt-4o-mini", temperature=0)# 2) Promptprompt = ChatPromptTemplate.from_messages( na mwongozo wa utiririshaji.---## Vitalu vya Ujenzi Utakavyotumia 80% ya Muda### 1) Uhamasishaji na Uchambuzi wa Matokeo- Tumia `ChatPromptTemplate` kwa hamasa zilizopangwa.- Changanua matokeo kwa `StrOutputParser` au wachanganuzi wa JSON kwa majibu yaliyochapwa.```pythonfrom langchain_core.output_parsers import StrOutputParserfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_openai import ChatOpenAIllm = ChatOpenAI(model="gpt-4o-mini")prompt = ChatPromptTemplate.from_template("""Fanya muhtasari wa maandishi yafuatayo katika nukta 3:---{text}""")parser = StrOutputParserchain = prompt | llm | parsersummary = chain.invoke({"text": "LangChain husaidia kujenga programu za LLM na RAG na zana."})print(summary)# pip install faiss-cpu tiktokenfrom langchain_openai import OpenAIEmbeddings, ChatOpenAIfrom langchain_community.vectorstores import FAISSfrom langchain_text_splitters import RecursiveCharacterTextSplitterfrom langchain_core.prompts import ChatPromptTemplate# Andaa hatitexts = .---## Kutoka Mfano hadi Uzalishaji: Mpango wa Hatua kwa Hatua### Hatua ya 1: Bainisha Hadithi ya Mtumiaji- Mtumiaji ni nani? Wanajaribu kumaliza kazi gani?- Mfano: "Wakala wa usaidizi anayejibu maswali ya bidhaa kutoka kwa hati za ndani na tiketi za hivi karibuni."### Hatua ya 2: Chagua Mkusanyiko Mdogo Zaidi Unaowezekana- Modeli: Chagua modeli ya bei nzuri na ya kuaminika (k.m., GPT-4o-mini au modeli wazi ya mpaka).- Data: Amua ikiwa unahitaji RAG sasa. Ikiwa ndiyo, anza na FAISS ndani ya nchi.- I/O: Tumia LCEL kwa marudio ya haraka; epuka msimbo wa gundi maalum.### Hatua ya 3: Tekeleza Kitanzi Safi cha RAG- Gawanya hati vizuri.- Weka alama kwenye viingizo.- Himiza na muktadha na nukuu.- Ongeza ulinzi ili kuepuka kuweweseka wakati hakuna muktadha muhimu unaopatikana.```pythonfrom langchain_core.output_parsers import StrOutputParserfrom langchain_core.prompts import ChatPromptTemplateqa_prompt = ChatPromptTemplate.from_template("""Jibu swali ukitumia TU MUKTADHA hapa chini. Ikiwa jibu halipokatika muktadha, sema "Sijui." Jumuisha kitambulisho cha hati kilichonukuliwa.MUKTADHA:{context}SWALI: {question}""")parser = StrOutputParserrag_chain = (RunnableParallel(context=retriever, question=RunnableLambda(lambda x: x.### Hatua ya 5: Matokeo Yaliyochapwa na Uthibitishaji- Tumia `PydanticOutputParser` au schema ya JSON ili kulazimisha muundo wa majibu ya API.- Thibitisha sehemu ili kukamata mabadiliko ya modeli.### Hatua ya 6: Zana na Utumiaji wa Kazi kwa Kazi Halisi- Anzisha zana kwa nadra.- Zana za kawaida: kikokotozi, utafutaji wa wavuti, mtekelezaji wa swali la SQL, mkimbiaji wa msimbo.- Eleza uwezo wa zana waziwazi katika docstrings.### Hatua ya 7: Ugumu- Kikomo cha kiwango na mikakati ya kujaribu tena.- Muda wa kumalizika na vivunja mzunguko.- Vichungi vya usalama na ukaguzi wa yaliyomo.### Hatua ya 8: Tathmini na Uboreshaji Endelevu- Jaribu na datasets za dhahabu (ingizo → matokeo yanayotarajiwa).- Tathmini uaminifu, ukamilifu wa jibu, na usahihi wa nukuu.- Pima kiwango cha pigo la urejeshaji na muda wa kusubiri.---## Mifumo ya Kawaida na Mitego- Anza rahisi: Minyororo kabla ya mawakala. Utapata uwezo wa kutabirika na gharama ya chini.- Ugawaji ni muhimu: Kurekebisha ukubwa/mwingiliano wa chunk kunaweza kubadilisha ubora wa urejeshaji zaidi ya ubadilishaji wa modeli.- Kuvuja kwa hamasa: Usijaze sinki ya jikoni kwenye hamasa za mfumo; ziweke zimezingatia.- Uamuzi: Weka `temperature=0` kwa tathmini na mtiririko wa kazi muhimu.- Utiririshaji wa UX: Tiririsha tokeni kwenye UI wakati mfumo wote unachukua mali au kupakia muktadha.- Matokeo yaliyopangwa: Tumia wachanganuzi kufanya ujumuishaji wa chini ya mto kuwa rahisi.---## Mradi Kamili Mdogo: Maswali na Majibu ya Hati Pamoja na NukuuMfano huu unaunganisha kila kitu pamoja: ulaji, RAG, kizazi cha jibu, na utiririshaji.```python# pip install langchain langchain-openai faiss-cpu tiktokenfrom langchain_openai import ChatOpenAI, OpenAIEmbeddingsfrom langchain_text_splitters import RecursiveCharacterTextSplitterfrom langchain_community.vectorstores import FAISSfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_core.output_parsers import StrOutputParserfrom langchain_core.runnables import RunnableParallel, RunnableLambda# 1) Ingizacorpus = {"pricing": "Mpango wetu wa Pro unaauni tokeni za muktadha milioni 1 na ni pamoja na usaidizi wa kipaumbele.","limits": "Kikomo cha kiwango cha API ni maombi 60 kwa dakika kwa watumiaji wa Pro.","security": "Tunahifadhi kumbukumbu kwa siku 30 isipokuwa ukataji kumbukumbu umezimwa na msimamizi.",}splitter = RecursiveCharacterTextSplitter(chunk_size=300, chunk_overlap=50)all_chunks, ids = [], []for doc_id, text in corpus.items:for i, chunk in enumerate(splitter.split_text(text)):all_chunks.append(chunk)ids.append(f"{doc_id}-{i}")# 2) Weka alamadb = FAISS.from_texts(all_chunks, OpenAIEmbeddings)retriever = db.as_retriever(k=4)# 3) Himizaprompt = ChatPromptTemplate.from_template("""Wewe ni msaidizi wa usaidizi. Tumia MUKTADHA kujibu.Ikiwa huna uhakika, sema "Sijui." Jumuisha nukuu za kitambulisho cha chanzo.MUKTADHA:{context}SWALI: {question}""")# 4) Modeli na kichanganuzillm = ChatOpenAI(model="gpt-4o-mini", temperature=0)parser = StrOutputParser# 5) Tunga mnyorororag = (RunnableParallel(context=retriever,question=RunnableLambda(lambda x: x["question"]) # pitisha-kupitia)| prompt| llm| parser)# 6) Uliza swalifor chunk in rag.stream({"question": "Viwango vya Pro na uhifadhi wa kumbukumbu ni nini?"}):print(chunk, end="", flush=True)batch kwenye Runnables kwa ufanisi.prompt | llm na ujaribu na .invoke au .stream. Mafunzo rasmi yanaelezea gumzo rahisi, RAG, na mawakala hatua kwa hatua kwa kuanza haraka.Runnable inasaidia .stream kwa usawazishaji na .astream kwa async kutoa vipande wanapowasili. Mwongozo wa utiririshaji unashughulikia matumizi na mbinu bora.
Jinsi ya Kumiliki ChatPDF: Kupata Maarifa Haraka kutoka kwa Nyaraka Zenye Maelezo Mengi

Mbadala Bora ya X Auto-Translation kwa Nyaraka za Haraka na Sahihi

Tafsiri ya AI ya Samsung Haipatikani Iran? Njia Zaidi za Kutatua Tatizo

Zana za Tafsiri za Kiarabu: Mwongozo wa Kivitendo kwa Kazi ya Haraka na Sahihi

Mbadala Bora ya Grok kwa Utafiti wa Kina na Urejeleaji

Vipengele 15 Bora vya Jenereta ya Picha za AI Ambavyo Utaweza Kutumia