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
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
970
Other Decks in Programming
See All in Programming
クラウドに依存しないS3を使った開発術
simesaba80
0
220
Patterns of Patterns
denyspoltorak
0
430
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
4
700
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
1.1k
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
320
Deno Tunnel を使ってみた話
kamekyame
0
320
CSC307 Lecture 02
javiergs
PRO
1
760
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
480
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
930
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
170
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
540
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
140
How to build a perfect <img>
jonoalderson
1
4.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Faster Mobile Websites
deanohume
310
31k
Ethics towards AI in product and experience design
skipperchong
1
170
Writing Fast Ruby
sferik
630
62k
[SF Ruby Conf 2025] Rails X
palkan
0
700
Game over? The fight for quality and originality in the time of robots
wayneb77
1
77
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
220
Measuring & Analyzing Core Web Vitals
bluesmoon
9
730
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.2k
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