ホームページ >バックエンド開発 >Python チュートリアル >Cohere Command-RとRiremlitを使用して、コンテキスト検索を使用してチャットボットを作成する

Cohere Command-RとRiremlitを使用して、コンテキスト検索を使用してチャットボットを作成する

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-27 06:10:09385ブラウズ

Creating a chatbot with contextual retrieval using Cohere command-r and Streamlit

プロジェクト概要

Chatish は、大規模な言語モデル、特に Cohere の Command R モデルを使用したコンテキスト検索の能力を実証する革新的な Streamlit Web アプリケーションです。このプロジェクトは、最新の人工知能がインテリジェントでコンテキストを認識した会話を通じてドキュメントの対話をどのように変革できるかを実証します。

建築コンポーネント

アプリケーションは 4 つの主要な Python モジュールを中心に構築されています:

  1. app.py: メイン アプリケーション エントリ ポイント
  2. chat_manager.py: チャットの対話を管理します
  3. cohere_client.py: AI インタラクションを処理します
  4. file_handler.py: アップロードされたドキュメントを処理します

アプリケーション アーキテクチャ図

<code>graph TD
    A[用户界面 - Streamlit] --> B[文件上传]
    A --> C[聊天输入]
    B --> D[文件处理器]
    C --> E[聊天管理器]
    D --> F[Cohere 客户端]
    E --> F
    F --> G[AI 响应生成]
    G --> A</code>

主要な実装の詳細

ファイル処理戦略

FileHandler クラスは、ドキュメント処理に対する柔軟なアプローチを示します。

<code class="language-python">def process_file(self, uploaded_file):
    if uploaded_file.type == "application/pdf":
        return self.extract_text_from_pdf(uploaded_file)
    else:
        # 可扩展以支持未来的文件类型
        return uploaded_file.read().decode()</code>

スマートリマインダープロジェクト

CohereClient ビルドのコンテキスト認識ヒント:

<code class="language-python">def build_prompt(self, user_input, context=None):
    context_str = f"{context}\n\n" if context else ""
    return (
        f"{context_str}"
        f"问题:{user_input}\n"
        f"除非被告知要详细说明,否则请直接给出答案,并使用可用的指标和历史数据。"
    )</code>

会話管理

チャット管理にはスマートな履歴追跡が含まれます:

<code class="language-python">def chat(self, user_input, context=None):
    # 保持对话历史记录
    self.conversation_history.append({"role": "user", "content": user_input})

    # 限制历史记录以防止上下文溢出
    if len(self.conversation_history) > 10:
        self.conversation_history = self.conversation_history[-10:]</code>

技術的課題は解決されました

  1. コンテキスト検索: アップロードされたドキュメントのコンテキストを動的に統合します
  2. セッション永続性: セッション状態を維持します
  3. ストリーミング応答: リアルタイム AI 応答生成

テクノロジースタック

  • Web フレームワーク: Streamlit
  • AI 統合: Cohere コマンド R
  • ドキュメント処理: PyPDF2
  • 言語: Python 3.9

パフォーマンスノート

  • トークン制限: max_tokens パラメータ
  • で設定可能
  • 温度制御: 温度調整応答による創造性
  • モデルの柔軟性: 構成内のモデルを簡単に切り替える

今後のロードマップ

  1. エラー処理の強化
  2. 他のファイルタイプをサポート
  3. 高度なコンテキストチャンキング
  4. 感情分析の統合

導入メモ

要件

<code>cohere==5.13.11
streamlit==1.41.1
PyPDF2==3.0.1</code>

クイックスタート

<code class="language-bash"># 创建虚拟环境
python3 -m venv chatish_env

# 激活环境
source chatish_env/bin/activate

# 安装依赖项
pip install -r requirements.txt

# 运行应用程序
streamlit run app.py</code>

安全性と倫理的配慮

  • API キーの保護
  • AI 幻覚に関する明示的なユーザー警告
  • 透過的なコンテキスト管理

結論

Chatish は、高度な言語モデルとユーザーフレンドリーなドキュメント分析の橋渡しをするコンテキスト AI インタラクションの実用的な実装を表します。

重要なポイント

  • モジュール式のスケーラブルなアーキテクチャ
  • インテリジェントなコンテキスト統合
  • 簡素化されたユーザー エクスペリエンス

探索、実験、拡張しましょう!

GitHub リポジトリ

以上がCohere Command-RとRiremlitを使用して、コンテキスト検索を使用してチャットボットを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。