대화요약
개요 : 이 Streamlit 애플리케이션은 LangChain 및 OpenAI의 언어 모델을 사용하여 대화 요약 봇을 생성합니다. 이를 통해 사용자는 대화가 포함된 JSON 파일을 업로드하고, 대화를 처리하고, 자연어 처리 기술을 사용하여 요약을 생성할 수 있습니다.
사용된 구성 요소 및 라이브러리:
Streamlit : 웹 애플리케이션 인터페이스 생성용
JSON : 업로드된 JSON 파일을 파싱하기 위해
LangChain : 요약 체인 생성 및 실행
OpenAI : 요약을 위한 언어 모델
dotenv : 환경 변수 로딩용
**주요 기능 및 역할: **
에이. 파일 업로드:
- 사용자가 JSON 파일을 업로드할 수 있도록 Streamlit의 file_uploader를 사용합니다.
비. JSON 처리:
- 업로드된 JSON 파일을 구문 분석합니다.
- JSON 구조에서 대화 데이터를 추출합니다.
기음. 대화 형식:
- 추출된 대화를 문자열로 형식화합니다.
- 형식화된 대화에서 LangChain Document 개체를 생성합니다.
디. 요약:
- LangChain을 통해 OpenAI의 언어 모델을 활용합니다.
- "map_reduce" 전략을 사용하여 요약 체인을 생성합니다.
- 대화 요약을 생성합니다.
이자형. 표시하다:
- Streamlit 인터페이스에 생성된 요약을 표시합니다.
작업 흐름:
- 사용자가 대화가 포함된 JSON 파일을 업로드합니다.
- 애플리케이션은 JSON 파일을 읽고 처리합니다.
- 대화가 추출되고 형식이 지정됩니다.
- LangChain 요약 파이프라인이 생성됩니다.
- 대화는 OpenAI 모델을 사용하여 요약됩니다.
- 요약이 사용자에게 표시됩니다.
요구사항 :
- 파이썬 3.6+
- 스트림라이트
- 랭체인
- OpenAI API 키(환경 변수에 저장됨)
- JSON 형식의 대화 데이터
환경 설정:
- 애플리케이션은 dotenv를 사용하여 환경 변수를 로드합니다.
- OpenAI API 키는 .env 파일에 저장되거나 환경 변수로 설정되어야 합니다.
모델 옵션 : 이 코드는 OpenAI의 모델을 사용하지만 LangChain은 다양한 언어 모델을 지원합니다. 대안은 다음과 같습니다:
- 포옹하는 얼굴 모델
- 구글의 PaLM
- 인류학의 클로드
- Cohere의 언어 모델
다른 모델을 사용하려면 적절한 LangChain 통합을 가져오고 llm 초기화를 수정해야 합니다.
- 포옹 얼굴 모델: 환경 변수에서 HUGGINGFACEHUB_API_TOKEN을 설정해야 합니다.
- Google PaLM: 환경 변수에 GOOGLE_PALM_API_KEY를 설정해야 합니다.
- Anthropic의 Claude: 환경 변수에 ANTHROPIC_API_KEY를 설정해야 합니다.
- Cohere: 환경 변수에 COHERE_API_KEY를 설정해야 합니다.
참고: 이러한 변경 사항을 구현하려면 원본 코드에서 OpenAI 모델 초기화를 대체해야 합니다.
각 모델에 필요한 패키지를 설치하는 것을 잊지 마세요. pip를 사용하여 이 작업을 수행할 수 있습니다.
- pip 설치 랭체인 커뮤니티
- pip install Huggingface_hub #(HuggingFace용)
- pip install google-api-python-client #(Google PaLM용)
- Anthropic에 대한 pip install anthropic #
- Cohere용 pip install cohere #
맞춤화 가능성 :
- 요약 매개변수 조정(예: max_tokens, 온도)
- 다양한 요약 전략 구현(예: "map_reduce" 대신 "stuff" 또는 "refine")
- 파일 처리 및 API 호출에 대한 오류 처리 추가
- 추가 Streamlit 구성 요소로 UI 향상
제한 사항 : 입력 JSON 파일의 구조에 따라 다름 OpenAI에 대한 API 호출을 위해 활성 인터넷 연결이 필요합니다. 요약 품질은 선택한 언어 모델의 기능에 따라 다릅니다.