Azure OpenAIとLlamaIndexとGradioを用いたRAG型チャットの作成

概要 Azure OpenAIとLlamaIndexとGradioを用いたRAG型チャットの作成を試みたので、備忘録です。 Azure OpenAI Azure OpenAIを作成します。 その後、「エンドポイント:エンドポイントを表示するには、ここをクリックします」をクリックして、エンドポイントとキーを控えておきます。 その後、Azure OpenAI Serviceに移動します。 「モデルカタログ」に移動して、「gpt-4o」と「text-embedding-3-small」をデプロイします。 結果、以下のように表示されます。 テキストのダウンロード 今回は、青空文庫で公開されている源氏物語を対象とします。 https://www.aozora.gr.jp/index_pages/person52.html 以下により、一括ダウンロードします。 i f i u r s f m r m r e e o p o p l s l r o m o p e r r = o c s m f t b t n t e e o s " s i l m r r 4 o h e o e b e s t n c e m a f f q i t = s t r e o o o u m p i s m z r r e p s r = o b o s o : e n = e r m i a f o i r r s d t o w t r / q r r a e f o i p f e e o i x s i s t / u e i s _ t z l a s s u v t . t g e s n e i u a m o e t o p p p m h B e s p l n r d e a r n h s c # o o = = a f e n t o s e l a t o a a . o n n = k o . a j s n e c m s t a z _ m = p n p s s s d e p w u i . s l t e a d o u e a t a e e B o i d e r t . g e e i m = a r r f t i s . e u v i n i i d e [ c o b i t a l = " h n s = e a p . r ( t f l t " t n e [ n a _ d . u n u . g s o e u . ( s i [ r ] [ u i a a e e r c t f e ( p ( l i u e o " s m " r n o t x e o i i t o a t S t r l n m : e l l z a i q d f n _ s t x o c l e s e m a s a o / s u i u d t . h t u . ) c : m b b o r t t e n l ( e p , ) p u . t b e e = z a e s s g S " x a - j i e r l o _ x ( t o d t t " t s o r [ " m r u t o s = u i ( h w o o n s " ] e a r / p . p v ) . " k n s " m t _ l { a g r ( " . d ) y ( " ] e = a u . f t e e r , s i o ) ] t = d r s i h t s e t r a . a a l p l ) ( p s c r n s a d " t s l e : a o p l i a c a a a : i n o n o a p m f . t o [ t a z s n s ( e : j a z " ( m o e s s ) ( p " o v " e r . e _ o / ] r a / } a a . = p d : a l " . _ p t " a a " u ) t u p e m t t : e [ x r a x a h a " - t l r t i ) / ] 1 " ) e , n , i . ] n _ n s . t " t e f p s _ h e x o l p e t x i . i l n m t s j t i c l " t s ( t o . ) _ o " ( d p o n , " i a k " . n r = " " g s T ) ) e r [ r u 0 " e ] ) ) Indexの作成 環境変数を用意します。 ...

2024年12月16日 · 15 分 · Nakamura

RELAX NGとSchematron

概要 oXygen XML EditorでTEI/XMLを作成すると、以下のようなテンプレートが作成されます。 < < < < ? ? ? s T / x x x c E < < T m m m h I t / t / E l l l e e t e t I - - m x i e x e > v m m a m H < i t < x e o o t l e f / H > b / t r d d y n a i f e o b > s e e p s d l < < < i a d < o i l l e = e e t / p / s / l d y p d o n " r D i t u p o s e e > > y n h h s h > e t < i b < u u < o D r S > = r r = t s l t t l p b r p u e > o " e e " t c e i l i > l c > r s m 1 f f h p > S t e c P i e I c c e . = = t : t l S a u c D n e > 0 " " t / m e t t b a e f D t " h h p / t > m i l t s o e e t t : w > T t o i i c r s x e t t / w i > n c o > m c t n p p / w t S a n a > c : : p . l t t S t h o / u t e m i t i e d / r e < t o m o r i w w l i / > n t n e n w w . - t > . g w w o c i I a < = . . c . t n b / " t t l o l f o p U e e c r e o u > T i i . g > r t F - - o / m - c c r n a t 8 . . g s t h " o o / / i e ? r r d 1 o > g g s . n s / / d 0 < o r r l " / u e e / > p r l l s > c e e c e a a h < s s e / e e m p / / a > x x t m m r l l / n t t " e e ? i i > / / c c u u s s t t o o m m / / s s c c h h e e m m a a / / r r e e l l a a x x n n g g / / t t e e i i _ _ a a l l l l . . r r n n g g " " t t y y p p e e = = " " a a p p p p l l i i c c a a t t i i o o n n / / x x m m l l " " s c h e m a t y p e n s = " h t t p : / / r e l a x n g . o r g / n s / s t r u c t u r e / 1 . 0 " ? > この時、以下の違いが気になりましたので、GPT4への問い合わせ結果を共有します。 ...

2024年5月16日 · 7 分 · Nakamura

LlamaIndex+GPT4+gradio

概要 LlamaIndexとGPT4、gradioを組み合わせて使う機会がありましたので、備忘録です。 使用したテキストのサイズが小さいので、結果もそれなりですが、渋沢栄一のチャットボットを試作しました。 背景 以下の記事を参考にしました。 https://qiita.com/DeepTama/items/1a44ddf6325c2b2cd030 上記をもとに、2024年4月20日時点のライブラリで動作するように修正しています。ノートブックを以下で公開しています。 https://github.com/nakamura196/000_tools/blob/main/LlamaIndex%2BGPT4%2Bgradio.ipynb 以下のデータを使用しています。 TEIを用いた『渋沢栄一伝記資料』テキストデータの再構築と活用 まとめ 参考になりましたら幸いです。

2024年4月20日 · 1 分 · Nakamura

Linuxシステムで特定のグループに所属しているユーザーを確認する

概要 ! ChatGPT 4による回答です。 Linuxシステムで特定のグループに所属しているユーザーを確認するには、いくつかの方法があります。ここでは、コマンドラインを使用して、特定のグループ(この場合は「group1」と「group2」)に所属するユーザーをリストする方法を説明します。 方法1: /etc/group ファイルを確認する Linuxでは、/etc/group ファイルにシステム上のすべてのグループとそれに所属するユーザーの情報が格納されています。このファイルを確認することで、特定のグループに含まれるユーザーを確認することができます。 コマンド: g g r r e e p p ^ ^ g g r r o o u u p p 1 2 : : ' ' / / e e t t c c / / g g r r o o u u p p これらのコマンドは、group1 と group2 グループについての情報を /etc/group ファイルから検索し、出力します。出力例は以下のようになります: ...

2024年4月18日 · 2 分 · Nakamura