أداة LlamaIndex
LlamaIndexTool
Section titled “LlamaIndexTool”صُممت LlamaIndexTool لتكون غلافاً عاماً حول أدوات ومحركات استعلام LlamaIndex، مما يتيح لك الاستفادة من موارد LlamaIndex من حيث خطوط أنابيب RAG/الوكيلية كأدوات للتوصيل بوكلاء CrewAI. تتيح لك هذه الأداة دمج قدرات معالجة واسترجاع البيانات القوية من LlamaIndex في سير عمل CrewAI بسلاسة.
التثبيت
Section titled “التثبيت”لاستخدام هذه الأداة، تحتاج إلى تثبيت LlamaIndex:
uv add llama-indexخطوات البدء
Section titled “خطوات البدء”لاستخدام LlamaIndexTool بفعالية، اتبع الخطوات التالية:
- تثبيت LlamaIndex: ثبّت حزمة LlamaIndex باستخدام الأمر أعلاه.
- إعداد LlamaIndex: اتبع وثائق LlamaIndex لإعداد خط أنابيب RAG/وكيلي.
- إنشاء أداة أو محرك استعلام: أنشئ أداة أو محرك استعلام LlamaIndex تريد استخدامه مع CrewAI.
توضح الأمثلة التالية كيفية تهيئة الأداة من مكونات LlamaIndex مختلفة:
من أداة LlamaIndex
Section titled “من أداة LlamaIndex”from crewai_tools import LlamaIndexToolfrom crewai import Agentfrom llama_index.core.tools import FunctionTool
# Example 1: Initialize from FunctionTooldef search_data(query: str) -> str: """Search for information in the data.""" # Your implementation here return f"Results for: {query}"
# Create a LlamaIndex FunctionToolog_tool = FunctionTool.from_defaults( search_data, name="DataSearchTool", description="Search for information in the data")
# Wrap it with LlamaIndexTooltool = LlamaIndexTool.from_tool(og_tool)
# Define an agent that uses the tool@agentdef researcher(self) -> Agent: ''' This agent uses the LlamaIndexTool to search for information. ''' return Agent( config=self.agents_config["researcher"], tools=[tool] )من أدوات LlamaHub
Section titled “من أدوات LlamaHub”from crewai_tools import LlamaIndexToolfrom llama_index.tools.wolfram_alpha import WolframAlphaToolSpec
# Initialize from LlamaHub Toolswolfram_spec = WolframAlphaToolSpec(app_id="your_app_id")wolfram_tools = wolfram_spec.to_tool_list()tools = [LlamaIndexTool.from_tool(t) for t in wolfram_tools]من محرك استعلام LlamaIndex
Section titled “من محرك استعلام LlamaIndex”from crewai_tools import LlamaIndexToolfrom llama_index.core import VectorStoreIndexfrom llama_index.core.readers import SimpleDirectoryReader
# Load documentsdocuments = SimpleDirectoryReader("./data").load_data()
# Create an indexindex = VectorStoreIndex.from_documents(documents)
# Create a query enginequery_engine = index.as_query_engine()
# Create a LlamaIndexTool from the query enginequery_tool = LlamaIndexTool.from_query_engine( query_engine, name="Company Data Query Tool", description="Use this tool to lookup information in company documents")طرق الفئة
Section titled “طرق الفئة”توفر LlamaIndexTool طريقتي فئة رئيسيتين لإنشاء المثيلات:
from_tool
Section titled “from_tool”تنشئ LlamaIndexTool من أداة LlamaIndex.
@classmethoddef from_tool(cls, tool: Any, **kwargs: Any) -> "LlamaIndexTool": # Implementation detailsfrom_query_engine
Section titled “from_query_engine”تنشئ LlamaIndexTool من محرك استعلام LlamaIndex.
@classmethoddef from_query_engine( cls, query_engine: Any, name: Optional[str] = None, description: Optional[str] = None, return_direct: bool = False, **kwargs: Any,) -> "LlamaIndexTool": # Implementation detailsالمعاملات
Section titled “المعاملات”تقبل طريقة from_query_engine المعاملات التالية:
- query_engine: مطلوب. محرك استعلام LlamaIndex المراد تغليفه.
- name: اختياري. اسم الأداة.
- description: اختياري. وصف الأداة.
- return_direct: اختياري. ما إذا كان يتم إرجاع الاستجابة مباشرة. القيمة الافتراضية
False.
الخلاصة
Section titled “الخلاصة”توفر LlamaIndexTool طريقة قوية لدمج قدرات LlamaIndex في وكلاء CrewAI. من خلال تغليف أدوات ومحركات استعلام LlamaIndex، تمكّن الوكلاء من الاستفادة من وظائف استرجاع ومعالجة البيانات المتطورة، مما يعزز قدرتهم على التعامل مع مصادر المعلومات المعقدة.