概要
LlamaCloudアドバンス機能は、LlamaIndex統合を使用した高度な検索・クエリ機能を提供します。これらのツールにより、インデックス化された知識ベースからの高度なドキュメント検索と回答生成が可能になります。主要機能
LLAMA_CLOUD_QUERY_WITH_LLAMA_INDEX
- LlamaIndexを使用した高度な検索でドキュメントクエリ
LLAMA_CLOUD_SEARCH
- Llama Cloudインデックスを使用した検索と回答生成
LLAMA_CLOUD_SEARCH_WITH_LLAMA_INDEX
- LlamaIndex統合によるエンハンス検索
認証
詳細については、こちらをクリックしてください。 これらのアドバンスLlamaCloudツールを使用するには以下が必要です:- LlamaCloudからのLlamaCloud APIキー
- 適切に設定されたプロジェクトとインデックス
- 組織IDとプロジェクト設定
例:アドバンスドキュメントクエリシステム
Copy
- id: setup_query_parameters
name: setup_query_parameters
tool: INPUT_JSON
input:
- name: value
value: {
"queries": [
"四半期報告書で言及されている主要なパフォーマンス指標は何ですか?",
"同社の成長は業界ベンチマークとどのように比較されますか?",
"特定された主要なリスク要因は何ですか?"
],
"system_prompt": "あなたは金融アナリストです。提供されたコンテキストに基づいて、以下のクエリに包括的に回答してください:{query}",
"search_config": {
"similarity_top_k": 5,
"index_name": "quarterly-reports-index",
"project_name": "financial-analysis",
"organization_id": "your-org-id"
}
}
- id: query_financial_data
name: query_financial_data
tool: LLAMA_CLOUD_QUERY_WITH_LLAMA_INDEX
config:
- name: api_key
value: "{{secrets.LLAMA_CLOUD_API_KEY}}"
input:
- name: input
value: "{{steps.setup_query_parameters.result.queries}}"
- name: system_prompt
value: "{{steps.setup_query_parameters.result.system_prompt}}"
- name: name
value: "{{steps.setup_query_parameters.result.search_config.index_name}}"
- name: project_name
value: "{{steps.setup_query_parameters.result.search_config.project_name}}"
- name: organization_id
value: "{{steps.setup_query_parameters.result.search_config.organization_id}}"
- name: similarity_top_k
value: "{{steps.setup_query_parameters.result.search_config.similarity_top_k}}"
- id: process_query_results
name: process_query_results
tool: PYTHON_SANDBOX_RUN
input:
- name: script
value: |
import json
# クエリ結果の処理
query_results = {{steps.query_financial_data.result}}
processed_results = []
for i, result in enumerate(query_results):
query = result[0] if len(result) > 0 else "不明なクエリ"
answer = result[1] if len(result) > 1 else "回答が提供されませんでした"
references = result[2:] if len(result) > 2 else []
processed_results.append({
"query_id": i + 1,
"question": query,
"answer": answer,
"references": references,
"reference_count": len(references)
})
# サマリーレポートの生成
summary = {
"total_queries": len(processed_results),
"successful_queries": len([r for r in processed_results if r["answer"] != "回答が提供されませんでした"]),
"total_references": sum(r["reference_count"] for r in processed_results),
"detailed_results": processed_results
}
print(json.dumps(summary, indent=2, ensure_ascii=False))
例:マルチインデックス検索比較
Copy
- id: setup_search_comparison
name: setup_search_comparison
tool: INPUT_JSON_WITH_VALIDATION
input:
- name: value
value: {
"search_query": "人工知能のトレンドと市場見通し",
"indexes": [
{
"name": "tech-reports-2024",
"project": "technology-analysis",
"description": "技術業界レポートと分析"
},
{
"name": "market-research-ai",
"project": "market-intelligence",
"description": "AI市場調査と予測"
}
],
"organization_id": "your-org-id"
}
- id: search_tech_reports
name: search_tech_reports
tool: LLAMA_CLOUD_SEARCH
config:
- name: api_key
value: "{{secrets.LLAMA_CLOUD_API_KEY}}"
input:
- name: input
value: ["{{steps.setup_search_comparison.result.search_query}}"]
- name: system_prompt
value: "技術業界の観点から以下のクエリを分析してください:{query}"
- name: name
value: "{{steps.setup_search_comparison.result.indexes[0].name}}"
- name: project_name
value: "{{steps.setup_search_comparison.result.indexes[0].project}}"
- name: organization_id
value: "{{steps.setup_search_comparison.result.organization_id}}"
- name: similarity_top_k
value: 3
- id: synthesize_insights
name: synthesize_insights
tool: OPENAI_INVOKE
config:
- name: version
value: gpt-4
input:
- name: prompt
value: |
{{steps.setup_search_comparison.result.search_query}}に関する複数の検索結果からインサイトを統合してください
技術業界の観点:
{{steps.search_tech_reports.result[0].answer}}
以下を含む包括的な分析を作成してください:
1. 共通テーマとトレンドの特定
2. 各ソースからの独自のインサイトのハイライト
3. 実用的な推奨事項の提供
4. 矛盾や異なる観点の指摘
5. さらなる調査が必要な分野の提案
明確なセクションと箇条書きによるエグゼクティブサマリーとしてフォーマットしてください。
例:コンテキスト情報検索
Copy
- id: setup_contextual_search
name: setup_contextual_search
tool: INPUT_TEXT
input:
- name: value
value: "ヘルスケアAIセクターでの新製品ローンチを計画しています。知っておくべき規制上の考慮事項、市場機会、技術的課題は何ですか?"
- id: extract_search_aspects
name: extract_search_aspects
tool: OPENAI_INVOKE
config:
- name: version
value: gpt-4
input:
- name: prompt
value: |
このビジネスクエリを特定の検索側面に分解してください:
"{{steps.setup_contextual_search.result}}"
以下にカテゴライズして抽出してください:
1. 規制側面(コンプライアンス、法的、規制)
2. 市場側面(機会、競争、トレンド)
3. 技術側面(課題、要件、機能)
各側面について、関連情報を収集するのに役立つ具体的な検索クエリを2-3個生成してください。
JSONとして返却:
{
"regulatory_queries": ["クエリ1", "クエリ2", "クエリ3"],
"market_queries": ["クエリ1", "クエリ2", "クエリ3"],
"technical_queries": ["クエリ1", "クエリ2", "クエリ3"]
}
- id: compile_comprehensive_report
name: compile_comprehensive_report
tool: PYTHON_SANDBOX_RUN
input:
- name: script
value: |
import json
# すべての検索結果を処理
def process_results(results, category):
processed = []
for result in results:
if len(result) >= 2:
processed.append({
"query": result[0],
"answer": result[1],
"references": result[2:] if len(result) > 2 else [],
"category": category
})
return processed
all_insights = []
# 構造化レポートの生成
report = {
"executive_summary": {
"total_insights": len(all_insights)
},
"action_items": [
"規制コンプライアンス要件の確認",
"市場ポジショニング戦略の分析",
"技術実装の課題評価",
"リスク軽減戦略の開発"
]
}
print(json.dumps(report, indent=2, ensure_ascii=False))
ヒントとベストプラクティス
- クエリ最適化: より良い検索精度のために、具体的で構造化されたクエリを使用
- インデックス管理: トピックやドメインごとに論理的なインデックスにドキュメントを整理
- 類似性調整: クエリの複雑さに基づいて
similarity_top_k
を調整 - システムプロンプト: 異なるタイプの分析に対して専門的なシステムプロンプトを作成
- 結果処理: ダウンストリーム使用のために常に結果を処理・検証
- 参照追跡: 透明性と検証のために参照情報を活用
- バッチ処理: 効率性のために関連する複数クエリを一緒に処理
- コンテキスト保持: 複数の検索操作間でコンテキストを維持
- エラーハンドリング: API障害や空の結果に対する適切なエラーハンドリングを実装
- コスト管理: APIの使用状況を監視し、コスト効率のためにクエリパターンを最適化