LangChain agent එකකට WhatsApp අංකයක් ලබා දෙන්න
LangChain agent එකකට WhatsApp ලැබෙන්නේ කොටස් දෙකකින්. ලැබෙන පණිවිඩ අංකයේ webhook එක හරහා ඔබේ web route එකට පැමිණේ, route එක agent ව ක්රියාත්මක කරයි. ක්රියා කිරීමට agent එක OAuth සමඟ LangChain හි MCPAdapter හරහා EasyCoexistence MCP tools පූරණය කරයි, නැතහොත් අංකයේ token එක සහ phone number id භාවිතයෙන් Cloud API එක කෙලින්ම කැඳවයි.
langchain.mcp namespace එක සඳහා අවශ්ය අවම langchain[mcp] අනුවාදය. එය beta අදියරේ පවතී.
සම්පූර්ණ OAuth 2.1 ක්රියාවලිය ධාවනය කරයි: discovery, dynamic client registration, browser redirect සහ token exchange.
ලබන්නා අවසන් වරට පිළිතුරු දී පැය 24 කට වඩා ගත වූ විට Meta ලබා දෙන දෝෂය.
LangChain agent එකක් WhatsApp tools පූරණය කරන්නේ කෙසේද?
LangChain හි MCP client එක වන MCPAdapter හරහා ය. එය MCP server එකක tools සාමාන්ය LangChain tools ලෙස create_agent වෙත ලබා දෙයි. ඒ සඳහා langchain[mcp] 1.4.0 හෝ ඉන් පසු අනුවාදයක් අවශ්ය වන අතර එය beta ලෙස සලකුණු කර ඇත.
සත්යාපනය FastMCP වෙත පවරා ඇත. client එකේ auth="oauth" ලබා දීමෙන් සම්පූර්ණ OAuth 2.1 ක්රියාවලිය ධාවනය වේ: discovery, dynamic client registration, browser redirect සහ token exchange. EasyCoexistence MCP server එක බලාපොරොත්තු වන්නේ එයයි, එබැවින් සාදා ගැනීමට හෝ පිටපත් කර ඇලවීමට key එකක් නැත. පෙරනිමියෙන් token මතකයේ පමණක් පවතින අතර සෑම ධාවනයකදීම browser පියවර නැවත සිදු වේ. token store එකක් සහිත FastMCP OAuth provider එකක් මඟින් ඒවා ධාවන අතර තබා ගනී.
පූරණය වූ පසු agent එකට tools ඒවායේ විස්තර සමඟ පෙනේ: මුලින්ම list_numbers, මන්ද අනෙක් සෑම tool එකක්ම connection_id එකක් ගන්නේ එයින් ය. ඉන්පසු send_message, send_template, list_templates, get_number_health සහ අනෙකුත් ඒවා.
from fastmcp.client import Client
from langchain.agents import create_agent
from langchain.mcp import MCPAdapter
URL = "https://easycoexistence.com/api/mcp"
async def build_agent(model: str):
async with MCPAdapter(Client(URL, auth="oauth")) as adapter:
tools = await adapter.list_tools()
return create_agent(model, tools)ලැබෙන WhatsApp පණිවිඩයක් agent වෙත ළඟා වන්නේ කෙසේද?
webhook එක හරහා ය, මන්ද MCP වලට එය කළ නොහැකි ය. එම protocol එක request සහ ප්රතිචාරය මත පදනම් වන බැවින්, පාරිභෝගිකයෙක් ලියූ විට client එකක් අවදි කිරීමට server එකකට ඉඩ දෙන කිසිවක් එහි නැත.
අංකයේ webhook ගමනාන්තය ඔබේම යෙදුමේ route එකකට සකසන්න, URL මාර්ගයේ දිගු අහඹු රහසක් ද සමඟ. route එක Meta ගේ සත්යාපන GET එකට raw challenge එකෙන් පිළිතුරු දෙයි, සෑම POST එකක්ම පිළිගනී, වහාම 200 ලබා දී කාර්යය පෝලිමට දමයි. ඉන්පසු worker එකක් payload එකෙන් යවන්නා සහ පෙළ ගෙන ඒවා සමඟ agent ව ක්රියාත්මක කරයි. යවන්නාගේ අංකය thread id ලෙස යොදන නිසා මතකය පාරිභෝගිකයා අනුව වෙන් වේ.
රහස පරීක්ෂා කරන්න URL එකේ ඇති අගය මඟින් මිස X-Hub-Signature-256 header එක මඟින් නොවේ. Meta අත්සන් කරන්නේ Tech Provider ගේ යෙදුමේ රහසිගත අගයෙන් වන අතර එය කිසිවිටෙක බෙදා නොගනී, එබැවින් පාරිභෝගිකයාට එම header එක තහවුරු කළ නොහැකි ය.
agent එක යැවිය යුත්තේ MCP හරහාද, Cloud API හරහාද?
දෙකම ක්රියා කරයි, වෙනස වන්නේ නීති තබා ගන්නේ කවුද යන්න ය. MCP tools තම විස්තරවල WhatsApp නීති දරයි, උදාහරණයක් ලෙස send_message ක්රියා කරන්නේ පැය 24 කවුළුව තුළ පමණක් වීම සහ ලියා නැති අයෙකු වෙත ළඟා වීමේ මාර්ගය send_template වීම. ඒ විස්තර කියවන model එක බොහෝ විට නිවැරදි එක තෝරයි, agent එක නිදහසේ තීරණය කරන තැනක එය ප්රයෝජනවත් ය.
agent ගේ කාර්යය පටු වූ විට, උදාහරණයක් ලෙස දැන් ලියූ පුද්ගලයාට සැමවිටම පිළිතුරු දීම, අංකයේ token එක සමඟ Cloud API messages endpoint එකට post කරන ඔබේම සරල tool එකක් වඩා පහසු ය. එවිට කවුළු පරීක්ෂාව ඇත්තේ ඔබේ කේතයේ ය, කිසිවිටෙක කඩ නොවිය යුතු නීතියක් තිබිය යුත්තේ එහි ය. කවුළුවෙන් පිටත නිදහස් පෙළ යැවූ විට දෝෂ 131047 ලැබේ, පාරිභෝගිකයාට කිසිවක් නොපෙනේ.
සාමාන්ය වැරදි
- MCP මඟින් ලැබෙන පණිවිඩ ලැබේ යැයි බලාපොරොත්තු වීම. webhook route එකක් නොමැති නම් agent ට පාරිභෝගිකයෙකුගෙන් කිසිවක් නොඇසේ.
- OAuth token server එකක මතකයේ තැබීම. සෑම නැවත ආරම්භයකදීම browser පුරනය වීමක් අවශ්ය වේ. token store එකකින් ඒවා සුරකින්න.
- සියලු පාරිභෝගිකයන් සඳහා එක thread එකක් භාවිතා කිරීම. agent ගේ මතකය යවන්නාගේ අංකය අනුව වෙන් කරන්න.
easycoexistence.com හි අංකය සම්බන්ධ කරන්න, webhook ගමනාන්තය ඔබේ route එකට සකසන්න, එක් OAuth පුරනයකින් MCP tools agent වෙත පූරණය කරන්න. සම්බන්ධ කළ අංකයකට මසකට US$ 9 සිට, අංක එකතු කරන විට US$ 1 දක්වා අඩු වේ, පළමු දින 3 නොමිලේ.
නිතර අසන ප්රශ්න
මෙය Python සඳහා පමණක්ද?
MCPAdapter උදාහරණය Python වලින් ය. webhook එක සහ Cloud API සරල HTTP වන බැවින්, LangChain ධාවනය වන ඕනෑම භාෂාවකින් ලැබීම සහ යැවීම කළ හැකි ය.
agent එකට සෑම වරම list_numbers අවශ්යද?
එයට connection_id එකක් අවශ්ය වන අතර එකක් ලැබෙන එකම තැන list_numbers ය. එක් අංකයක් පමණක් ඇති විට agent එක ආරම්භයේදී එය එක් වරක් කැඳවයි.
කණ්ඩායමට තවමත් දුරකථනයෙන් පිළිතුරු දිය හැකිද?
ඔව්. Coexistence මඟින් WhatsApp Business යෙදුම දිගටම ක්රියා කරයි, දුරකථනයෙන් යවන පිළිතුරු agent ට සැලකිල්ලට ගත හැකි echo events ලෙස ඔබේ route එකට ලැබේ.
EasyCoexistence සංවාදය කියවයිද?
නැත. Meta කෙලින්ම ඔබේ route එකට බෙදා හරින අතර පණිවිඩ අන්තර්ගතය අපගේ පැත්තේ කිසිවිටෙක ගබඩා නොවේ. MCP tools කියවන්නේ ගිණුමේ සහ අංකයේ තත්ත්වය පමණි.
තවදුරටත් කියවන්න
ආරම්භ කිරීමට සූදානම්ද?
WhatsApp Coexistence මිනිත්තු කිහිපයකින් සකසන්න, මාස ගණනකින් නොව. යෙදුම දුරකථනයේ දිගටම ක්රියා කරයි.
නොමිලේ trial කාලය ආරම්භ කරන්නසත්යාපනය කළේ