---
title: Backlog過去チケットを検索しやすくする！Azureさくっと活用
tags:  #lt資料  
author: [t_shinnosuke](https://www.docswell.com/user/shinnosuke)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/VJP6NKZZE8.jpg?width=480
description: 8.28 color is【クラウドLT大会vol.10】フリーテーマ！
published: August 28, 24
canonical: https://www.docswell.com/s/shinnosuke/KWW191-2024-08-28-202100
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/VJP6NKZZE8.jpg)

Azure Table Storageって便利だなあ (仮)
Backlogのデータを検索しやすくする !
Azureのさくっと活用


# Page. 2

![Page Image](https://bcdn.docswell.com/page/2EV3KVWM7Q.jpg)

Xやってます！
(ごくたまにつぶやくよ)


# Page. 3

![Page Image](https://bcdn.docswell.com/page/57G3QLDXJL.jpg)

背景
お客様
社内スタッフ
Aプロジェクト
質問: ×××× と
いう事象が発
生しました。調
査をお願いしま
す。
回答: 調査し
たところ、
××××は××××
で…


# Page. 4

![Page Image](https://bcdn.docswell.com/page/4EQ5KY15JP.jpg)

課題
別のお客様
社内の別スタッフ
Bプロジェクト
質問: ×××× と
いう事象が発
生しました。調
査をお願いしま
す。
前、誰かがどこかで類
似の事象を対応してた
気がするけどなんだっ
け...


# Page. 5

![Page Image](https://bcdn.docswell.com/page/KJ49PWRV71.jpg)

解決
QA
QA
お客様
QA
QA
質問: ×××× と
いう事象が発
生しました。調
査をお願いしま
す。
過去の調査・解決方
法を参考にできるので
時短になる！
プロジェクト横断的に
過去のQAを類似検索！


# Page. 6

![Page Image](https://bcdn.docswell.com/page/LE1K9YQ4JG.jpg)

要件
● RAG (検索拡張生成) までは必要ない。検索だけで良い。
● 手間とお金をかけたくない。
● プロトタイプを個人的に作ってみて効果を試してから社内に
● 手間とお金をかけたくない (2回目)


# Page. 7

![Page Image](https://bcdn.docswell.com/page/GEWDQGMZJ2.jpg)

AzureとGitHubでさくっと作る
Backlog APIで
チケットを取得 →
AOAIでベクトル化 →
CosmosDBに保存
GitHub Actions
scheduleトリガーで月1回起
動


# Page. 8

![Page Image](https://bcdn.docswell.com/page/47ZGWLQLE3.jpg)

Azure Cosmos DBでさくっと
マイクロソフトが提供するフルマネージドのNoSQLデータベースサービス
今年5月のMS Buildで発表が
あり、ついにfor NoSQLでベク
トル検索が対応した！
https://learn.microsoft.com/ja-jp/azure/cosmos-db/nosql/vector-search


# Page. 9

![Page Image](https://bcdn.docswell.com/page/YJ6YGW6M7V.jpg)

Azureで’検索’といえば AI Searchだけども
Cosmos DB サーバレスモード
Azure AI Search Basic
https://learn.microsoft.com/ja-jp/azure/search/search-sku-tier
https://learn.microsoft.com/ja-jp/azure/cosmos-db/understand-your-bill
●
●
●
●
最小1 RU/秒から最大5000 RU/秒まで自動スケール
ストレージは別途課金
使用量に基づいた課金
●
●
全文検索 + ベクトル検索 + セマンティックランカー等のつよつよな検
索機能
最大3つのレプリカと3つのパーティションをサポート
月額約 ￥14,000~￥15000くらい
AI Searchのつよつよな機能は嬉しいけれど、
金額と今後もし社内展開することも考えると...！
よし、Cosmos DBに決めた！
WEB 画面で提供
Cosmos DB
BI で可視化


# Page. 10

![Page Image](https://bcdn.docswell.com/page/GJ5GVM6QJ4.jpg)

さくさくっと簡単設定
https://learn.microsoft.com/ja-jp/azure/cosmos-db/nosql/vector-sear
ch#vector-indexing-policies
種類
内容
ディメンション
quantizedFlat
ベクトルをインデックスに格納す
る前に圧縮する。
flatインデックスに比べて、検索
が速くなり、スループットが向上
し、RUコストが低くなる。
4096
flat
圧縮は行わないため、100%の精
度でベクトル値を検索できるが、
ベクトルの数が多いと、検索時
間が長くなりやすく、リソース消
費（RUコスト）が増加する。
505
diskANN
高速かつ効率的な検索を行うた
めの特別なインデックス。検索
時間が短く、RUの消費も少ない
が使用には申請が必要。
4096
text-embeddings-ada-002を使うので、
quantizedFlatを選択し、1536次元で作成
※Azure Cosmos DB の [機能] ページからプレビュー機能の登録が必要
ポータル画面のコンテナ
を最初に作成する画面
から選択できるように
なってるので、簡単に設
定できる


# Page. 11

![Page Image](https://bcdn.docswell.com/page/9E2Y39MWER.jpg)

コーディングは少しさくさくっといかなかった
https://github.com/Azure/azure-sdk-for-go/issues/18578
Go言語のCosmosDB SDKではパーティ
ションキーを指定せずにクエリかける事が
どうもできないらしい。
なので、パーティションキーを見直して再作
成することに。
pythonで以前検証した際には
`enable_cross_partition_query`というパラ
メータがあったので、まあGo言語でもできる
と思ってた...


# Page. 12

![Page Image](https://bcdn.docswell.com/page/D7YG14X97M.jpg)

GitHub Actions scheduleトリガーでさくっと定期処理
しかし...GitHubのIPは固定ではなく、時々IPリストが変更になる
Cosmos DBにはIP制限かけ
てる。
セルフホステッドランナーまで
は用意したくない。


# Page. 13

![Page Image](https://bcdn.docswell.com/page/VENG2Y1DJ8.jpg)

ワークフロー実行時の IPを取得して CosmosDBの更
新をおこなうステップを入れてさくっと対応！
開けた穴を元に戻すス
テップも最後に入れてま
す


# Page. 14

![Page Image](https://bcdn.docswell.com/page/Y79W1P5873.jpg)

実行結果
Go言語で書いたコマンドライン
ツールから実行するよ。
自然言語クエリ
検索結果


# Page. 15

![Page Image](https://bcdn.docswell.com/page/G78N4DYZJD.jpg)

まとめ
● 過去の類似QAを検索するひと手間は楽になったと思う（たぶん）
● Cosmos DBは便利 (コスパ良く使いやすい)
● RAGしなくてもとりあえずCosmosDBにいれておこうという気分になってくる
● まだ月いくらかかっているかの計算はしていないがたぶん安いハズ...！
● 検索精度や社内展開にむけてはこれからなので、要改善！


# Page. 16

![Page Image](https://bcdn.docswell.com/page/L7LP6M41JR.jpg)

参考
● https://learn.microsoft.com/ja-jp/azure/cosmos-db/nosql/vector-search
● https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/ai/azopenai
● https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/data/azcosmos
● https://learn.microsoft.com/ja-jp/azure/cosmos-db/nosql/quickstart-go?pivots=de
vcontainer-vscode#query-items
● https://developer.nulab.com/ja/docs/backlog/api/2/get-issue-list/


# Page. 17

![Page Image](https://bcdn.docswell.com/page/4EM45YK5JW.jpg)

ご清聴有難うございました


