はじめに
Julep AIは、過去のやりとりを記憶し、複雑なマルチステップタスクを実行するAIインテリジェンスを作成・管理するためのプラットフォームです。Julep AIは、長期記憶とマルチステッププロセス管理機能を提供し、外部ツールやAPIとの統合をサポートしているため、複雑なシナリオにも対応できます。ユーザーは簡単なYAMLファイルを記述して、タスクの個々のステップ、意思決定ポイント、ループ、並列処理などを定義し、クラウド上でこれらのタスクの実行を自動化できる。
Julep AIは、AIインテリジェンスとマルチステップタスクを管理するための新しいドメイン固有言語(DSL)とサーバーを導入しています。このDSLにより、ユーザーは従来のコードを大量に記述することなく、複雑なワークフローをより直感的に記述し、管理することができる。Julep AIのクラウドプラットフォームは、これらのタスクを実行し、信頼性と効率性を確保する。
機能一覧
- 永続的AIエージェントインテリゲンチアは、長期的な交流を支える文脈や情報を記憶することができる。
- ステートフルセッションパーソナライズされた応答を提供するために過去の相互作用を追跡する。
- マルチステップタスクループと決定を通じて複雑な多段階プロセスを構築する。
- タスク管理長時間実行されるタスクを処理し、タスクが正常に完了するようにする。
- 内蔵ツールとAPI統合インテリジェンスの機能を拡張するために、内蔵ツールや外部APIの使用をサポートします。
- 自己治癒失敗したステップを自動的に再試行し、メッセージを再送信することで、タスクがスムーズに実行されるようにします。
- RAG(検索機能拡張ジェネレーション)ドキュメントストアを使用して、独自のデータを検索して使用するシステムを構築します。
ヘルプの使用
設置プロセス
- アカウント登録ジュレップAIのウェブサイトにアクセスし、「登録」ボタンをクリックし、必要事項を入力して登録を完了します。
- APIキーの取得ログイン後、ユーザーパネルでAPIキー生成オプションを見つけ、APIキーを生成して保存します。
- SDKダウンロード: プラットフォームの要件に応じて適切なSDK(Python、Node.jsなど)をダウンロードし、ドキュメントに従ってインストールします。
使用ガイドライン
インテリジェンスの創造
- インテリジェンスの定義コントロールパネルで「インテリジェンスの作成」をクリックし、インテリジェンスの名前と説明を入力します。
- 構成モデル適切なAIモデル(GPT-4など)を選択し、デフォルトのパラメータ(温度、トークンの最大数など)を設定します。
- ツール追加ウェブ検索やAPIコールなど、インテリジェンスに必要なツールを追加する。
多段階プロセスの定義
- YAMLファイルを書くコントロール・パネルで、決定木、ループ、並列実行を定義するためにYAMLを使ってマルチステップ・プロセスを書く。
- ファイルのアップロード書いたYAMLファイルをプラットフォームにアップロードしてテストする。
- 配備プロセステストに合格したら、"Deploy "ボタンをクリックしてプロセスをオンラインにする。
ラピッドプロトタイピング
- 新しいプロジェクトを作成するコントロールパネルで "New Project "をクリックし、プロジェクト名と説明を入力します。
- 機能モジュールの追加必要な機能モジュール(RAG、ステータス管理など)を選択し、追加します。
- テストと反復プラットフォーム上でのテスト、リアルタイムでの機能モジュールの調整と最適化。
生産レベルの準備
- 構成インフラコントロールパネルで、オートスケーリング、ロードバランシングなどのインフラオプションを設定する。
- エラー処理の設定タスクが失敗した場合に自動的に再試行されるように、エラー処理メカニズムを定義する。
- オンライン・プロジェクト設定が完了したら、"Go Live "ボタンをクリックしてプロジェクトを本番稼動させます。
モジュール設計
- モジュール選択コントロールパネルで、目的のモジュール(外部API接続、LLMスイッチングなど)をブラウズして選択します。
- ドラッグ&ドロップ統合ドラッグ&ドロップでモジュールをプロジェクトに統合。
- テストと最適化最適化とチューニングのためのモジュール機能のリアルタイムテスト。
無制限の拡張
- 拡張オプションの設定コントロールパネルで、オートスケーリングとロードバランシングオプションを設定します。
- パフォーマンスのモニタリングプラットフォームが提供する監視ツールを使用して、システムのパフォーマンスとユーザーの同時実行をリアルタイムで監視します。
- コンフィギュレーションの調整モニタリングデータをもとに、拡張・負荷分散構成を調整し、システムの安定稼働を実現します。
将来性
- 新しいモデルを追加するコントロールパネルで "Add New Model "をクリックし、新しいAIモデルを選択・設定します。
- 新しいツールの統合プラットフォームが提供する新しいツールを閲覧し、選択し、既存のプロジェクトに統合します。
- テストと配備新しいモデルやツールをテストして互換性と安定性を確保し、本番配備を行う。
サンプルタスク
ジュレップは、単純なキュー・レスポンス・モデル以上のAIユースケースを必要とするアプリケーションに適している。
簡単な例
次のような行動ができる研究用AIエージェントを想像してみてほしい:
- トピックを選択
- このトピックに関する30件の検索クエリ
- ウェブ同時検索
- 要約結果
- Discordに概要を送る
Julepでは、これは独立したタスクとなり、80行のコード、そして完全なホスティングで実行されます。すべてのステップはJulep独自のサーバーで実行されるので、あなたは何もする必要がありません。
これは妥当な例だ:
name: リサーチエージェント
# オプション: タスクの入力スキーマを定義する
input_schema.
タイプ: オブジェクト
input_schema: type: object
トピック
タイプ: 文字列
説明: 調査する主なトピック
num_questions
型: 整数
説明: 生成する検索クエリの数
# エージェントが使用できるツールの定義
tools: name: web_search
- 名前: web_search
タイプ: 統合
統合: web_search
名前: web_search タイプ: 統合
セットアップ
api_key: 。
- name: discord_webhook
タイプ: api_call
api_call.
url: https://discord.com/api/webhooks//
メソッド: POST
メソッド: POST
コンテントタイプ: application/json
# 特殊変数。
# - inputs: タスクへの入力にアクセスするため
# - outputs: 前のステップの出力にアクセスするため
# - _: 前のステップの出力にアクセスするため
# メインの定義 ワークフロー
メイン
- プロンプト
- 役割:システム
content: >-
あなたはリサーチアシスタントです。
トピックに関連する多様な検索クエリ{{inputs[0].num_questions|default(30, true)}}を生成します。
{入力[0].トピック}}。
1行に1つのクエリを書く。
1行に1つのクエリを書く。
# 簡単な python 式を使って検索クエリを評価します。
- を評価します。
search_queries: "_.split(NEWLINE)"
# 各クエリに対して並列にウェブ検索を実行します。
- over: "_.search_queries"
マップを作成します。
ツール: web_search
引数を指定します。
map: tool: web_search 引数: "_.search_queries" map: tool: web_search
並列度:5
# ウェブ検索の結果を収集する
- ウェブ検索の結果を収集する
search_results: _
# 結果をまとめる
- を促す。
- 役割: システム
content: >
あなたは研究要約者です。 トピック{{inputs[0].topic}}に関する以下の研究結果の包括的な要約を作成してください。
要約はよく構成され、有益で、主要な発見や洞察を強調する必要があります。 要点を簡潔にまとめてください。
要約の長さは150語未満とする。
要約の長さは150語未満とする。
{{_.search_results}}。
検索結果です: {{_.search_results}}
以下は検索結果です: {{_.search_results}} unwrap: true
モデル: gpt-4o-mini
- evaluate: {{_.search_results}} unwrap: true
discord_message: |-
f'''
**inputs[0].topic}**の研究サマリー
{_}
'''
# サマリーをDiscordに送る
- ツール: discord_webhook
引数: discord_webhook
_.discord_message[:2000] # Discordには2000文字の制限があります。
content: _.discord_message[:2000] # Discordには2000文字の制限があります。
この例では、Julepが自動的に並列実行を管理し、失敗したステップを再試行し、APIリクエストを再送し、完了まで確実にタスクを実行し続けます。
出力結果例
これは30秒で実行され、以下の出力を返す:
人工知能研究の概要
人工知能(AI)研究成果の概要
簡単
近年、人工知能(AI)の分野では、機械が環境を認識し、データから学習し、意思決定を行うことを可能にする手法や技術の開発により、著しい進歩が見られる。この要約では、AI関連の様々な研究成果から得られた洞察に焦点を当てる。主な調査結果
- 人工知能の定義と範囲 ::
人工知能は、学習、推論、問題解決など、人間のような知性を必要とするタスクを実行できるシステムを作ることに焦点を当てたコンピュータサイエンスの一分野と定義されている(ウィキペディア)。機械学習、自然言語処理、ロボット工学、コンピュータビジョンなど、さまざまな下位分野を含む。- 影響と応用 ::
AI技術は、効率性と生産性を向上させるために、数多くの分野に組み込まれている。自動運転車や医療診断から、顧客サービスの自動化や金融予測まで、アプリケーションは多岐にわたる(OpenAI)。誰もがAIを使えるようにするというグーグルのコミットメントは、プラットフォーム全体のユーザー体験を向上させることで、日常生活を大幅に改善する可能性を浮き彫りにしている(グーグルAI)。- 倫理的配慮 ::
プライバシー、偏見、意思決定過程における責任への懸念など、AIの倫理的意味合いについて議論が続いている。AI技術の安全で責任ある利用を保証する枠組み(OpenAI)の必要性が強調された。- 学習メカニズム ::
AIシステムは、教師あり学習、教師なし学習、強化学習など、さまざまな学習メカニズムを利用する。これらの手法により、AIは過去の経験やデータから学習することでパフォーマンスを向上させることができる(ウィキペディア)。教師あり学習と教師なし学習の違いは非常に重要で、教師あり学習はラベル付けされたデータに依存するのに対し、教師なし学習はあらかじめ定義されたラベル(教師なし)なしでパターンを認識する。- 今後の方向性 ::
AIの今後の発展は、AIシステムが適切な判断と行動を提供できるように、その解釈可能性と透明性を高めることに焦点が当てられると予想されている(OpenAI)。また、AIシステムをより利用しやすく、ユーザーフレンドリーなものにし、さまざまな人々や業界への普及を促す取り組みも行われている(Google AI)。評決を下す
人工知能はさまざまな領域で変革をもたらし、産業を再形成し、生活の質を向上させることが期待されている。しかし、人工知能の能力が拡大するにつれ、それに伴う倫理的・社会的な影響に対処することが重要になってくる。技術者、倫理学者、政策立案者の間の継続的な研究と協力は、AIの将来の展望をナビゲートするために不可欠である。
Python導入プロセス
Julepを使い始めるには、pipを使ってインストールする:
pip install julep
こちらからAPIキーを取得してください。
### ステップ 0: セットアップ インポートタイム インポートyaml from julep import Julep #またはAsyncJulep クライアント = Julep(api_key="your_julep_api_key") ### ステップ1:エージェントの作成 エージェント = client.agents.create( name="Storytelling Agent"、 name="Storytelling Agent", model="claude-3.5-sonnet"、 about="You are a creative storyteller that crafts engaging stories on the myriad topics.",) ) ### ステップ2:ストーリーを生成するタスクを作成します。 ストーリー と漫画 task_yaml = "" name: ストーリーテラー 説明: アイデアに基づいたストーリーを作る。 name: リサーチ_ウィキペディア - 名前: research_wikipedia タイプ: 統合 統合: research_wikipedia 提供者: ウィキペディア メソッド: 検索 メソッド: 検索 # ステップ1:プロットのアイデアを出す - プロンプト - 役割:システム content: あなたは{{agent.name}}です。 {agent.about}}です。 - 役割: ユーザー 内容: > アイデア'{{_.idea}}'に基づいて、5つのプロットアイデアのリストを生成してください。 クレイジーで、可能な限り創造的であってください。 ``内に長い文字列のリストとして出力を返してください。yamlタグは返信の最後にあります。 展開: true - 評価 プロットのアイデア: load_yaml (_.split('``yaml')[1].split('```')[0].strip())) # ステップ2:プロットのアイデアから研究分野を抽出する - 素早く - 役割:システム 内容:あなたは{{agent.name}}です。{{agent.about}} です。 - 役割:ユーザー 内容: > 以下はストーリーのアイデアです: {%は_.plot_ideas %}内のアイデアを示します。 - {{idea}} {%終了%}。 ストーリーを展開するためには、プロットのアイデアを研究する必要があります。 何を調べればいいのでしょうか?あなたが面白いと思うプロットのアイデアに関するWikipediaの検索クエリを書き出してください。 その出力をyamlリストとして返しなさい。 unwrap: true 設定 モデル: gpt-4o-mini 温度: 0.7 - を評価する。 research_queries: load_yaml(_.split('``yaml')[1].split('```')[0].strip()) # ステップ3:各プロットのアイデアを調査する - foreach: in: _.research_queries[1][0].strip() in: _.research_queries do: in: _.research_queries ツール: research_wikipedia research_queries do: ツール: research_wikipedia _.research_queries - を評価します。 wikipedia_results: 'NEWLINE.join([f"- {doc.metadata.title}: {doc.metadata.summary}" for item in _ for doc in item.documents])'. # ステップ4:考え、熟考する - prompt: {doc.metadata.title}: {doc.metadata.summary}. - 役割:システム content: あなたは{{agent.name}}です。 {agent.about}}です。 - 役割: ユーザー content: ストーリーを書く前に、じっくり考えましょう。 {% for idea in outputs[1].plot_ideas %}. - アイデア}} {{idea % endfor %} {%}。 プロットのアイデアをウィキペディアで調べた結果がこちらです。 {{_.wikipedia_results}} です。 プロットのアイデアを批判的に考えてください。 プロットのアイデアとウィキペディアの結果を組み合わせて、ストーリーの詳細なプロットを作成してください。 メモや考えをすべて書き留めてください。 yamlタグはレスポンスの末尾にあります。yamlオブジェクトは以下の構造を持っている必要があります: yaml タイトル: "" 文字。 - name: "" 概要: "" あらすじ: "" シーン - タイトル: "" 説明: "" 登場人物 - 名前: "" 役割: "" プロットライン - "" ``` yamlが有効であること、roleとsceneが空でないことを確認してください。また、セミコロンやその他のyamlの書き方にも注意してください。 expand: true - 評価 プロット: "load_yaml (_.split('``` yaml')[1].split('```')[0].strip())" """ タスク = Client.タスク作成 ( agent_id = agent.id. **yaml.safe_load (task_yaml) ) ### ステップ 3: タスクの実行 Execute = Client .タスクを実行する。作成 ( タスクID = タスクID. 入力 = {"idea": "飛ぶことを学ぶ猫"}. ) # 🎉 ストーリーとマンガのコマ生成を見る while (result := client.executions.get(execution.id)).status not in ['success', 'failure']: Print (result.status, result.出力) time.スリープ(1) # 📦 実行完了後に結果を取得する if result.status == "success": Print (result.出力) その他 例外を発生させる (result.Error)エラー)