うさラボ

お勉強と備忘録

python

Ansibleにプルリクチャレンジをして得た知見

この記事はAnsible Advent Calendar 2025 16日目の記事です。 qiita.com はじめに この記事は日頃Ansibleを利用しているしがない男がプルリクエストというちょっと高いハードルに挑戦した時(挑戦中)の記録です。 同じように「いつかOSSに貢献してみたい」と…

【Swarm】Swarm入門してみた

概要 2024年10月11日に、OpenAIがSwarmリポジトリをGitHubで公開しました。 github.com Swarmは、複数のエージェントが協力して、問題を解決するフレームワークのようです。 リポジトリには「実験的」「教育的」との説明があるため、今後の展開に注目が必要…

【ell-ai】ell-aiでツール実行を試す【scrapli】

概要 前回紹介したell-aiでツールの実行を試してみます。 usage-automate.hatenablog.com Scrapliを使いSSH接続しコマンドを取得するをツールを作って実行させてみます。 Scrapliは紹介記事も書いてますので、今回は内容についての説明は割愛します usage-au…

【ell-ai】LLMフレームワークell-aiを試す

概要 Xを徘徊していたらとあるポストを見つけました good job everyone good job@LangChainAI must die. pip install ell-ai pic.twitter.com/0ExxDudwAf— william (@wgussml) 2024年9月18日 Langchainより簡単にLLMを利用できるell-aiというものがあるよう…

【Langchain】Cohere React Agentを使いGraphQLでNetBoxから情報取得をする

概要 前回、LangchainでNetBoxからGraphQLで情報取得するToolの動かしてみました。 usage-automate.hatenablog.com 今回は、Agentから利用してみます。 Agentについてはまだ理解が浅く、、勘違いや誤った利用方法をしてるかもしれませんがとりあえず動かして…

【Langchain】BaseGraphQLToolを使ってNetboxから情報取得をする

概要 前回、GraphQLを使ってNetBoxから情報取得を試しました。 今回は、LnagchainのToolであるBaseGraphQLToolを使って同じことを試してみます。 usage-automate.hatenablog.com スクリプト 前回利用したクエリをそのまま利用します。 LangchainのToolはAgen…

GraphQLを使ってNetBoxからデバイス情報を取得する

概要 NetBoxはREST APIだけではなくGraphQLもサポートしています。 今回は、GraphQLでクエリを投げて情報取得をしてみます. 環境 Pythonのライブラリ類をインストールします uv init netbox_graphql cd netbox_graphql/ uv add gql[all] uv add pydantic 実…

【Langchain】同時に複数のモデルに質問する(RunnableParallel)

概要 LangchainのRunnableParallelを利用し、複数のモデルに同時に同じ質問をさせてみます。 使うLLMモデル 1. GPT3.5 2. Command R+ 3. Groq + Llama3 70b 4. Groq + Gemma-7b 以下画像のように1つの質問に対して4つの回答が生成されます。 コード import s…

【Langchain】エージェント経由でNetmikoを使ってネットワーク機器からログを取得する

概要 LLM(大規模言語モデル)を利用したアプリ開発のフレームワークであるLangchainを使ってネットワーク機器からログを取得してみます www.langchain.com (2024/09/13) ライブラリを最新のものに修正 (2024/09/17) Langchain v0.3.0に対応 環境 AlmaLinux 9.…

AWXで作成したテキストファイルをZipに固めて手元に持ってきたい

Ansible Advent Calendar 2023の7日目の記事です。 qiita.com やりたいこと AWXで何か処理を実行した際、ログなどをテキストとして保存したいときがあります。(あります) 基本は、debugモジュールなどで実行結果に表示させればログは残せます、機器がたくさ…

Ansibleでリスト内辞書のデータをIPアドレス順にソートしたい

Ansible Advent Calendar 2023の4日目の記事です。 qiita.com 概要 リスト内辞書に定義されたIPアドレスの情報をKeyにしてソートしたかったのでやり方を考えてみました。 例えば下記のようなデータです destination: - ip: 10.0.1.1 name: 宛先2 - ip: 2.0.1…

Ansibleのカスタムフィルターを作る

この記事はエーピーコミュニケーションズ Advent Calendar 2022の16日目の記事です qiita.com やりたいこと Xmasといったらサンタですね。 大人になってからというものサンタにあっていません。 豊富なモジュールやフィルタがあるAnsibleでも サンタに会える…

え!!AnsibleでRouteのdiffを!?できらぁ!

2021Ansible Advent Calendar21日目の記事です qiita.com RoutingのDiffを取りたい ansibleでNW機器の設定変更を行った前後のルートの差分を見たい。こんな時どうしていますか? 取得した結果をシンプルに比較してしまうと、ルートのアップタイムが差分とし…

NW機器SSH/Telnet接続PythonライブラリのScrapliを試してみた

エーピーコミュニケーションズ Advent Calendar 2021 11日目の記事です qiita.com Scrapliとは ネットワーク機器へTelnetまたはSSHの接続するためのPythonライブラリです。 特徴としては、 簡単に始められる 速い 開発が簡単 拡張性がある(プラグ可能) トラ…

TTP(Text Template Paser)入門

やりたかったこと 前回、ntc-templateの自作に入門したので今回は同じ内容を別のパーサーで試してみます。 やることはshow ip nat translationsのパースです。 公式ドキュメント ttp.readthedocs.io Github github.com 参考にさせていただいたブログ zaki-hm…

考えるのが嫌なのでIPアドレス計算ツール作ってみました

192.168.99.43/28のネットワークアドレスってなんだっけ IPアドレスをパッとみたときにネットワークアドレスとか利用IPなどを頭の中で計算することってありませんか? 私はよくやっていて、その度に念のためググって確認しようってなっていました。 そこでPy…