이 튜토리얼은 NEO4J 그래프 데이터베이스와 상호 작용하는 Langchain 응용 프로그램을위한 간단한 UI를 구축 함을 보여줍니다. RAG (Retrieval Augmented Generation)를 사용하여 국제 축구 역사에 대한 챗봇 답변을 만듭니다. 핵심 단계와 개념을 탐색합시다.
튜토리얼은 여러 기술을 활용합니다
sleamlit : 사용자 친화적 인 웹 앱을 빠르게 구축하기위한 파이썬 프레임 워크. 채팅 메시지를 표시하고 사용자 입력 수락을위한 구성 요소를 제공하여 ChatGpt와 같은 인터페이스를 만듭니다.
langchain :
다양한 LLM을 통합하여 LLM의 다른 도구와의 통합을 단순화합니다. 여기에서는 OpenAI의 GPT 모델을 데이터베이스에 연결합니다
neo4j (Auradb 포함) : 축구 선수, 팀, 경기 및 토너먼트와 같은 상호 연결된 데이터를 저장하는 데 이상적인 그래프 데이터베이스. 이 자습서는 클라우드 기반 Auradb 인스턴스를 사용합니다
검색 증강 생성 (RAG) : 데이터베이스에서 검색된 정보로 LLM을 향상시키는 기술. 챗봇은 래그를 사용하여 축구 역사에 대한 구체적인 질문에 대답합니다.
-
사용 된 데이터는 점수, 골수 및 매치 세부 사항을 포함하여 47,000 개가 넘는 일치하는 Kaggle 데이터 세트입니다. 이 데이터는 NEO4J 데이터베이스에 섭취됩니다. 챗봇의 그래프 스키마에는 "Play_Home"및 "Scored_for"와 같은 관계로 연결된 플레이어, 팀, 경기, 토너먼트, 도시 및 국가를위한 노드가 포함됩니다.
튜토리얼은 챗봇 구축 단계별 단계를 통해 걸어갑니다
환경 설정 : - 콘다 환경 생성 및 필요한 라이브러리 설치 (간소, 랑케인, 랭 체인-오페나이, 랑 체인-커뮤니티, NEO4J). 비밀 (neo4j uri, 사용자 이름, 비밀번호 및 OpenAi API 키)은 에 저장됩니다.
-
라이브러리 수입 및 비밀 로딩 : .
-
인증 : 사이드 바는 OpenAI API 키를 위해 사용자에게 프롬프트합니다.
데이터베이스 연결 및 QA 체인 초기화 : 기능은 NEO4J에 연결하고 스키마를 새로 고침하고 를 사용하여 a
를 초기화합니다. 는 효율성을 위해 이러한 자원을 캐시합니다
메시지 기록 : Sleamlit의 세션 상태는 채팅 기록을 관리하여 및 를 사용하여 이전 메시지를 표시합니다.
채팅 구성 요소 : 함수는 체인을 실행하여 잠재적 오류를 처리합니다. 는 사용자 쿼리를 수락하고 를 사용하여 응답이 표시됩니다.
코드 최적화 : 코드는 더 나은 구성을 위해 모듈 식 파일 ( 및 )으로 리팩토링됩니다.
graph_utils.py
배포 : 앱이 클라우드를 간소화하여 chat_utils.py
파일 및 비밀 관리가 필요합니다.
최종 응용 프로그램은 축구 데이터베이스를 쿼리하기위한 사용자 친화적 인 인터페이스를 제공합니다. 또한 튜토리얼은 UI 개발이 비교적 간단하지만 기본 쿼리 생성을 최적화하고 정확성을 보장하려면 상당한 노력이 필요하다는 점을 강조합니다. 제공된 예는 기능적이지만 출발점으로 사용되며 생산 사용을 위해 추가 개선이 필요할 수 있습니다. 이 튜토리얼은 필요한 기술, 비용, 데이터베이스 대안 및 chatgpt와의 챗봇의 차이에 대한 일반적인 질문을 다루는 FAQ로 마무리됩니다.
requirements.txt
(참고 : 이미지를 포함하려면 이미지 URL이 자리 표시 자이며 실제 이미지 URL로 대체해야합니다.)위 내용은 Streamlit 및 Langchain을 사용하여 AI 애플리케이션을위한 사용자 인터페이스를 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!