
RAG로 구현된 앱으로 채팅을 할 때 생기는 문제가 있습니다. 표로 구성된 자료에서 그 내용을 물었을 때 원하는 답변이 나오지 않는 경우가 있습니다. 표의 특성에서 셀을 합친다거나 페이지를 넘어가는 경우, 그리고 표가 무엇을 나타내기 위한 것인지 명확하지 않은 경우입니다. 물론 다른 경우도 있지만... 그래서 이 표를 멀티모달(Multi-Modal)을 이용하여 이미지로 읽어들여 이것을 벡터화하는 시도를 하고자 합니다. 먼저 이미지를 읽어와 이미지에 대한 묘사를 해보는 코드를 작성했습니다. 그 결과가 잘 나오는 것 같습니다. 텍스트로만 이루어진 이미지는 텍스트를 정리하게 하였습니다. 이미지와 사진은 그것에 대한 설명을 하도록 하였습니다. llm model은 OpenAI의 gpt-4o를 사용했습니다. Dep..
랭체인을 이용해 코드를 실행할 때 임베딩을 하는데 비용이 많이 들어갑니다. 법과 관련된 900여 쪽의 pdf 파일을 임베딩 작업을 하고 RAG를 이용하여 gpt와 문답을 하고자 합니다. 그래서 임베딩을 한 다음 그것을 vector db로 만들어 로컬에 보관하였습니다. 임베딩하는데 비용이 들어갑니다. 이 vector db를 불러와 gpt에게 질문을 하면 임베딩할 때 들어가는 비용이 별로 들어가지 않습니다. 질문에 대한 임베딩과 랭체인 모델을 사용하는 비용만 지불하면 됩니다. 두 가지 코드를 나눴습니다. 1. 벡터 DB 만들어 로컬에 보관하기 import osfrom dotenv import load_dotenvfrom dotenv import dotenv_valuesfrom langchain_communi..
강변 카페 강가에 펼쳐진 카페에서차 한 잔에 마음을 녹이며가을바람이 스치는 소리에한숨을 돌리는 사람들 창가에 앉아 바라보는 강물은시간의 흐름을 담아 흘러가고가로등 불빛이 비추는 길가에서성이는 발걸음 소리 한 손에는 시를 쓰고한 손에는 커피를 쥐며강변 카페의 향기 속에사랑과 이별을 노래하는 한 사람의 이야기가 흐르고한 사람의 미소가 번져가는강변 카페의 풍경은마음을 달래주는 편안함 가을이 오면 더 아름다운강변 카페의 풍경 속에한 줄기 희망을 안고사랑을 기다리는 이들이 있다. ----------------------------------------------- FewShotPrompt에 LLMChain에서 프롬프트(template)를 추가해서 시를 작성해봤습니다.좀더 느낌이 다릅니다. 아래 코드를 참조해 ..
강변 찻집 강가에 서 있는 찻집가을 바람이 스치는 창가차 한 잔에 가을의 향기를 담아나는 혼자 앉아서 생각에 잠긴다 찻집 주인은 웃으며 차를 대접하고강물이 흐르는 소리가 들려와가을 날씨에 어울리는 이야기를 나눈다찻집 안은 따뜻한 빛으로 가득 차오르고 찻잔을 들고 강변을 바라보면가을 하늘에 떠다니는 구름들이차가운 강물을 따라 흘러가는 모습나의 마음도 함께 흘러가듯이 강변 찻집은 시간이 멈춘 곳가을이 지나고 겨울이 오더라도찻집은 언제나 나를 따뜻하게 맞이해줄 것강가에 서 있는 찻집, 나의 작은 안식처. 우리가 GPT를 통해 질문을 하고 대답을 하는 부분은 ZeroShot이라 합니다.GPT가 자신이 알고 있는 지식을 정리하여 보여주는 것입니다. 그럼 몇가지 사례를 보여주며 GPT가 참조하면서 답변을 작성하게..
금요일(2024년 8월 9일) RAG에 대해 직원들에게 설명하는 시간이 있었습니다.그 시간에 했던 설명을 정리했습니다.이날 참석했던 사람들 중에 인공지능(머신러닝, 딥러닝, 자연어 처리, 랭체인 등)에 대해 모르는 사람도 섞여 있어서 최대한 쉽게 설명했습니다.내용은 지금까지 제가 학습했던 여러 글들을 정리한 것에 제 나름의 판단을 추가하여 설명한 것이기에 잘못된 부분이 있을 수 있습니다. 1. 언어모델 a. 언어모델이란 "문맥을 통해 다음에 나올 단어(말)를 예측하면서 문장을 완성하는 모델"입니다. i. 예를 들어 "나는 회사에 출근할 때 를 타고 출근합니다. 는 사람이 많고 복잡하지만 정확한 시각에 도착할 수 있어서 이용하고 있습니다" 라는 문장에서 에 들어갈 수 있는 단어를 찾는..

