LangChain ఏజెంట్కు WhatsApp నంబర్ ఇవ్వండి
LangChain ఏజెంట్కు WhatsApp రెండు భాగాలుగా అందుతుంది. వచ్చే మెసేజ్లు నంబర్ వెబ్హుక్ ద్వారా మీ వెబ్ రూట్కు చేరతాయి, ఆ రూట్ ఏజెంట్ను నడుపుతుంది. చర్య తీసుకోవడానికి ఏజెంట్ LangChain MCPAdapter తో OAuth ద్వారా EasyCoexistence MCP టూల్స్ను లోడ్ చేస్తుంది, లేదా నంబర్ టోకెన్, phone number id తో Cloud API ని నేరుగా పిలుస్తుంది.
langchain.mcp నేమ్స్పేస్ కోసం కనీస langchain[mcp] వెర్షన్. ఇది ప్రస్తుతం బీటాలో ఉంది.
పూర్తి OAuth 2.1 ప్రక్రియను నడుపుతుంది: డిస్కవరీ, డైనమిక్ క్లయింట్ రిజిస్ట్రేషన్, బ్రౌజర్ రీడైరెక్ట్, టోకెన్ మార్పిడి.
గ్రహీత చివరిసారి ప్రత్యుత్తరం ఇచ్చి 24 గంటల కంటే ఎక్కువ అయినప్పుడు Meta ఇచ్చే లోపం.
LangChain ఏజెంట్ WhatsApp టూల్స్ను ఎలా లోడ్ చేస్తుంది?
LangChain MCP క్లయింట్ అయిన MCPAdapter ద్వారా. ఇది MCP సర్వర్ టూల్స్ను సాధారణ LangChain టూల్స్గా create_agent కు అందిస్తుంది. దీనికి langchain[mcp] వెర్షన్ 1.4.0 లేదా తర్వాతది కావాలి, ఇది బీటాగా గుర్తించబడింది.
అథెంటికేషన్ను FastMCP చూసుకుంటుంది. క్లయింట్లో auth="oauth" ఇస్తే పూర్తి OAuth 2.1 ప్రక్రియ నడుస్తుంది: డిస్కవరీ, డైనమిక్ క్లయింట్ రిజిస్ట్రేషన్, బ్రౌజర్ రీడైరెక్ట్, టోకెన్ మార్పిడి. EasyCoexistence MCP సర్వర్ ఆశించేది ఇదే, కాబట్టి కీ సృష్టించడం లేదా అతికించడం అవసరం లేదు. డిఫాల్ట్గా టోకెన్లు మెమరీలో ఉంటాయి, ప్రతి రన్లో బ్రౌజర్ దశ మళ్లీ వస్తుంది. టోకెన్ స్టోర్ ఉన్న FastMCP OAuth ప్రొవైడర్ వాటిని రన్ల మధ్య భద్రపరుస్తుంది.
లోడ్ అయ్యాక ఏజెంట్ టూల్స్ను వాటి వివరణలతో చూస్తుంది. మొదట list_numbers, ఎందుకంటే మిగతా ప్రతి టూల్కు దాని నుంచే 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 మెసేజ్ ఏజెంట్కు ఎలా చేరుతుంది?
వెబ్హుక్ ద్వారా, ఎందుకంటే MCP దీన్ని చేయలేదు. ఆ ప్రోటోకాల్ అభ్యర్థన మరియు ప్రతిస్పందన పద్ధతిలో పనిచేస్తుంది, కస్టమర్ రాసినప్పుడు సర్వర్ క్లయింట్ను మేల్కొలిపే మార్గం దానిలో లేదు.
నంబర్ వెబ్హుక్ గమ్యాన్ని మీ సొంత అప్లికేషన్లోని రూట్కు సెట్ చేయండి, URL పాత్లో పొడవైన యాదృచ్ఛిక రహస్యం ఉంచండి. ఆ రూట్ Meta ధృవీకరణ GET కు raw challenge తో సమాధానం ఇస్తుంది, ప్రతి POST ను స్వీకరించి వెంటనే 200 తిరిగి ఇచ్చి, పనిని క్యూలో ఉంచుతుంది. తర్వాత వర్కర్ పేలోడ్ నుంచి పంపినవారిని, టెక్స్ట్ను తీసుకుని వాటితో ఏజెంట్ను నడుపుతుంది. పంపినవారి నంబర్ను థ్రెడ్ ఐడీగా ఇస్తే, మెమరీ ప్రతి కస్టమర్కు విడిగా ఉంటుంది.
రహస్యాన్ని X-Hub-Signature-256 హెడర్లో కాకుండా URL లో తనిఖీ చేయండి. Meta సంతకం Tech Provider యాప్ సీక్రెట్తో చేస్తుంది, అది ఎప్పటికీ పంచబడదు. కాబట్టి ఆ హెడర్ను కస్టమర్ ధృవీకరించలేరు.
ఏజెంట్ MCP ద్వారా పంపాలా, Cloud API ద్వారా పంపాలా?
రెండూ పనిచేస్తాయి, తేడా నియమాలు ఎవరి దగ్గర ఉన్నాయన్నదే. MCP టూల్స్ WhatsApp నియమాలను వాటి వివరణల్లోనే ఉంచుతాయి. ఉదాహరణకు send_message 24 గంటల విండోలో మాత్రమే పనిచేస్తుంది, రాయని వ్యక్తిని చేరడానికి send_template మార్గం. ఆ వివరణలు చదివిన మోడల్ చాలాసార్లు సరైనదాన్ని ఎంచుకుంటుంది, ఏజెంట్ స్వేచ్ఛగా నిర్ణయించే చోట ఇది ఉపయోగపడుతుంది.
ఏజెంట్ పని పరిమితమైనప్పుడు, అంటే ఇప్పుడే రాసిన వ్యక్తికి ఎప్పుడూ సమాధానం ఇవ్వడం వంటి చోట, నంబర్ టోకెన్తో Cloud API మెసేజ్ల ఎండ్పాయింట్కు పోస్ట్ చేసే మీ సొంత సాధారణ టూల్ సులభం. అప్పుడు విండో తనిఖీ మీ కోడ్లో ఉంటుంది, ఎప్పటికీ ఉల్లంఘించకూడని నియమానికి సరైన చోటు అదే. విండో బయట స్వేచ్ఛా రూప టెక్స్ట్ పంపితే ఎర్రర్ కోడ్ 131047 వస్తుంది, కస్టమర్కు ఏమీ కనిపించదు.
సాధారణ పొరపాట్లు
- MCP ద్వారా వచ్చే మెసేజ్లు అందుతాయని ఆశించడం. వెబ్హుక్ రూట్ లేకపోతే ఏజెంట్కు కస్టమర్ నుంచి ఏదీ చేరదు.
- OAuth టోకెన్లను సర్వర్లో మెమరీలోనే వదిలేయడం. ప్రతి రీస్టార్ట్లో బ్రౌజర్ సైన్-ఇన్ అడుగుతుంది, టోకెన్ స్టోర్తో వాటిని భద్రపరచండి.
- ప్రతి కస్టమర్కు ఒకే థ్రెడ్ వాడటం. ఏజెంట్ మెమరీని పంపినవారి నంబర్తో కీ చేయండి.
easycoexistence.com లో నంబర్ను కనెక్ట్ చేయండి, వెబ్హుక్ గమ్యాన్ని మీ రూట్కు సెట్ చేయండి, ఒక్క OAuth సైన్-ఇన్తో MCP టూల్స్ను ఏజెంట్లో లోడ్ చేయండి. నంబర్కు నెలకు US$ 9 నుంచి, నంబర్లు పెరిగేకొద్దీ US$ 1 వరకు తగ్గుతుంది. మొదటి 3 రోజులు ఉచితం.
తరచుగా అడిగే ప్రశ్నలు
ఇది Python కు మాత్రమేనా?
MCPAdapter ఉదాహరణ Python లో ఉంది. వెబ్హుక్, Cloud API సాధారణ HTTP కాబట్టి, LangChain నడిచే ఏ భాషలోనైనా స్వీకరించడం, పంపడం చేయవచ్చు.
ఏజెంట్కు ప్రతిసారీ list_numbers అవసరమా?
దానికి connection_id కావాలి, అది వచ్చేది list_numbers నుంచి మాత్రమే. ఒకే నంబర్ ఉంటే ఏజెంట్ ప్రారంభంలో ఒక్కసారి పిలిస్తే చాలు.
బృందం ఇప్పటికీ ఫోన్ నుంచి సమాధానం ఇవ్వగలదా?
అవును. Coexistence వల్ల WhatsApp Business యాప్ పనిచేస్తూనే ఉంటుంది, ఫోన్ నుంచి ఇచ్చిన సమాధానాలు echo ఈవెంట్లుగా మీ రూట్కు చేరతాయి, ఏజెంట్ వాటిని పరిగణనలోకి తీసుకోవచ్చు.
EasyCoexistence సంభాషణను చదువుతుందా?
లేదు. Meta నేరుగా మీ రూట్కు అందిస్తుంది, మెసేజ్ కంటెంట్ మా వైపు ఎప్పుడూ నిల్వ చేయబడదు. MCP టూల్స్ ఖాతా, నంబర్ స్థితిని మాత్రమే చదువుతాయి.
చదవడం కొనసాగించండి
ప్రారంభించడానికి సిద్ధంగా ఉన్నారా?
నెలల్లో కాదు, నిమిషాల్లో WhatsApp Coexistence సెటప్ చేయండి. యాప్ ఫోన్లో పనిచేస్తూనే ఉంటుంది.
ఉచిత ట్రయల్ ప్రారంభించండిధృవీకరించిన తేదీ