UK's Blog

Langchain 기반 챗봇 만들기 #3 - ConversationBufferMemory로 대화 문맥 유지하기

Langchain 기반 챗봇 만들기 #2 에서는 기본 Langchain 개념과 사용법을 살펴보았다. 이제는 memory 요소를 통해 챗봇이 이전 대화 문맥을 유지하도록 해보자. 대화 문맥 기본적으로 OpenAI에서 제공하는 API는 비상태(stateless) 방식이다. 이전 대화 문맥을 기억하지 않고, 이번 API 호출에 포함된 입력만을 기준으로 응...

Langchain 기반 챗봇 만들기 #2 - Runnable과 체이닝 기초 익히기

Langchain 기반 챗봇 만들기 #1 에서는 OpenAI API 키를 발급받아 기본 질문·응답 예제를 실행해 보았다. 그런데 단순한 요청-응답만으로는 이전 대화 내용을 참고하지 못해, 대화가 이어진다는 느낌이 들지 않는다. 이럴 때 필요한 도구가 바로 Langchain이다. Langchain은 단일 프롬프트 호출을 넘어, 대화 맥락을 유지하거나 ...

[Flutter] 비동기 함수에서 파라미터 사용 시 주의할 점

FutureBuilder를 이용해 HTTP 요청이 완료되면 Text 위젯을 리턴해주는 함수를 만들었는데, HTTP 요청이 정상적으로 완료되었음에도 불구하고 값이 제대로 바뀌지 않는 상황을 겪었다. 이 문제는 비동기 함수에서의 값 타입과 참조 타입의 차이에서 발생한 것이었다. 비동기 함수는 코드의 실행 순서가 예기치 않게 뒤섞일 수 있기 때문에, 값...