# 推薦システムの開発に使っているツール

推薦チームでは、モデルの開発・改善や、デプロイを簡単に行うための様々なツールを用意しています。以下はそのなかでも自分たちで内製しているツールの一覧です。

* 機械学習モデルの開発に使うツール
  * [feature store (internal)](https://github.com/wantedly/visit-machine-learning/tree/master/scout_feature_store)
  * [recomx (internal)](https://github.com/wantedly/recomx)
  * [recommendation-evaluator (internal)](https://github.com/wantedly/recommendation-evaluator)
  * [SARA (internal)](https://github.com/wantedly/sara)
  * [servicex-python (internal)](https://github.com/wantedly/servicex-python)
  * [vrec-ranking-comparator (internal)](https://github.com/wantedly/vrec-ranking-comparator)
* 機械学習モデルのリリースに使うツール
  * [visit-recommendation-project (internal)](https://github.com/wantedly/visit-recommendation-project)
  * [visit-recommendation-scout (internal)](https://github.com/wantedly/visit-recommendation-scout)

## 機械学習モデルの開発に使うツール

### feature store

モデルの学習に使う特徴量を定期的に計算し、それをBigQuery上にエクスポートして管理しています。

[参考資料](https://speakerdeck.com/zerebom/wantedlydefeature-storewodao-ru-suruji-nikao-etakoto)

### recomx

モデルの学習パイプラインの中の共通部分をまとめたライブラリです。

### recommendation-evaluator

オンラインテストに出す前のランキングの性能を、過去データを使って低コストでシミュレーションするツールです。カスタマイズして様々な指標を簡単に実装することも可能で、施策でやりたいことを実現できそうなのかを評価することが可能です。

### SARA (Seamless Accessible Resource Allocator)

ローカルのPCに大量のコンピューターリソースが存在するかのような開発体験を提供するツールです。これにより、エンジニアは本番運用時とほとんど同じ環境で開発を行うことができます。

### servicex-python

マイクロサービス共通ライブラリであるservicexのPython実装です。servicexについては [マイクロサービス共通ライブラリ "servicex" の紹介](/fields/the-system/servicex.md) を参照してください。

### vrec-ranking-comparator

変更前後のコードで作成されるランキングで、結果が変わらないことを確認するためのツールです。これはコードのリファクタやライブラリアップデートを行うときなどに、GitHub Actionsのジョブとして利用されます。

## 機械学習モデルのリリースに使うツール

### visit-recommendation-project

Wantedly Visit の募集の集合からクエリに対して適切なフィルタリング・オーダリングを行ってユーザーに返すサービスです。作成したランキングを本番環境にリリースしたり、オンラインテストを行ったりする際に利用します。

### visit-recommendation-scout

Wantedly Visit上にいるユーザの集合からクエリに対して適切なフィルタリング・オーダリングを行ってリクルーターに返すサービスです。作成したランキングを本番環境にリリースしたり、オンラインテストを行ったりする際に利用します。

上記2つについては[WantedlyのPodcast](https://open.spotify.com/episode/3F24EoFf3ImNwijrpU7ggB?si=dh5GxSDbT1a4A5QGA4cuCA)や[発表資料](https://speakerdeck.com/hazumirr/accelerate-improvement-measures-for-recommendations?slide=20)でも触れられています。

## その他の外部ツール

上に挙げた以外にも、推薦チームでは開発時に様々なツールを使用しています。

* Argo workflow
* BigQuery
* Looker
* Repro

## 話を聞きに行きたい

* Slack: [#visit\_recommendation](https://wantedly.slack.com/archives/CA0PVDX98)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wantedly.dev/fields/data/ds_tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
