Rumah > pembangunan bahagian belakang > Tutorial Python > Membuat chatbot dengan pengambilan semula kontekstual menggunakan cohere command-r dan streamlit

Membuat chatbot dengan pengambilan semula kontekstual menggunakan cohere command-r dan streamlit

Linda Hamilton
Lepaskan: 2025-01-27 06:10:09
asal
436 orang telah melayarinya

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

Gambaran keseluruhan projek

Chatish adalah aplikasi rangkaian Streamlit yang inovatif, yang menunjukkan ciri -ciri kuat menggunakan model bahasa besar (terutamanya model perintah C Cohere) untuk pengambilan semula konteks. Projek ini menunjukkan bagaimana kecerdasan buatan moden mengubah kaedah interaksi dokumen melalui dialog pintar, konteks yang berpengalaman.

komponen seni bina

Aplikasi ini dibina di sekitar empat modul Python utama:

app.py

: Titik masuk aplikasi utama
  1. chat_manager.py : mengurus interaksi sembang
  2. cohere_client.py
  3. : rawatan interaksi AI file_handler.py
  4. : memproses dokumen yang dimuat naik
  5. rajah seni bina aplikasi
  6. butiran pelaksanaan utama
Strategi Pemprosesan Fail

Kelas FileHandler menunjukkan kaedah pemprosesan dokumen yang fleksibel:
<code>graph TD
    A[用户界面 - Streamlit] --> B[文件上传]
    A --> C[聊天输入]
    B --> D[文件处理器]
    C --> E[聊天管理器]
    D --> F[Cohere 客户端]
    E --> F
    F --> G[AI 响应生成]
    G --> A</code>
Salin selepas log masuk

Projek Peringatan Pintar

Cohereclient membina peringatan persepsi konteks:

Pengurusan Dialog

Pengurusan berbual termasuk pengesanan kecerdasan sejarah:
<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>
Salin selepas log masuk

Cabaran Teknikal yang Diselesaikan

<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>
Salin selepas log masuk

Pengambilan Budaya

: Secara dinamik mengintegrasikan konteks dokumen muat naik

ketahanan sesi
<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>
Salin selepas log masuk
: Pastikan status sesi

respons streaming : respons AI real -time menghasilkan

  1. Teknologi Stack
  2. kerangka web : Streamlit
  3. integrasi ai
  4. : cohere command r Pemprosesan Dokumen
  5. : PYPDF2

bahasa : python 3.9

    Langkah berjaga -jaga prestasi
  • Sekatan token
  • : boleh dikonfigurasi oleh parameter
  • kawalan suhu
  • : kreativiti tindak balas melalui pelarasan suhu fleksibiliti model
  • : anda boleh menukar model dengan mudah dalam konfigurasi
  • Roadmap Masa Depan

rawatan ralat yang dipertingkatkan

menyokong jenis fail lain
  • konteks lanjutan dibahagikan kepada blok Analisis Emosi Bersepadu max_tokens
  • Langkah berjaga -jaga untuk penempatan
  • Keperluan
  • cepat mula
Pertimbangan Keselamatan dan Etika

Perlindungan Kunci API
  1. Amaran pengguna yang jelas mengenai Hallucinations AI
  2. Pengurusan Konteks Telus
  3. Kesimpulan
Chatish mewakili pelaksanaan praktikal interaksi AI konteks.

mata utama

seni bina modular, berskala

Integrasi Konteks Pintar
<code>cohere==5.13.11
streamlit==1.41.1
PyPDF2==3.0.1</code>
Salin selepas log masuk

Pengalaman pengguna yang dipermudahkan

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

# 激活环境
source chatish_env/bin/activate

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

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

Eksplorasi, Eksperimen, Extension! github Warehouse

Atas ialah kandungan terperinci Membuat chatbot dengan pengambilan semula kontekstual menggunakan cohere command-r dan streamlit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan