>백엔드 개발 >파이썬 튜토리얼 >Cohere command-r 및 Streamlit을 사용하여 상황별 검색 기능이 있는 챗봇 만들기

Cohere command-r 및 Streamlit을 사용하여 상황별 검색 기능이 있는 챗봇 만들기

Linda Hamilton
Linda Hamilton원래의
2025-01-27 06:10:09392검색

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

사업개요

Chatish는 대규모 언어 모델, 특히 Cohere의 Command R 모델을 사용하여 상황별 검색의 힘을 보여주는 혁신적인 Streamlit 웹 애플리케이션입니다. 이 프로젝트는 현대 인공 지능이 지능적이고 상황을 인식하는 대화를 통해 문서 상호 작용을 어떻게 변화시킬 수 있는지 보여줍니다.

건축 구성요소

애플리케이션은 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 응답 생성

기술 스택

  • 웹 프레임워크: Streamlit
  • AI 통합: Cohere Command 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 및 Streamlit을 사용하여 상황별 검색 기능이 있는 챗봇 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.