Closed10
「ChatGPT-LangChainによるチャットシステム構築[実践]入門」読書メモ

以下の「ChatGPT-LangChainによるチャットシステム構築[実践]入門」の読書メモを記載する。

3.5. Chat Completions APIをさわってみる
- model:使用するモデルのIDを定義する。
- messages:roleとcontentをJSON形式で指定しメッセージを送付する。
- role:メッセージを送付する役割。system / user / assistant 等を指定可能。
- content:メッセージの内容。
- stream:メッセージをストリーミングで送付するかどうかを定義する。True / Falseを指定可能。

3.6. Function calling
- functions:nameとparametersを指定し関数を呼び出す。
- name:事前に定義した関数の名前。
- parameters:関数の引数。
- function_call:モデルの関数呼び出し方法を定義。
none
を指定すると、通常のテキストを返す。auto
を指定すると、関数を実施しその結果を返す。パラメータ「function_call」のデフォルトの動作は、functionsを与えなかった場合はnone
、与えた場合はauto
になる。

4.2. Language models
- Model I/O:あらゆる言語モデルとインターフェイスの構成要素を提供するモジュール群。
- Language models:異なるLLMの共通のインターフェースで使用可能にするModel I/Oの一種。
- LLMs:1つのテキストの入力に対して1つのテキストの出力を返すLanguage modelsモジュール。
- Chat models:チャット形式のやりとりを入力して応答を得るLanguage modelsモジュール。

4.3. Prompts
- Prompts:入力のプロンプトを作成するModel I/Oの一種。
- PromptTemplate:プロンプトをテンプレート化するPromptsモジュール。
- ChatPromptTemplate:プロンプトをテンプレート化するPromptsモジュール。

4.4. Output parsers
- Output parsers:出力された回答を整形するModel I/Oの一種。
- PydanticOutputParser:LLMの出力からPythonのオブジェクトを取得するOutput parsersモジュール。

4.5. Chains
- Chains:さまざまな処理を連鎖させるモジュール群。
- LLMChains:PromptTemplate / Language model / OutputParserをつなぐChainsモジュール。
- SimpleSequentialChain:ChainとChainをつなぐChainsモジュール。

4.6. Memory
- Memory:履歴を保持するモジュール群。
- ConversationBufferMemory:会話履歴を保持するMemoryモジュール。

5.1. Data connection
- Retrieval(Data Connection):RAG(検索拡張生成)で使用可能なモジュール群。
- Document loaders:データソースからドキュメントを読み込むRetrievalモジュール。
- Document transformers:ドキュメントに何らかの変換をかけるRetrievalモジュール。
- Text embedding models:ドキュメントをベクトル化するRetrievalモジュール。
- Vector stores:ベクトル化したドキュメントの保存先Retrievalモジュール。
- Retrievers:入力のテキストと関連するドキュメントを検索するRetrievalモジュール。

5.2. Agents
- Agents:必要に応じてさまざまなツールを使いながら、LLM自身に動作を選択してもらうモジュール群。
- Agent Types:エージェントの種類。ZERO_SHOT_REACT_DESCRIPTION(単一ツール/Function callingなし)、OpenAI Functions(単一ツール/Function callingあり)、OpenAI Multi Functions Agent(複数ツール/Function callingあり)等がある。
- Tools:エージェントが対話するために使用できるインターフェイス。
このスクラップは2023/12/25にクローズされました