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
300
英語 × の私が、生成AIの力を借りて、OSSに初コントリビュートした話
エンジニア達の「完全に理解した」Talk #63
の登壇資料になります。
asap
March 26, 2025
Tweet
Share
More Decks by asap
See All by asap
DeepSeek-R1の論文から読み解く背景技術
personabb
3
700
Other Decks in Programming
See All in Programming
20250708_JAWS_opscdk
takuyay0ne
2
150
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
480
MCPを使ってイベントソーシングのAIコーディングを効率化する / Streamlining Event Sourcing AI Coding with MCP
tomohisa
0
180
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
16
5.9k
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
630
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
4
660
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.4k
CIを整備してメンテナンスを生成AIに任せる
hazumirr
0
180
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
290
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
1
350
Yes, You Can Work on Rails & any other Gem
kaspth
0
110
テスト環境にCDを導入してみた
yasaigaoisi
0
100
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
How GitHub (no longer) Works
holman
314
140k
RailsConf 2023
tenderlove
30
1.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Typedesign – Prime Four
hannesfritz
42
2.7k
The World Runs on Bad Software
bkeepers
PRO
70
11k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Embracing the Ebb and Flow
colly
86
4.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
840
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
760
GraphQLとの向き合い方2022年版
quramy
49
14k
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