Visual AgentのNotebook上での呼び出しについて

Partner, Dataiku DSS Core Designer, Registered Posts: 39 Partner

フロー上で作成したVisual AgentをNotebook上でpythonで呼び出して処理の結果をnotebook上で出力させることは可能でしょうか?

例えば、dataset lookupのツールを使えるエージェントを構築し、notebookで作成したエージェントにクエリを渡し結果を出力するというイメージです。

Best Answer

  • Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 180 Dataiker
    edited April 3 Answer ✓

    @Koji さん、投稿していただいたメッセージに気づかず失礼しました🙇‍♂️(なぜか、頂いたメッセージがディスカッションのリストに表示されず、通知も届かず・・)。以下回答させていただきます。

    はい、Visual AgentをPythonコードから呼び出すことは可能です。エージェント自体は通常の https://developer.dataiku.com/latest/api-reference/python/llm-mesh.html#llm-mesh オブジェクトとして取得できるのですが、エージェントのIDを事前に確認する必要があります。

    以下のような実装で、エージェントを呼び出すことができましたので、参考までに共有いたします。

    import dataiku
    
    #始めに利用したいビジュアルエージェントのIDを取得しておく必要あり
    agent_name = "ローン情報問合せ エージェント"
    project_id = "FINAIADVISOR"
    agent_list = dataiku.api_client().get_project(project_id).list_llms(purpose='GENERIC_COMPLETION', as_type='listitems')
    
    # 追記: 'friendlyName' というのは、リストに入っているディクショナリーのキーであるため、そのままの値で利用してください!
    agent_model = [model for model in agent_list if model['friendlyName'].endswith(agent_name)]
    agent_id = agent_model[0].id
    
    #あとは、通常のLLM Mesh オブジェクトとして利用可能
    v_agent = dataiku.api_client().get_project(project_id).get_llm(agent_id)
    response = v_agent.new_completion().with_message("お客様ID:79478のローン申請について、承認状況を教えてください?", role='user').execute()
    print(response.text)

Answers

  • Partner, Dataiku DSS Core Designer, Registered Posts: 39 Partner

    @Tsuyoshi

    ありがとうございます。追加で質問なのですが。agent_name,model["friendlyName"]はフロー上のどの部分にあたりますでしょうか?

    get_project()の引数はproject_idと認識しています。

  • Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 180 Dataiker
    edited April 3

    @Koji agent_name(ビジュアルエージェントの名前)は、フロー上では添付画像1のように表示されます。

    フロー上ではなくても、添付画像2のように「Models & Agents」メニューからもご確認いただけます。

    また、"friendlyName" は返ってきたリストに入っているディクショナリーのキーですので、そのままの値でご利用ください。「get_project()の引数はproject_id」というのはご認識の通りです。

    上記、ご質問をいただいた点がわかりやすいように、元のコードを修正しておきました。よろしくお願いいたします。

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.