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
990
Other Decks in Programming
See All in Programming
2026年 エンジニアリング自己学習法
yumechi
0
120
Vibe codingでおすすめの言語と開発手法
uyuki234
0
210
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
850
Python札幌 LT資料
t3tra
7
1.1k
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
180
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
770
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
130
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
140
Fragmented Architectures
denyspoltorak
0
140
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.4k
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
570
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
180
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
Leo the Paperboy
mayatellez
4
1.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
600
Why Our Code Smells
bkeepers
PRO
340
58k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Done Done
chrislema
186
16k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
570
Prompt Engineering for Job Search
mfonobong
0
150
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