Pythonコード50行未満でフル機能のAIエージェントアプリを実現(ステップバイステップガイド)
AIツールは、起業家がトレンドを特定し、意思決定を行う方法を変えつつあるが、スタートアップのビジネスチャンスを分析するためのスケーラブルなソリューションを構築するには、多くの場合、複数のデータソースを統合し、それらを迅速に処理する必要がある。しかし、適切なツールを備えた高度な大規模言語モデル(LLM)を使えば、このプロセスを自動化して実用的な洞察を提供することができる。
このチュートリアルでは AIスタートアップ動向分析エージェント.このAIエージェントは、スタートアップのニュースを分析し、新たなトレンドを特定し、スタートアップのアイデアを検証する。使用するPythonコードは50行未満で、以下のものと組み合わせる。 新聞4k 歌で応える ダックダックゴーそして クロード 3.5 ソネット
主な特徴
- ユーザー入力:起業家が関心のある特定の起業分野や技術を入力できる。
- ニュース収集:@DuckDuckGoを使う
最新の新興企業ニュースや市場分析を収集する
- 抄録作成:Newspaper4kを使って、検証された情報の簡潔な抄録を作成する。
- トレンド分析:ベンチャー資金調達、技術導入、市場機会の新たなモデルの特定
- フロントエンド・インターフェース:@streamlit
ユーザーフレンドリーなインタラクティブ・インターフェースの提供
システム・アーキテクチャは3つのエージェントで構成されている:
- ニュース収集:関連記事の検索と収集を担当
- サマリーライティング:記事内容を加工して要約する
- トレンド分析:サマリーの分析とトレンドの特定
実現のステップ:
- 環境のセットアップ:必要な依存関係のインストールとAPIキーの取得が含まれます。
- Streamlit アプリケーションの作成:ユーザーインターフェースの構築
- 3人のエージェントの機能を実装し、チームに統合する
- 分析ワークフローの実行と結果の提示
何を作るか
AIスタートアップ・トレンド分析エージェントは、新興起業家のために設計されたツールで、特定の分野における初期のトレンド、潜在的な市場ギャップ、成長機会を特定することで、実用的な洞察を生み出します。Newspaper4kとDuckDuckGoを組み合わせ、新興企業中心の記事や市場データをスキャンして分析します。Claude 3.5 Sonnetは、この情報を処理して新たなパターンを抽出し、起業家が有望なスタートアップの機会を特定するのを支援します。
官能性
- ユーザープロンプト起業家は、特定の起業分野や関心のある技術にエントリーして研究を行うことができる。
- ニュース・コレクションDuckDuckGoを通じて、最近の新興企業に関するニュース、資金調達の最新情報、市場分析などを収集しています。
- 抽象生成Newspaper4kを使って、検証された情報を簡潔にまとめましょう。
- トレンド分析新興企業の資金調達、技術導入、市場機会の動向を体系的に把握し、関連記事を分析。
- ストリームリット・インターフェイスこのアプリケーションは、Streamlitによって構築されたユーザーフレンドリーなインターフェイスを使用しています。
前提条件
作業を始める前に、以下のことをご確認ください:
- コンピュータにPythonをインストールする(3.7以上を推奨)
- 所有 Anthropic APIキー
- Pythonプログラミングの基本的な理解
- 好きなコードエディタを使う(PythonをよくサポートしているVS CodeかPyCharmをお勧めします)
ステップ・バイ・ステップ・ガイド
開発環境のセットアップ
まず、開発環境を整えよう:
- GitHubリポジトリをクローンする:
git clone https://github.com/Shubhamsaboo/awesome-llm-apps.git
- 入る AI_スタートアップ_トレンド分析エージェント フォルダー
cd ai_agent_tutorials/ai_startup_trend_analysis_agent
- 取り付け 必要な依存関係::
pip install -r requirements.txt
- APIキーの取得: 登録 アンソロピック アカウントを作成し、APIキーを取得してください。
ストリームリット・アプリケーションの作成
アプリケーションを作成しよう。新規ファイル startup_trends_agent.py
そして以下のコードを追加する:
- 必要なライブラリをインポートする:
- ウェブアプリケーション構築用ストリームリット
- AIエージェントとツールの構築のために フィダータ
- 大規模言語モデリング クロード・ソネット3.5
- 検索のDuckDuckGo
- Newspaper4kによる記事処理
import streamlit as st
from phi.agent import Agent
from phi.tools.duckduckgo import DuckDuckGo
from phi.model.anthropic import Claude
from phi.tools.newspaper4k import Newspaper4k
from phi.tools import Tool
import logging
- Streamlitアプリケーションを作成する:
- シンプルで明快なインターフェース
- 安全なAPIキー入力
- テーマ別分析
# 设置 Streamlit 应用
st.title("AI 创业趋势分析助手 📈")
st.caption("只需点击一下,获取基于您感兴趣主题的最新趋势分析和创业机会。")
topic = st.text_input("输入您感兴趣的创业领域:")
anthropic_api_key = st.sidebar.text_input("输入 Anthropic API 密钥", type="password")
if st.button("生成分析"):
if not anthropic_api_key:
st.warning("请输入必需的 API 密钥。")
else:
with st.spinner("正在处理您的请求..."):
try:
# 初始化 Anthropic 模型
anthropic_model = Claude(id ="claude-3-5-sonnet-20240620",api_key=anthropic_api_key)
- ニュース収集エージェントを作る:
- DuckDuckGoで検索
- 最新記事集
- 集中力を維持するため、結果は5件まで
# 定义新闻收集代理 - DuckDuckGo 搜索工具使代理能够从网上搜索信息。
search_tool = DuckDuckGo(search=True, news=True, fixed_max_results=5)
news_collector = Agent(
name="新闻收集器",
role="收集关于指定主题的最新新闻文章",
tools=[search_tool],
model=anthropic_model,
instructions=["收集该主题的最新文章"],
show_tool_calls=True,
markdown=True,
)
- 要約生成エージェントを追加する:
- 記事内容の加工
- 簡潔な要約の作成
- 重要情報の保持
# 定义摘要生成代理
news_tool = Newspaper4k(read_article=True, include_summary=True)
summary_writer = Agent(
name="摘要生成器",
role="为收集到的新闻文章生成摘要",
tools=[news_tool],
model=anthropic_model,
instructions=["提供文章的简洁摘要"],
show_tool_calls=True,
markdown=True,
)
- トレンド分析エージェントを作成する:
- 要約の内容を分析する
- トレンドの把握
- 起業の機会を活用する
# 定义趋势分析代理
trend_analyzer = Agent(
name="趋势分析器",
role="从摘要中分析趋势",
model=anthropic_model,
instructions=["识别新兴趋势和潜在创业机会"],
show_tool_calls=True,
markdown=True,
)
- エージェントをチームにまとめる:
- ワークフローの調整
- データフローの確保
- 文脈の一貫性を保つ
# Phidata 的多代理团队设置:
agent_team = Agent(
agents=[news_collector, summary_writer, trend_analyzer],
instructions=[
"首先,使用 DuckDuckGo 搜索与用户指定主题相关的最新新闻文章。",
"然后,将收集到的文章链接提供给摘要生成器。",
"重要提示:必须确保摘要生成器接收到所有文章链接以供阅读。",
"接下来,摘要生成器将阅读文章并为每篇文章准备简洁的摘要。",
"总结后,摘要将被传递给趋势分析器。",
"最后,趋势分析器将根据提供的摘要,识别新兴趋势和潜在创业机会,并以详细报告形式提供,让任何年轻企业家都能轻松获取巨大价值。"
],
show_tool_calls=True,
markdown=True,
)
- 分析ワークフローの実行
- 逐次処理
- データフローの確保
- ショーの結果
# 步骤 1:收集新闻
news_response = news_collector.run(f"收集关于 {topic} 的最新新闻")
articles = news_response.content
# 步骤 2:总结文章
summary_response = summary_writer.run(f"总结以下文章:\n{articles}")
summaries = summary_response.content
# 步骤 3:分析趋势
trend_response = trend_analyzer.run(f"从以下摘要中分析趋势:\n{summaries}")
analysis = trend_response.content
# 显示结果 - 如果需要进一步使用,可以取消注释以下两行以获取摘要!
# st.subheader("新闻摘要")
# # st.write(summaries)
st.subheader("趋势分析和潜在创业机会")
st.write(analysis)
except Exception as e:
st.error(f"发生错误:{e}")
else:
st.info("输入主题和 API 密钥,然后点击“生成分析”以开始。")
アプリケーションの実行
コードの準備ができたら、アプリケーションを起動する。
- ターミナルでプロジェクトフォルダーに移動し、以下のコマンドを実行する:
streamlit run startup_trends_agent.py
- StreamlitはローカルのURL(通常はhttp://localhost:8501)を提供する。ブラウザでそのURLを開き、APIキーを入力し、探検したいエリアを選択すれば、AIエージェントがあなたの代わりに調査してくれる。
実用アプリケーションのデモンストレーション
概要
50行以下のコードで、AIエージェントは起業家にトレンド分析のための実用的な洞察を提供する準備が整います。
さらに機能性を高めるために、以下の点を考慮することができる:
- ビジュアライゼーショントレンドはグラフ化され、より明確で実用的なモデルとなっている。
- データのフィルタリング地理的な場所、資金規模、技術タイプに基づいてユーザーが洞察を絞り込めるよう、高度なフィルターを追加。
- コーディネーションインサイトをより深く活用するために、アプリ内での共有やチームでのディスカッション機能を有効にする。
よりスマートなAIソリューションを構築するために、絶えず実験と改善を繰り返す!