LangChain의 OpenAI Functions 에이전트에 메모리를 추가하는 방법은 무엇입니까?

Langchain Ui Openai Functions Eijeonteue Memolileul Chugahaneun Bangbeob Eun Mueos Ibnikka



LangChain은 대규모 언어 모델 또는 LLM을 구축하기 위한 종속성을 포함하는 프레임워크입니다. 또한 사용자로부터 쿼리를 받는 것부터 답변을 가져오는 것까지 모든 중간 단계를 수행하는 에이전트를 구축하기 위한 도구도 제공합니다. OpenAI는 다음을 사용하여 인터넷에서 읽을 수 있고 구조화된 출력을 제공하는 환경입니다. '구글 검색 결과' 기준 치수.

빠른 개요

이 게시물에서는 다음을 보여줍니다.

LangChain의 OpenAI Functions 에이전트에 메모리를 추가하는 방법은 무엇입니까?

오픈AI(OpenAI)는 2015년 결성된 인공지능(AI) 단체로 초기에는 비영리단체였다. AI를 활용한 자연어 처리(NLP)가 챗봇과 언어 모델로 붐을 일으키면서 마이크로소프트는 2020년부터 많은 돈을 투자해 왔다.







OpenAI 에이전트를 구축하면 개발자는 인터넷에서 더 읽기 쉽고 정확한 결과를 얻을 수 있습니다. 에이전트에 메모리를 추가하면 에이전트가 채팅의 맥락을 더 잘 이해할 수 있고 이전 대화도 메모리에 저장할 수 있습니다. LangChain의 OpenAI 기능 에이전트에 메모리를 추가하는 과정을 배우려면 다음 단계를 따르십시오.



1단계: 프레임워크 설치

우선, 다음에서 LangChain 종속성을 설치합니다. 'langchain-실험적' 다음 코드를 사용하는 프레임워크:



pip 설치 랭체인 - 실험적인





설치하다 '구글 검색 결과' Google 서버에서 검색 결과를 가져오는 모듈:

핍 설치 구글 - 찾다 - 결과



또한 LangChain에서 언어 모델을 구축하는 데 사용할 수 있는 OpenAI 모듈을 설치하십시오.

pip 설치 openai

2단계: 환경 설정

모듈을 가져온 후 API 키를 사용하여 환경을 설정합니다. 오픈AI 그리고 SerpAPI 계정:

수입
수입 getpass

너. [ 'OPENAI_API_KEY' ] = getpass. getpass ( 'OpenAI API 키:' )
너. [ 'SERPAPI_API_KEY' ] = getpass. getpass ( '세르파피 API 키:' )

위 코드를 실행하여 두 환경에 액세스하기 위한 API 키를 입력하고 Enter 키를 눌러 확인합니다.

3단계: 라이브러리 가져오기

이제 설정이 완료되었으므로 LangChain에서 설치된 종속성을 사용하여 메모리 및 에이전트 구축에 필요한 라이브러리를 가져옵니다.

랭체인에서. 쇠사슬 수입 LLMMathChain
랭체인에서. LLMS 수입 오픈AI
#인터넷을 통해 Google에서 검색할 수 있는 라이브러리 가져오기
랭체인에서. 유용 수입 SerpAPI래퍼
랭체인에서. 유용 수입 SQL데이터베이스
langchain_experimental에서. SQL 수입 SQLDatabaseChain
#도구를 빌드하기 위한 라이브러리 가져오기 ~을 위한 에이전트 초기화 중
랭체인에서. 자치령 대표 수입 에이전트 유형 , 도구 , 초기화_에이전트
랭체인에서. chat_models 수입 채팅오픈AI

4단계: 데이터베이스 구축

이 가이드를 진행하려면 데이터베이스를 구축하고 에이전트에 연결하여 데이터베이스에서 답변을 추출해야 합니다. 데이터베이스를 구축하려면 다음을 사용하여 SQLite를 다운로드해야 합니다. 가이드 다음 명령을 사용하여 설치를 확인합니다.

SQLite3

위 명령을 다음에서 실행합니다. 윈도우 터미널 설치된 SQLite 버전을 표시합니다. (3.43.2):

그런 다음 데이터베이스가 구축되고 저장될 컴퓨터의 디렉터리로 이동하세요.

CD 데스크탑
CD mydb
sqlite3 치누크. 디비

사용자는 여기에서 데이터베이스의 내용을 간단히 다운로드할 수 있습니다. 링크 디렉토리에서 다음 명령을 실행하여 데이터베이스를 구축합니다.

. 읽다 치누크_Sqlite. SQL
선택하다 * 아티스트 리미트에서 10 ;

데이터베이스가 성공적으로 구축되었으며 사용자는 다양한 쿼리를 사용하여 데이터베이스에서 데이터를 검색할 수 있습니다.

5단계: 데이터베이스 업로드

데이터베이스가 성공적으로 구축되면 업로드하십시오. “.db” 다음 코드를 사용하여 Google Collaboratory에 파일을 업로드하세요.

구글에서. 수입 파일
업로드됨 = 파일. 업로드 ( )

다음을 클릭하여 로컬 시스템에서 파일을 선택합니다. “파일 선택” 위 코드를 실행한 후 버튼을 누르세요.

파일이 업로드되면 다음 단계에서 사용할 파일 경로를 복사하기만 하면 됩니다.

6단계: 언어 모델 구성

다음 코드를 사용하여 언어 모델, 체인, 도구 및 체인을 빌드합니다.

ㅋㅋㅋ = 채팅오픈AI ( 온도 = 0 , 모델 = 'gpt-3.5-터보-0613' )
찾다 = SerpAPI래퍼 ( )
llm_math_chain = LLMMathChain. from_llm ( ㅋㅋㅋ = ㅋㅋㅋ , 말 수가 많은 = 진실 )
디비 = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. from_llm ( ㅋㅋㅋ , 디비 , 말 수가 많은 = 진실 )
도구 = [
도구 (
이름 = '찾다' ,
기능 = 찾다. 달리다 ,
설명 = '최근 이슈에 대한 답을 얻기 위해 타겟 질문을 해보세요' ,
) ,
도구 (
이름 = '계산자' ,
기능 = llm_math_chain. 달리다 ,
설명 = '수학적 문제에 답하거나 해결하는 데 유용합니다.' ,
) ,
도구 (
이름 = '푸바-DB' ,
기능 = db_chain. 달리다 ,
설명 = 'FooBar에 대한 질문에 대답하는 데 유용하며 입력은 전체 맥락을 포함하는 질문 형식이어야 합니다.' ,
) ,
]
  • 그만큼 ㅋㅋㅋ 변수에는 모델 이름과 함께 ChatOpenAI() 메서드를 사용하는 언어 모델의 구성이 포함됩니다.
  • 검색 변수에는 에이전트용 도구를 빌드하는 SerpAPIWrapper() 메서드가 포함되어 있습니다.
  • 빌드 llm_math_chain LLMMathChain() 메소드를 사용하여 수학 영역과 관련된 답변을 얻으려면
  • db 변수에는 데이터베이스의 내용이 들어 있는 파일의 경로가 포함됩니다. 사용자는 마지막 부분만 변경하면 됩니다. '콘텐츠/Chinook.db' 길을 지키는 것의 “sqlite:///../../../../../” 똑같다.
  • 다음을 사용하여 데이터베이스의 쿼리에 응답하기 위한 또 다른 체인을 구축합니다. db_chain 변하기 쉬운.
  • 다음과 같은 도구를 구성하십시오. 찾다 , 계산자 , 그리고 푸바-DB 답변 검색, 수학 질문 답변 및 데이터베이스 쿼리에 대해 각각 다음을 수행합니다.

7단계: 메모리 추가

OpenAI 기능을 구성한 후 간단히 메모리를 구축하고 에이전트에 추가하면 됩니다.

랭체인에서. 프롬프트 수입 메시지 자리 표시자
랭체인에서. 메모리 수입 대화버퍼메모리

Agent_kwargs = {
'extra_prompt_messages' : [ 메시지 자리 표시자 ( 변수_이름 = '메모리' ) ] ,
}
메모리 = 대화버퍼메모리 ( 메모리_키 = '메모리' , return_messages = 진실 )

8단계: 에이전트 초기화

빌드하고 초기화할 마지막 구성 요소는 다음과 같은 모든 구성 요소를 포함하는 에이전트입니다. ㅋㅋㅋ , 도구 , OPENAI_FUNCTIONS 및 이 프로세스에 사용되는 기타 항목:

대리인 = 초기화_에이전트 (
도구 ,
ㅋㅋㅋ ,
대리인 = 에이전트 유형. OPENAI_FUNCTIONS ,
말 수가 많은 = 진실 ,
Agent_kwargs = Agent_kwargs ,
메모리 = 메모리 ,
)

9단계: 에이전트 테스트

마지막으로 '를 사용하여 채팅을 시작하여 에이전트를 테스트합니다. 안녕 ' 메시지:

대리인. 달리다 ( '안녕' )

에이전트를 실행하여 메모리에 일부 정보를 추가합니다.

대리인. 달리다 ( '내 이름은 존 스노우예요' )

이제 이전 채팅에 대한 질문을 통해 기억력을 테스트해 보세요.

대리인. 달리다 ( '어떻게 내 이름' )

에이전트가 메모리에서 가져온 이름으로 응답했으므로 메모리가 에이전트와 함께 성공적으로 실행되고 있습니다.

지금은 여기까지입니다.

결론

LangChain의 OpenAI 함수 에이전트에 메모리를 추가하려면 모듈을 설치하여 라이브러리 가져오기에 대한 종속성을 가져옵니다. 그런 다음 데이터베이스를 구축하고 Python 노트북에 업로드하면 모델과 함께 사용할 수 있습니다. 모델, 도구, 체인, 데이터베이스를 에이전트에 추가하기 전에 구성하고 초기화하세요. 메모리를 테스트하기 전에 ConversationalBufferMemory()를 사용하여 메모리를 빌드하고 에이전트에 추가한 후 테스트하세요. 이 가이드에서는 LangChain의 OpenAI 기능 에이전트에 메모리를 추가하는 방법을 자세히 설명했습니다.