はじめに
Qwen-Agent は、Qwen 2.0 以降をベースに開発されたインテリジェントエージェントアプリケーションフレームワークで、コマンドフォロー、ツール使用、プランニング、メモリ機能を備えています。Qwen-Agent は、関数コール、コード解釈、RAG (Retrieval Augmentation Generation)、Chrome 拡張などの様々な機能モジュールをサポートし、様々な複雑なアプリケーションシナリオに対応します。
スマートボディのためのブラウザベースの拡張機能「BrowserQwen
機能一覧
- 関数呼び出し関数呼び出しによる複雑なタスクの自動化をサポート。
- コードインタープリターユーザーがコードを理解し、実行できるようにコード解釈機能を提供します。
- RAG(検索機能拡張ジェネレーション)長文クイズのための大規模文書検索・生成に対応。
- クローム拡張機能ユーザーのブラウジング体験を向上させるブラウザ拡張機能を提供。
- カスタマイズ・ツールフレームワークの機能を拡張するために、ユーザーがカスタムツールを追加できるようにします。
ヘルプの使用
設置プロセス
- PyPIから安定版をインストールする::
pip install -U "qwen-agent[gui,rag,code_interpreter,python_executor]"
または、最も依存性の低いバージョンをインストールする:
pip install -U qwen-agent
オプションの依存関係は以下の通り:
[gui]
GradioベースのGUIをサポート[rag]
RAGのサポート[code_interpreter]
コード・インタープリターのサポート[python_executor]
Qwen2.5-Math をサポートするツール統合推論
- 最新の開発バージョンをソースからインストールする::
git clone https://github.com/QwenLM/Qwen-Agent.git cd Qwen-Agent pip install -e ./[gui,rag,code_interpreter,python_executor]
または、最も依存性の低いバージョンをインストールする:
pip install -e ./
機能 操作の流れ
- コンフィギュレーション・モデル・サービス::
- AliCloud DashScope が提供するモデルサービスを使用して、環境変数を設定します。
DASHSCOPE_API_KEY
に DashScope API キーを入力してください。 - あるいは、Qwen2のREADMEの指示に従って、独自のモデルサービスをデプロイして使用してください。
- AliCloud DashScope が提供するモデルサービスを使用して、環境変数を設定します。
- カスタムエージェントの開発::
Qwen-Agent は、以下のような基本コンポーネントを提供します。BaseChatModel
から受け継いだLLMBaseTool
から継承されたような高レベルのコンポーネントと同様に、ツール。Agent
以下は、PDFファイルを読み込んでツールを使用できるエージェントを作成する例です。以下は、PDFファイルを読み込んでツールを使用できるエージェントを作成する例です:from qwen_agent.agents import Assistant from qwen_agent.tools.base import BaseTool, register_tool @register_tool('my_image_gen') class MyImageGen(BaseTool): description = 'AI 绘画服务,输入文本描述,返回基于文本信息绘制的图像 URL。' parameters = [{'name': 'prompt', 'type': 'string', 'description': '所需图像内容的详细描述', 'required': True}] def call(self, params: str, **kwargs) -> str: prompt = json5.loads(params)['prompt'] prompt = urllib.parse.quote(prompt) return json5.dumps({'image_url': f'https://image.pollinations.ai/prompt/{prompt}'}, ensure_ascii=False) llm_cfg = { 'model': 'qwen-max', 'model_server': 'dashscope', 'generate_cfg': {'top_p': 0.8} } tools = ['my_image_gen', 'code_interpreter'] files = ['./examples/resource/doc.pdf'] bot = Assistant(llm=llm_cfg, system_message='You are a helpful assistant.', function_list=tools, files=files) messages = [] while True: query = input('user query: ') messages.append({'role': 'user', 'content': query}) response = bot.run(messages=messages) for res in response: print('bot response:', res) messages.extend(res)
- クイック・スタート・グラディオ・デモ::
from qwen_agent.gui import WebUI WebUI(bot).run()