Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
英語 × の私が、生成AIの力を借りて、OSSに初コントリビュートした話
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
asap
March 26, 2025
Programming
0
390
英語 × の私が、生成AIの力を借りて、OSSに初コントリビュートした話
エンジニア達の「完全に理解した」Talk #63
の登壇資料になります。
asap
March 26, 2025
Tweet
Share
More Decks by asap
See All by asap
DeepSeek-R1の論文から読み解く背景技術
personabb
3
1k
Other Decks in Programming
See All in Programming
CSC307 Lecture 04
javiergs
PRO
0
660
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
170
dchart: charts from deck markup
ajstarks
3
990
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.1k
AI & Enginnering
codelynx
0
110
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
250
CSC307 Lecture 03
javiergs
PRO
1
490
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
高速開発のためのコード整理術
sutetotanuki
1
390
Oxlintはいいぞ
yug1224
5
1.3k
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
110
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
150
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
200
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
320
Thoughts on Productivity
jonyablonski
74
5k
KATA
mclloyd
PRO
34
15k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
430
WENDY [Excerpt]
tessaabrams
9
36k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
120
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Transcript
asap 英語 の私が、生成AIの力を借りて、 OSSに初コントリビュートした話
1 はじめに 自己紹介 asap AI・機械学習の理論に興味を持つエンジニア。 ZennでAI関連の技術記事を書いてます。 「asap zenn」で検索! @asap2650 ぜひ今アカウント作って登録してください
@asap2650
はじめに
3 はじめに はじめに OSSコントリビュート意外と簡単だったよ ついこの間初めてOSSにコントリビュートした超初心者の身ではありますが OSSへのコントリビュートは「ある程度」プログラミングができる人なら簡単だよ! 普段のコーディングとそんなに違いはなかったよ! ということをお話しできればと思います。 @asap2650
経緯
5 なんのリポジトリ? 経緯 @asap2650 https://github.com/langchain-ai/langchain-google Google CloudのVertexAIやGeminiなどをLangChainで 利用するための「langchain-google」というリポジトリ • VertexAI
Google Cloudが提供する機械学習全般を支援する プラットフォーム • Gemini ChatGPTのGoogle版 • LangChain 大規模言語モデル(LLM)を活用した アプリケーション開発を容易にするフレームワーク
6 OSSコントリビュートするに至った理由 経緯 @asap2650 RAGシステム開発の業務に必要だから! • ユーザが質問を入力 • LLMがRAGシステムをよびだす。 •
質問文から検索用のベクトルを作る • Dense Embedding Vector :文脈考慮での検索用 • Sparse Embedding Vector :単語での検索用 • Vector Store(DB)に保存された ドキュメント(+ベクトル)と類似度検索 • 検索結果をLLMに返して、それを元に回答させる 【RAGシステムとは】
7 OSSコントリビュートするに至った理由 経緯 @asap2650 RAGシステム開発の業務に必要だから! Google CloudのDBをベクトルストアとしたRAGのシステムを構築したい ↓ Embeddingsモデルによるベクトル化はできるけど、ハイブリット検索が動かない!? ↓
バグじゃん!!どうしよ・・・ ↓ マイナーな機能だから、自分が修正するしかない・・・
8 どんなバグ? 経緯 @asap2650 チュートリアル通りに実施しても Sparse Embedding Vectorがベクトルストアに格納されない https://python.langchain.com/docs/integrations/vectorstores/google_vertex_ai_vector_search/#hybrid-search
バグの原因
10 どんなバグ? バグの原因 @asap2650 データ保存部分にSparse Embedding Vectorに関しての 記述がないバグ
Issueを立てる
12 Issueを立てる Issueを立てる @asap2650 英語ゴミ人間なので OpenAI o1先生に助けてもらいました https://github.com/langchain-ai/langchain-google/issues/720 下記をプロンプトに入れて依頼 •
Issue立てるのが初めてであること • 英語が雑魚なこと • バグを発見した経緯 • バグを含むコード • 修正案
13 Issueを立てる Issueを立てる @asap2650 ちゃんと記載すればメンテナーの方は見てくれる ちゃんと記載しないと、後回しにされるissueも数多くあります。 コメントもらったらコードの修正・PRを実施
コード修正・PR
15 コード修正 コード修正・PR @asap2650 READMEをよく読むこと Langchain-googleの場合は やり方を全部説明してくれていた。 参考になると思うので紹介します。
16 コード修正 コード修正・PR @asap2650 “fork and pull request” workflowを利用する 元のリポジトリを自分のアカウントにForkする
↓ Forkしたリポジトリをローカルにクローン ↓ コードの修正、テスト、フォーマット、リンティングを実施し、リポジトリにpush ↓ 元リポジトリに対してpull requestを行う 詳細:https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project
17 Pull Requestを実施 コード修正・PR @asap2650 gpt-4oの力を借りながら、テンプレートに合わせて記載 PRのテンプレートが用意されている場合もあるので、そちらに合わせる(PULL_REQUEST_TEMPLATE.md) テンプレートがなければ、他の方のPRを参考にすれば良い アイコン載ると嬉しい!
18 まとめ やることは普通のコーディングと同じ 1 S A I R U 英語
× の私が、生成AIの力を借りて、OSSに初コントリビュートした話 英語ができなくても、生成AIでIssueをPRは作れる 2 コントリビュートを歓迎してくれるリポジトリ最高 3