GPT를 활용한 챗봇을 하나 만들었습니다. 일반적으로 챗봇은 사람이 궁금한 것을 봇에게 묻고, 봇은 자신이 알고 있는 모든 지식을 동원에 응답을 합니다. 이번에 제가 만든 챗봇은 보통 챗봇과는 다릅니다. 필요한 항목을 봇이 인지하고 사람에게 그 항목에 대한 질문을 하고 사람이 응답을 하는 것입니다. 그리고 사람의 응답을 통해 필요한 사항(항목: 값) 두 가지를 json 형태로 정확히 작성해야 합니다. 이 json 형태의 값을 파이썬의 데이터프레임을 이용해 표현하는 것입니다. 아직 완성되지는 않았지만, 이렇게 작성된 데이터프레임으로 다음 작업을 진행하게 됩니다. 언어모델 : gpt-3.5-turbo챗봇 프레임워크 : 스트림릿(streamlit)첨부된 이미지에서 볼 수 있듯이 봇이 "사건본인의 주소를 알려주..

언어모델 : gpt-3.5-turbo - chatGPT가 아닙니다. chatGPT와 gpt는 다릅니다. 문서를 작성할 때 필요한 항목을 gpt를 통해 묻고 사용자가 대답하는 챗봇을 만들었습니다. (로컬에서 작성한 것을 허깅페이스에 앱으로 올려서 테스트했습니다.) 시행착오를 거치면서 대화를 통해 오류를 찾고 고치는 과정을 반복하고 있습니다. 일부러 지급총액(지급해야할 총금액)보다 지급한금액을 높여서 적었습니다. 이상한 부분이 있지 않냐고 지급총액과 지급한금액을 설명하며 몇 번을 되물었습니다. 그랬더니 gpt가 답을 제대로 말해줍니다. 그래서 수정된 항목을 사람들이 일상적으로 쓰는 말로 "지급총액에서 0이 하나 빠졌어요. 수정해주세요"라고 하니 고치지를 않았어요. 아직 사람들이 쓰는 언어를 제대로 파악하..
model = ChatOpenAI(model="gpt-3.5-turbo", temperature=0) 랭체인 모델을 호출하는 부분입니다.매개변수로 temperature가 있습니다. 0에서 2까지 값을 입력하면 됩니다.숫자가 작을수록 정확도가 높습니다.숫자가 클수록 자유도가 높습니다. 랭체인으로 모델을 구축할 때 이 매개변수값을 적절하게 조율할 필요가 있을 경우도 있습니다. "랭체인을 이용한 챗봇-02"에서 이 매개변수 값을 다르게 하며 질문들 하고 그 결과값을 비교해봤습니다. 질문 : 중국 청나라와 조선의 관계 변화에 대해 설명해주세요. 답변 : 중국 청나라(清朝)와 조선의 관계는 시대에 따라 변화하였습니다. 청나라는 17세기 말부터 19세기 중반까지 지속되었으며, 조선은 1392년부터 1910년까지 지..

"랭체인을 이용한 챗봇-01"에서 좀더 기능을 추가했습니다.구현하는 챗봇에서 중요한 부분이 1. 랭체인과 연결 2. 템플릿 실행 3. 대화 내용을 기억하고 있느냐 입니다. 코드 아래 결과 이미지 1번째 것에서 나눈 대화를 기억하고 있는지를 결과 이미지 3번째 것으로 확인했습니다. import gradio as grfrom operator import itemgetter# from langchain_community.chat_models import ChatOpenAIfrom langchain.chains import LLMChain, ConversationChainfrom langchain.memory import ConversationBufferMemoryfrom langchain.promp..

간단하게 작성한 chatbot 입니다. 필요한 모듈(패키지)는 설치해 주시고 코드를 복붙하고 main.py로 저장합니다. 커맨드라인에서 ">python main.py"실행하고 Ctrl + (마우스로 URL 클릭) 하면 브라우저가 새로 열리며 대화창이 뜹니다. 그리고 대화를 시작하면 됩니다. import gradio as grfrom langchain_community.chat_models import ChatOpenAIapi_key = "OpenAI API Key" # 발급받은 OpenAI API Key 값 입력chat_model = ChatOpenAI( model="gpt-3.5-turbo", openai_api_key=api_key)with gr.Blocks() as demo: cha..
- Total
- Today
- Yesterday
- 로피탈정리
- multi modal
- GPT
- programmers.co.kr
- 도함수
- RAG
- FewShot
- LangChain
- ChatGPT
- 미분
- TensorFlow
- AI_고교수학
- Chatbot
- 미분법
- streamlit
- LLM
- programmers
- 미분계수
- 챗봇
- 랭체인
- checkpoint
- 약수
- 텐서플로우
- 프로그래머스
- image depict
- 고등학교 수학
- Python
- 변화율
- 파이썬
- prompt
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |