ブックマーク / zenn.dev/pharmax (11)

  • LangGraphでグラフから別のグラフを呼び出す

    この記事の概要 こんにちは。PharmaX でエンジニアをしている諸岡(@hakoten)です。 この記事では、大規模言語モデル(LLM)を活用したアプリケーションの開発を支援するフレームワークであるLangChain内にあるツールの一つ、LangGraphを使ってグラフからグラフを呼び出すネスト構造を作る方法についてご紹介します。 LangGraphの基的な使い方については、以下の記事もぜひご覧ください。 環境 この記事執筆時点では、以下のバージョンで実施しています。 とくにLangChain周りは非常に開発速度が早いため、現在の最新バージョンを合わせてご確認ください langgraph: 0.1.5 Python: 3.10.12 ネスト構造のグラフ(Subgraph) LangGraphでは、以下の図に示すように、特定のグラフから別のグラフを呼び出すことができます。(黄色い枠で囲ま

    LangGraphでグラフから別のグラフを呼び出す
    yug1224
    yug1224 2024/07/10
  • LangGraphの基本的な使い方

    この記事の概要 こんにちは。PharmaX でエンジニアをしている諸岡(@hakoten)です。 この記事では、大規模言語モデル(LLM)を活用したアプリケーションの開発を支援するフレームワークであるLangChain内にあるツールチェインの一つ、LangGraphについてご紹介します。 LangChainがどのようなものかについて知りたい方は、ぜひ一読していただけると幸いです。 ※ LangGraphは、LangChainとシームレスに連携できるライブラリですが、この記事ではLangGraph自体の入門内容に焦点を当てており、LangChainについては詳しく触れませんので、ご了承ください。 LangGraphとは LangGraphは、LangChainのツール群に含まれる一つで、各LLMエージェントのステップなどをグラフ化して状態管理を行うためのツールです。 LangGraphは、ス

    LangGraphの基本的な使い方
    yug1224
    yug1224 2024/07/04
  • Vysorを導入してスマホ画面の共有ができるようになったらスプリントレビューが捗るにようになった話

    こんにちは、加藤(@tomo_k09)です。 PharmaXではバックエンド・フロントエンド開発やスクラムマスターなどをやっています。 今回はスプリントレビューにVysorというスマホ画面をミラーリングするためのツールを導入したら、スプリントレビューをより円滑に行えるようになったので、そのレポートをシェアできればと思います。 Vysorを導入することになった背景 PharmaXでは、スマートフォンで薬剤師からお薬の説明を受けられ、ご自宅や職場までお薬を配送するというサービスを提供しています。 このようなサービスの特性上、開発される機能はスマホから使われるケースがとても多いです。そのためスプリントレビューでは、PCの画面共有をして開発した機能のレビューを受けるのではなく、各メンバーのスマホで実際にいじってレビューを受けるという方法をとっていました。 しかしこれだといくつか問題がありました。例

    Vysorを導入してスマホ画面の共有ができるようになったらスプリントレビューが捗るにようになった話
    yug1224
    yug1224 2024/04/06
  • 大規模なロジックをリファクタリングしてみての学んだこと3つ

    こんにちは、PharmaXでエンジニアインターンをしている川端です。PharmaXでは主にフロントエンドの開発を担当しています。 この記事の概要 この記事では、大規模なロジックをリファクタリングして学んだことを3つ紹介します。 記事の流れは以下のような流れになっています。 リファクタリング対象の機能の紹介 リファクタリングのbefore・after リファクタリングを通して学んだこと どんな機能を作っているのか PharmaXでは、オンラインでお薬の受け取りができるサービスを開発しています。 そのうちの機能の一つとして、「問診」と呼ばれる機能があります。 「問診」とは、以下のような項目を事前に聞いておくことでより安全に、安心して服薬をすることができるものです。 問診で聞く項目の例: これまでにお薬を服用して副作用があったか べ物や花粉、ハウスダストなどのアレルギー情報 体質(例:下痢、

    大規模なロジックをリファクタリングしてみての学んだこと3つ
    yug1224
    yug1224 2024/03/30
  • Github Actionsを活用してrelaseブランチ作成、GitHubリリースとタグ作成を自動化する

    この記事の概要 こんにちは。PharmaX でエンジニアをしている諸岡(@hakoten)です。 記事では、PharmaXのYOJO事業部においてリリース時に活用しているGitHub Actionsの運用方法について紹介します。 YOJO事業部では、リリース時のフローとしてreleaseブランチの作成を行います。これは、いわゆるgit-flowの運用に則ったものです。 リリース作業をできるだけ簡素化し、リリースサイクルを迅速化するために、ブランチの作成やマージ後のタグ作成処理をGitHub Actionsを通じて自動化しています。この記事では、その具体的なフローについてご紹介します。 リリースフローの簡単な説明 まず、YOJO事業部における現在のリリースフローについて簡単にご説明します。現在はgit-flowを基にブランチコントロールをしており、リリースのタイミングで最初に行うのはre

    Github Actionsを活用してrelaseブランチ作成、GitHubリリースとタグ作成を自動化する
    yug1224
    yug1224 2024/03/13
  • コードレビューで個人的に意識していること

    こんにちは。 PharmaX でエンジニアをしている諸岡(@hakoten)です。 この記事の概要 この記事では、私が普段コードレビューで意識していることを紹介しています。 コードレビューのルールというより、個人としてのルーティンや意識していることについて書いています。 ※ チーム自体の「レビュールール」は別で存在していますので、ルールに沿った上でのルーティーンや心構えという認識で読んでいただければと思います! レビュールールの運用やルール自体については触れていませんので、ご了承ください。 自身のキャリア どのような経歴のエンジニアからの話なのかを知っていただくと、内容を想像しやすいかと思いますので、私のエンジニアとしての経歴を簡単に紹介します。 ソフトウェアエンジニア 14年 主な領域、モバイル、ウェブ、APIサーバーなどのアプリケーションメインのエンジニア 機能リード、テックリードあた

    コードレビューで個人的に意識していること
    yug1224
    yug1224 2024/02/15
  • 負荷テストツール「k6」入門

    こんにちは。 PharmaX でエンジニアをしている諸岡(@hakoten)です。 この記事の概要 API負荷テストツールにGrafana Labs社が開発している「k6」というツールがあります。 k6はオープンソースのCLIツールですが、 「Grafana Cloud k6」というクラウドベースSaaSツールも提供されている便利なツールです。 ローカルのk6は、負荷テストの時に使ったことはあったのですが、真面目に負荷テストの設計をするにあたり、ちゃんと理解したかったため、改めて基から調べてみました。k6の入門記事としてお役に立てれば嬉しいです。 インストール Macでは、k6を「Homebrew」でインストールすることができます。

    負荷テストツール「k6」入門
    yug1224
    yug1224 2024/02/09
  • Firestoreの複数データベースを使って、Firebaseのローカル開発環境を構築・運用している話

    こんにちは。 PharmaX でエンジニアをしている諸岡(@hakoten)です。 この記事の概要 2023年の夏頃から、Firebaseの1プロジェクトに対して、複数のFirestoreデータベースを作成することができるようになりました。 この記事では、Firestoreの複数データベースを使った開発環境の構築方法の説明および弊社アプリケーションでの運用について、紹介します。 弊社アプリケーションの説明 弊社アプリケーションでは、Firebaseを採用しており、ユーザーの管理には、FirebaseAuth + Identity Platformによるマルチテナンシーを採用しています。またチャットなど一部のデータ管理にFirestoreを使用しています。 Firestoreには、該当テナントのユーザーのみアクセスできるようなセキュリティルールが適用されており、マルチテナント前提のシステム構

    Firestoreの複数データベースを使って、Firebaseのローカル開発環境を構築・運用している話
    yug1224
    yug1224 2024/02/02
  • Firestoreのセキュリティルールの運用を紹介します

    こんにちは。 PharmaXでエンジニアをしている諸岡(@hakoten)です。 この記事の概要 PharmaXの薬局アプリケーションでは、患者のチャットなど一部のデータ管理にFirestoreを使用しています。 また、ユーザーの管理には、FirebaseAuth + Identity Platformによるマルチテナンシーを採用しており、各テナントのFirestoreに対して Firestoreセキュリティルールでアクセスコントロールを行っています。 この記事では、薬局アプリケーションで実際に行っているFirestoreセキュリティルール、単体テストの運用方法についてご紹介します。 Firestoreセキュリティルールの基的な書き方 簡単ではありますが、まずはセキュリティルールの基について触れておきます。 セキュリティルールは、基的には次のような独自の構文で定義されます。 s

    Firestoreのセキュリティルールの運用を紹介します
    yug1224
    yug1224 2024/01/26
  • 2023年CTO業としてできたこと、できなかったことを振り返る&2024年の抱負

    こんにちはPharmaX共同創業者の上野(@ueeeenii)です。この記事は、PharmaXのアドベントカレンダーの最終日の記事です。最終日クリスマス当日らしく、ポエム寄りの記事で行きたいと思います!(笑) 2022年は下記の記事でも振り返っているように、2事業部体制になって、組織の成長が追いつききれずにチームが混乱してしまいました。私個人も経営者としての未熟さを痛感した1年でした。 一方、2023年は、PharmaXのエンジニアチームとしては飛躍の年でした。複数事業部を横断するテクノロジー部として改編され、格的な技術投資や広報への投資を開始できた年でした。2024年以降のさらなる飛躍に向けて土台を築くことはできたかと思いますが、一方で至らなかった部分、反省すべきことは多々あります。 今回は、2023年にCTO業としてできたこと、できなかったことを振り返り、2024年の目標や抱負もま

    2023年CTO業としてできたこと、できなかったことを振り返る&2024年の抱負
    yug1224
    yug1224 2024/01/08
  • PharmaXはテックブログをnoteからZennに移行することにしました

    こんにちは。 PharmaXの共同創業者の上野(@ueeeeniki)です。 この記事はPharmaXアドベントカレンダーの20日目の記事です。 まさかのアドベントカレンダーの途中ですが、PharmaXのエンジニアチームは記事を技術系の記事を公開するメディアをnoteからZennに移行することにしました(笑) 今後公開する記事はZennにする&過去にnoteに公開した記事も段階的にZennに移行します。 チーム全体で、Zennに移行するのはPharmaX内でもエンジニアチームだけで、他のチームはnoteで発信活動を続けます。エンジニアチームが発信する記事でも、PharmaXの文化に関係することやイベントのレポートなどはnoteに記載し続ける方針です。 今回はその意思決定に至った背景とZennの利用ガイドラインを公開したいと思います! お世話になったnoteさんを悪く言うつもりはないので、基

    PharmaXはテックブログをnoteからZennに移行することにしました
    yug1224
    yug1224 2023/12/20
  • 1