Azure OpenAI Dev Dayにおいて発表したLLMシステム開発のTips集です。 ◆Prompting System Prompt は構造化・再利用を考慮せよ Prompt Store を作って複数のエージェントでプロンプトの部品を共有 Lost in the Middle…
![AOAI Dev Day LLMシステム開発 Tips集](https://cdn-ak-scissors.b.st-hatena.com/image/square/637c35fafbff36e2c18e8836c5e70d0b8c1d7590/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F12e267d3136948b5b1ef59bba5107616%2Fslide_0.jpg%3F31111226)
RAG (Retrieval-Augmented Generation)とは ● 外部データをRetrieval(検索)して ● プロンプトをAugument(拡張)し ● クエリに対する回答をGeneration(生成) ○ クエリ := ユーザからの問合せ ・・・する技術 ※本講義では「インプット=クエリ+プロンプト」と定義 4 RAG (Retrieval-Augmented Generation)とは 登場人物______________ ビジネスでの応用先はLLMが大多数_ ❶検索アルゴリズム ● ・ベクトル検索、全文検索、及びその組合せ (Hybrid検索)がよく使用される ・…が、それに限るものではない ● ビジネスでは”言語”の基盤モデル (LLM)への応用が多い ○ 本講義も LLMに注力 一方、言語以外のモーダル (画像・音声等)も研究開発中 ❷拡張処理アルゴリズム ・
はじめまして。ナレッジセンスの門脇です。生成AIやRAGシステムを活用したサービスを開発しています。本記事では、「RAG vs ファインチューニング」について、DSL(ドメイン固有言語)をコーディングする性能という観点から比較した論文を、ざっくりまとめます。 この記事は何 この記事は、RAG vs ファインチューニングに関する論文[1]を、日本語で簡単にまとめたものです。 「RAG vs ファインチューニング」の論文は、他にもあります。例えば、時事問題などのシンプルな知識の質疑応答であれば、RAGの方が優れています。[2] 今回の論文では、「ドメイン固有言語(DSL)をコーディングする性能」をに焦点を当てて比較しています。一見するとファインチューニングの方が有利そうなタスクについて比較しているのが面白い点です。 本題 ざっくりサマリー この論文では、RAGとファインチューニングの性能比較を
はじめに langChainはNeo4j(グラフDB)をサポートしています。 今回はそちらの機能(langChain × Neo4j)を使い、ナレッジグラフの作成、検索など以下の実装を試してみます。 llmを使いテキストからグラフを生成 グラフのノード情報からハイブリッド検索(全文検索とベクトル検索)を実行 グラフのリレーションシップ情報からベクトル検索を実行 テキストからハイブリッド検索(全文検索とベクトル検索)を実行 3つの検索(ノード、リレーションシップ、テキスト)を用いたRAG Cypherクエリをllmで生成 → 結果から回答 検索したノードの周辺情報(関係するノードとリレーションシップ)を用いたRAG ナレッジグラフとは ナレッジグラフは情報をグラフ構造によって表したものです (Neo4jにおける)ナレッジグラフはノード(人、場所、物などのオブジェクト)とそれらを繋ぐリレーショ
大規模言語モデル (LLM) の学習データに含まれない知識(各社の特有の書類など)を踏まえてLLMに回答させる際に最早必須となってきたRAG (Retrieval-Augumented Generation)。 今回はそんなRAGのSurvey論文を元に、RAGの変遷や構成要素、新たに出てきた技術を俯瞰していきます。 Survey論文へのリンクはこちら arxiv.org RAGとは LLMはそれ単体で回答させると、質問によってはハルシネーションや学習時のデータにはなかった情報を生成時に加味できないといった問題から正しくない回答を生成することが多々あります。例えば世間一般に公開されていない自社の就業規則や業務標準についてをChatGPTに質問しても、正しい回答は得られません。 そのような問題への対応としてRAGが使われます。 「LLM単体で適切な回答を生成できないなら、ユーザーの質問を元に
この記事は "What We’ve Learned From A Year of Building with LLMs" という記事を著者の一人である Eugene Yan さんから許可を得て翻訳したものです。 https://applied-llms.org/ Thank you for giving me a permission to translate this wonderful article! 著者の方々 Eugene Yan Bryan Bischof Charles Frye Hamel Husain Jason Liu Shreya Shankar 原文の公開日 2024/6/8 今は大規模言語モデル(LLM)を使った開発がとってもエキサイティングな時期です。この1年間で、LLMは実世界のアプリケーションに対して「十分に良い」ものになりました。そして、年々良くなり、安く
「プログラミングを学ぶ」ではなく「要件定義を学ぶ」 田中邦裕氏(以下、田中):あと13分ぐらいになったので、今後の展望にいきたいのですが、その前に、質問が7個ほど来ているので、みなさんに聞きたいと思います。 一番投票数が多い質問が、「非エンジニアでAIを使ったスマホアプリを作りたいんだけれども、プログラミングをそもそも学ぶべきか?」という質問です。 生成AIがある今、何をどのように学ぶべきなのか。プログラムを学ぶべきなのか、それ以外になにか手段があるのか。目的によっても違うのですが、ざっくりとしたこの質問に対して、なにか答えられる方はいますか? 比戸将平氏(以下、比戸):じゃあ、私から。 田中:はい、お願いします。 比戸:先週ぐらいに、NVIDIAのジェンスン(Jensen Huang氏)が、「今後はAIがプログラムを書くから、もうプログラムを学ぶ必要はないよ」と発言したのが切り取られて、
JJUG CCC 2024 Spring 複雑な業務ロジックに立ち向かうための実践技法 【初級編】 ①値の種類 ②範囲型 ③階段型 【中級編】 ④状態遷移 ⑤入出金履歴と残高 ⑥未来在庫 【上級編】 ⑦セット演算 ⑧割合と端数 ⑨決定表 ⑩経路探索
2024/06/10 覚醒プロジェクトオンライン勉強会「研究を効率よく進める秘訣、研究を生業にしていくための術」
https://www.reddit.com/r/LocalLLaMA/comments/1cvw3s5/my_personal_guide_for_developing_software_with_ai/?rdt=40405 はじめに 私は個人プロジェクトでコードを書く際、特に自動化のためのものを書く際には、AI を活用しています。この点について、人によって意見が分かれるようです。同じように AI を使っている人もいれば、AI が良いコードを書くことは不可能だと考える人もいます。私の分野の専門家の間でも同様の考え方に遭遇し、AI の使い方が人によって異なるのかもしれないと気づきました。 私自身のバックグラウンドですが、私は開発マネージャーであり、業界で長年の経験を積み、大学院でもソフトウェア開発を学んできました。ですので、このガイドは素人ではなく、大規模システムの構築と運用に関するかなり
こんにちは!サイオステクノロジーの安藤 浩です。DB設計書の生成が容易にできるDBMLをご紹介します。DBMLの入門として、DBMLの書き方、ER図生成方法、Github actionsでCIを実行して閲覧する方法をご紹介させていただきます。 DBMLとは DBML は DataBase Markup Language の略でDB構造を定義するために設計された言語です。 DB構造に焦点を当てており、可読性の高い言語です。 dbdiagram.io や dbdocs.io などを利用することでDBドキュメントの生成が可能です。 コードベースで図を生成できる点でPlantUMLと似ていますね。 DBMLの書き方 テーブルの書き方 まずはテーブルの定義の例をもとにDBMLの記法を紹介していきます。users というテーブルを作成してみます。コードは以下のようになります。 Table users
▼会話のテーマ 「当社の商品A、B、Cの過去5年分のデータを調べ、今年の販売戦略を立てる。」 環境 Windows10 Python v3.11.4 主なlangchainライブラリバージョン ・langchain-core==0.1.27 ・langgraph==0.0.26 ・langchain==0.1.9 APIキー等の環境変数は、試したコードと同じフォルダに".env"ファイルを作り、その中に記述しています。 requirements.txt は、最後の方に載せています。 AZURE_OPENAI_TYPE = "azure" AZURE_OPENAI_KEY = "YOUR AZURE OPENAI KEY" azure_endpoint = "YOUR AZURE ENDPOINT URL" AZURE_OPENAI_DEPLOYMENT_NAME = "YOUR AZURE
1. はじめに 2024 年 5 月 14 日、OpenAI 社から新たな生成 AI「GPT-4o」が発表され、世界に大きな衝撃を与えました。これまでの GPT-4 よりも性能を向上させただけでなく1、音声や画像のリアルタイム処理も実現し、さらに応答速度が大幅に速くなりました。「ついにシンギュラリティが来てしまったか」「まるで SF の世界を生きているような感覚だ」という感想も見受けられました。 しかし、いくら生成 AI とはいえ、競技プログラミングの問題を解くのは非常に難しいです。なぜなら競技プログラミングでは、問題文を理解する能力、プログラムを実装する能力だけでなく、より速く答えを求められる解法 (アルゴリズム) を考える能力も要求されるからです。もし ChatGPT が競技プログラミングを出来るようになれば他のあらゆるタスクをこなせるだろう、と考える人もいます。 それでは、現代最強の
TL;DR 自身の成果をアピールするために、1)Before/After、2)自分の寄与度、3)数字的インパクトを過不足なく伝えることが重要 説明の冒頭では、課題と解法の全体感と成果を述べ、詳細は後に肉付けすると伝わりやすい 課題を伝える際は"誰から見た課題か"を明確にする。課題は解法の前提であるためブレないように はじめに 技術広報のしゅーぞーです。この記事では、過去100人分程度の成果報告書を読み、気付いた "自分の成果をわかりやすく伝える書き方"をまとめています。 仕事をしていると自身の成果を的確に伝える機会は数多くありますよね。 評価期、転職面接、昇格面談など 評価者に自分の成果をどう分かりやすく伝えるか は自分のキャリアを伸ばす上でとても大事なスキルです。 しかし、自分の頑張りや成果を上手く言語化し、相手に正しく理解してもらうのは簡単ではありません。 特に、経験の浅い若手にとって
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く