OneLi ב־LlamaIndex
איך נותנים לסוכן שבנוי ב־LlamaIndex לבצע שיחות טלפון בעברית דרך OneLi, לעקוב אחרי השיחה, לענות להתייעצויות ולקבל את התוצאה.
ב־LlamaIndex יוצרים BasicMCPClient עם כותרת Authorization, הופכים אותו לרשימת כלים עם McpToolSpec ומעבירים ל־FunctionAgent.
התקנה
- יוצרים מפתח API ב־oneli.io/app/connect ושומרים אותו במשתנה הסביבה
ONELI_API_KEYבשרת. - מתקינים את החבילות:
Terminal
pip install llama-index-tools-mcp llama-index-llms-openaiנבדק מול: llama-index-tools-mcp 0.6.0 · llama-index-core 0.14.25
חיבור דרך MCP (מומלץ)
Python
import os, asyncio
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.core.tools import FunctionTool
from llama_index.llms.openai import OpenAI
async def main():
client = BasicMCPClient("https://mcp.oneli.io/mcp",
headers={"Authorization": f"Bearer {os.environ['ONELI_API_KEY']}"})
tools = await McpToolSpec(client=client).to_tool_list_async()
agent = FunctionAgent(tools=tools, llm=OpenAI(model="gpt-4.1"), system_prompt="Use OneLi to place calls.")
print(await agent.run(user_msg="Call +972… and book a table"))
asyncio.run(main())
# REST: FunctionTool.from_defaults(fn=create_call_task) (same httpx function as in the other Python guides)שימו לב
- כתובת שמסתיימת ב־/mcp בוחרת Streamable HTTP; /sse בוחרת SSE.
- אם מעבירים http_client משלכם, הפרמטר headers לא נלקח בחשבון.
- הפרמטר headers מופיע בקוד המקור של הלקוח ולא ב־README.
מספרי טלפון: OneLi מקבלת מספר ישראלי בכל פורמט נפוץ (050-1234567, +972501234567). כשהשיחה מתחילה, הסוכן ממשיך עם get_call_events או עם GET /v1/call-tasks/:id/events כדי לעקוב, לענות להתייעצויות ולקבל את הסיכום.
מה הלאה
מקורות: pypi.org/project/llama-index-tools-mcp/ · github.com/run-llama/llama_index/blob/main/llama-index-integrations/tools/llama-index-tools-mcp/llama_index/tools/mcp/client.py