Open1

LLM環境について

moriokamorioka

このメモについて

  • 随時更新する。
  • その時点でよさそうだろう(あくまで個人利用において)組み合わせを列挙しておく。
  • 問題に合わせてモデルをチューニングするのがよいだろうが、配布モデルをそのまま利用する前提。

LLM:

ローカルで動作する、長コンテキスト+多言語対応のものが望ましい。できればollama上で動けば、不用時にはリソース解放してくれるので、望ましい。

  • OpenAI gpt-4o。定番。ChatGPTplusを課金。API利用も課金。
  • Google Gemini 1.5 Flash。ある程度は無料。
  • Anthropic Claude3
  • Cohere
  • ローカル
    • gemma2:9b (ollama)
    • gemma2:27b (ollama)
    • phi3-medium-instruct-128k(ollama)
    • codellama-34b(ollama)

https://zenn.dev/peishim/articles/2e2e8408888f59
https://zenn.dev/meson/articles/get-started-gemini-api

埋め込み

ローカルで動作する、長コンテキスト+多言語対応のものが望ましい。できればollama上で動けば、不用時にはリソース解放してくれるので、望ましい。

  • OpenAI。 text-embedding-3-small
  • ローカル
    • xinference/bge-m3(xinference)
      • おそらく dense のみのサポート? (sparse, hybridはない?)
      • ollama v0.3.4でもサポートされた
    • xinference/multilingual-e5-large(xinference)

https://zenn.dev/kun432/scraps/3b1b00a7e4b3fd
https://tech.algomatic.jp/entry/papers/retrieval/chen-24-bgem3

langchain_comunity.ollama.OlllamaEmbeddings であれば、任意のモデルを用いて埋め込みを作ることができる? OpenAI API互換サーバを動かすわけには。

リランキング

ローカルで動作する、長コンテキスト+多言語対応のものが望ましい。できればollama上で動けば、不用時にはリソース解放してくれるので、望ましい。

  • cohere
  • ローカル
    • xinference/bge-reranker-v2-m3 (xinference)
    • xinference/bge-reranker-v2-gemma (xinference)

https://qiita.com/orca13/items/93431d9d1e8c1129be69
https://qiita.com/orca13/items/ab2dc275f75a2b22f398

オーケストレーション

グラフ

  • llamaindex + neo4j
  • llamaindex property graph
  • Microsoft GraphRAG
  • GNN-RAG

https://zenn.dev/nomhiro/articles/rag-using-knowledge-graph


https://zenn.dev/kun432/scraps/b2a363020a79e2
https://docs.llamaindex.ai/en/stable/module_guides/indexing/lpg_index_guide/
https://www.llamaindex.ai/blog/customizing-property-graph-index-in-llamaindex


https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/


https://zenn.dev/knowledgesense/articles/6a935df51ae538

https://zenn.dev/robustonian/articles/graphrag_local_llm

マルチモーダル

https://zenn.dev/firstautomation/articles/647ae59a3d8ba8

音声(TTS)

voiceboxがお手軽なのかな。

https://qiita.com/uezo/items/5ac782392a17a8c0b79f
https://zenn.dev/isi00141/articles/54c5c176f6ac1a
https://github.com/uezo/dify-voicevox-tts

音声(STT)

自前でも作っていたが(https://github.com/morioka/tiny-openai-whisper-api)
xinference で広くサポートされている様子。

ゲーム

https://zenn.dev/robustonian/articles/llm_warewolf_bench
https://zenn.dev/karaage0703/articles/5a02a0822fba8a

まとめ記事

以下でよい気がする。

https://zenn.dev/minedia/articles/8f4ef7f2daed11