게시글
질문&답변
2024.10.19
학습시 API Key를 입력하라고 합니다.
안녕하세요~. 반갑습니다. 먼저 수강에 불편을 드려서 죄송합니다. 강의 영상 촬영 시점 이후로 버전이 업데이트되면서 Weights & Biases(W&B) 설정이 기본으로 포함되도록 변경된 것 같네요. Weights & Biases(W&B) 설정을 off 하려면 TrainingArguments를 선언할때 아래와 같은 설정 값을 추가해주시면 됩니다. report_to="none" 따라서 해당 설정값을 추가한 아래 colab 링크로 실습 진행 부탁드립니다. https://colab.research.google.com/drive/17ElQxmE2Babut94oQA4BYGwvQN_tE8bW?usp=sharing 좋은 하루되세요. 감사합니다.
- 0
- 2
- 51
질문&답변
2024.10.13
Fine Tuning 후 inference 하는 예시(코드) 질문
안녕하세요~. 반갑습니다. 재밌게 학습하고 계시다니 기쁘네요^^. 확인해보니 말씀해주신대로 해당 예제에서는 바로 아래에 정의된 bnb_config 변수를 사용하기 때문에 언급해주신 config 변수는 사용하지 않아서 불필요하게 정의되어 있네요. config 변수는 무시하시면 될 것 같습니다. 좋은 하루되세요. 감사합니다.
- 0
- 1
- 27
질문&답변
2024.10.04
langchain.schema가 무슨 역할을 하는지요?
안녕하세요~. 반갑습니다. HumanMessage는 말그대로 string을 묶어서 어떤 메세지인지 구분하는 기능입니다. 설정 가능한 메시지 종류의 예시는 아래와 같습니다. 1. HumanMessage : 사람으로부터 주어진 message AIMessage : AI/assistant로부터 주어진 message SystemMessage : system으로부터 주어진 message FunctionMessage : function call로부터 주어진 message 위 형태의 메세지들을 이용해서 이전 대화내역 히스토리 등을 저장할때 AI가 생성한 메세지인건지 사람(유저)가 AI한테 질문한 메세지인것인지를 구분 할 수 있게됩니다. 좋은 하루되세요. 감사합니다.
- 0
- 2
- 58
질문&답변
2024.10.02
PEFT_P-Tuning semantic similarity 예제 실행 오류
안녕하세요. 아래 colab 링크로 실습 진행부탁드립니다. https://colab.research.google.com/drive/1xlOtBOLf0DjSNHXTiz5PV72X5Pp4-O8s?usp=sharing 좋은 하루되세요. 감사합니다.
- 0
- 4
- 91
질문&답변
2024.09.21
SQL 에이전트 제작 예제 프로그램과 관련하여 질문 드립니다.
안녕하세요~. 반갑습니다. 해당 chain의 단계별 동작과정을 살펴보면 아래와 같습니다. 아래와 같은 프롬프트로 question 대응되는 적절한 SQL query문 생성 You are a SQLite expert. Given an input question, first create a syntactically correct SQLite query to run, then look at the results of the query and return the answer to the input question. Unless the user specifies in the question a specific number of examples to obtain, query for at most 5 results using the LIMIT clause as per SQLite. You can order the results to return the most informative data in the database. Never query for all columns from a table. You must query only the columns that are needed to answer the question. Wrap each column name in double quotes (") to denote them as delimited identifiers. Pay attention to use only the column names you can see in the tables below. Be careful to not query for columns that do not exist. Also, pay attention to which column is in which table. Pay attention to use date('now') function to get the current date, if the question involves "today". Use the following format: Question: Question here SQLQuery: SQL Query to run SQLResult: Result of the SQLQuery Answer: Final answer here Only use the following tables: CREATE TABLE albums ( "AlbumId" INTEGER NOT NULL, "Title" NVARCHAR(160) NOT NULL, "ArtistId" INTEGER NOT NULL, PRIMARY KEY ("AlbumId"), FOREIGN KEY("ArtistId") REFERENCES artists ("ArtistId") ) /* 3 rows from albums table: AlbumId Title ArtistId 1 For Those About To Rock We Salute You 1 2 Balls to the Wall 2 3 Restless and Wild 2 */ CREATE TABLE artists ( "ArtistId" INTEGER NOT NULL, "Name" NVARCHAR(120), PRIMARY KEY ("ArtistId") ) /* 3 rows from artists table: ArtistId Name 1 AC/DC 2 Accept 3 Aerosmith */ CREATE TABLE customers ( "CustomerId" INTEGER NOT NULL, "FirstName" NVARCHAR(40) NOT NULL, "LastName" NVARCHAR(20) NOT NULL, "Company" NVARCHAR(80), "Address" NVARCHAR(70), "City" NVARCHAR(40), "State" NVARCHAR(40), "Country" NVARCHAR(40), "PostalCode" NVARCHAR(10), "Phone" NVARCHAR(24), "Fax" NVARCHAR(24), "Email" NVARCHAR(60) NOT NULL, "SupportRepId" INTEGER, PRIMARY KEY ("CustomerId"), FOREIGN KEY("SupportRepId") REFERENCES employees ("EmployeeId") ) /* 3 rows from customers table: CustomerId FirstName LastName Company Address City State Country PostalCode Phone Fax Email SupportRepId 1 Luís Gonçalves Embraer - Empresa Brasileira de Aeronáutica S.A. Av. Brigadeiro Faria Lima, 2170 São José dos Campos SP Brazil 12227-000 +55 (12) 3923-5555 +55 (12) 3923-5566 luisg@embraer.com.br 3 2 Leonie Köhler None Theodor-Heuss-Straße 34 Stuttgart None Germany 70174 +49 0711 2842222 None leonekohler@surfeu.de 5 3 François Tremblay None 1498 rue Bélanger Montréal QC Canada H2G 1A7 +1 (514) 721-4711 None ftremblay@gmail.com 3 */ CREATE TABLE employees ( "EmployeeId" INTEGER NOT NULL, "LastName" NVARCHAR(20) NOT NULL, "FirstName" NVARCHAR(20) NOT NULL, "Title" NVARCHAR(30), "ReportsTo" INTEGER, "BirthDate" DATETIME, "HireDate" DATETIME, "Address" NVARCHAR(70), "City" NVARCHAR(40), "State" NVARCHAR(40), "Country" NVARCHAR(40), "PostalCode" NVARCHAR(10), "Phone" NVARCHAR(24), "Fax" NVARCHAR(24), "Email" NVARCHAR(60), PRIMARY KEY ("EmployeeId"), FOREIGN KEY("ReportsTo") REFERENCES employees ("EmployeeId") ) /* 3 rows from employees table: EmployeeId LastName FirstName Title ReportsTo BirthDate HireDate Address City State Country PostalCode Phone Fax Email 1 Adams Andrew General Manager None 1962-02-18 00:00:00 2002-08-14 00:00:00 11120 Jasper Ave NW Edmonton AB Canada T5K 2N1 +1 (780) 428-9482 +1 (780) 428-3457 andrew@chinookcorp.com 2 Edwards Nancy Sales Manager 1 1958-12-08 00:00:00 2002-05-01 00:00:00 825 8 Ave SW Calgary AB Canada T2P 2T3 +1 (403) 262-3443 +1 (403) 262-3322 nancy@chinookcorp.com 3 Peacock Jane Sales Support Agent 2 1973-08-29 00:00:00 2002-04-01 00:00:00 1111 6 Ave SW Calgary AB Canada T2P 5M5 +1 (403) 262-3443 +1 (403) 262-6712 jane@chinookcorp.com */ CREATE TABLE genres ( "GenreId" INTEGER NOT NULL, "Name" NVARCHAR(120), PRIMARY KEY ("GenreId") ) /* 3 rows from genres table: GenreId Name 1 Rock 2 Jazz 3 Metal */ CREATE TABLE invoice_items ( "InvoiceLineId" INTEGER NOT NULL, "InvoiceId" INTEGER NOT NULL, "TrackId" INTEGER NOT NULL, "UnitPrice" NUMERIC(10, 2) NOT NULL, "Quantity" INTEGER NOT NULL, PRIMARY KEY ("InvoiceLineId"), FOREIGN KEY("TrackId") REFERENCES tracks ("TrackId"), FOREIGN KEY("InvoiceId") REFERENCES invoices ("InvoiceId") ) /* 3 rows from invoice_items table: InvoiceLineId InvoiceId TrackId UnitPrice Quantity 1 1 2 0.99 1 2 1 4 0.99 1 3 2 6 0.99 1 */ CREATE TABLE invoices ( "InvoiceId" INTEGER NOT NULL, "CustomerId" INTEGER NOT NULL, "InvoiceDate" DATETIME NOT NULL, "BillingAddress" NVARCHAR(70), "BillingCity" NVARCHAR(40), "BillingState" NVARCHAR(40), "BillingCountry" NVARCHAR(40), "BillingPostalCode" NVARCHAR(10), "Total" NUMERIC(10, 2) NOT NULL, PRIMARY KEY ("InvoiceId"), FOREIGN KEY("CustomerId") REFERENCES customers ("CustomerId") ) /* 3 rows from invoices table: InvoiceId CustomerId InvoiceDate BillingAddress BillingCity BillingState BillingCountry BillingPostalCode Total 1 2 2009-01-01 00:00:00 Theodor-Heuss-Straße 34 Stuttgart None Germany 70174 1.98 2 4 2009-01-02 00:00:00 Ullevålsveien 14 Oslo None Norway 0171 3.96 3 8 2009-01-03 00:00:00 Grétrystraat 63 Brussels None Belgium 1000 5.94 */ CREATE TABLE media_types ( "MediaTypeId" INTEGER NOT NULL, "Name" NVARCHAR(120), PRIMARY KEY ("MediaTypeId") ) /* 3 rows from media_types table: MediaTypeId Name 1 MPEG audio file 2 Protected AAC audio file 3 Protected MPEG-4 video file */ CREATE TABLE playlist_track ( "PlaylistId" INTEGER NOT NULL, "TrackId" INTEGER NOT NULL, PRIMARY KEY ("PlaylistId", "TrackId"), FOREIGN KEY("TrackId") REFERENCES tracks ("TrackId"), FOREIGN KEY("PlaylistId") REFERENCES playlists ("PlaylistId") ) /* 3 rows from playlist_track table: PlaylistId TrackId 1 3402 1 3389 1 3390 */ CREATE TABLE playlists ( "PlaylistId" INTEGER NOT NULL, "Name" NVARCHAR(120), PRIMARY KEY ("PlaylistId") ) /* 3 rows from playlists table: PlaylistId Name 1 Music 2 Movies 3 TV Shows */ CREATE TABLE tracks ( "TrackId" INTEGER NOT NULL, "Name" NVARCHAR(200) NOT NULL, "AlbumId" INTEGER, "MediaTypeId" INTEGER NOT NULL, "GenreId" INTEGER, "Composer" NVARCHAR(220), "Milliseconds" INTEGER NOT NULL, "Bytes" INTEGER, "UnitPrice" NUMERIC(10, 2) NOT NULL, PRIMARY KEY ("TrackId"), FOREIGN KEY("MediaTypeId") REFERENCES media_types ("MediaTypeId"), FOREIGN KEY("GenreId") REFERENCES genres ("GenreId"), FOREIGN KEY("AlbumId") REFERENCES albums ("AlbumId") ) /* 3 rows from tracks table: TrackId Name AlbumId MediaTypeId GenreId Composer Milliseconds Bytes UnitPrice 1 For Those About To Rock (We Salute You) 1 1 1 Angus Young, Malcolm Young, Brian Johnson 343719 11170334 0.99 2 Balls to the Wall 2 2 1 None 342562 5510424 0.99 3 Fast As a Shark 3 2 1 F. Baltes, S. Kaufman, U. Dirkscneider & W. Hoffman 230619 3990994 0.99 */ Question: employees는 몇명이 있어? SQLQuery: 생성결과: SELECT COUNT("EmployeeId") AS "EmployeeCount" FROM employees; 실제 DB에 위에서 생성된 SQL 쿼리를 실행해서 SQL 쿼리 실행 결과를 받아옴. DB에 위에 SELECT 쿼리 실행결과: [(8,)] 위에 과정을 종합해서 사람이 이해하기 좋은(human-readable) 최종 답변 생성 인풋 프롬프트: Given the following user question, corresponding SQL query, and SQL result, answer the user question. Question: employees는 몇명이 있어? SQL Query: SELECT COUNT("EmployeeId") AS "EmployeeCount" FROM employees; SQL Result: [(8,)] Answer: 최종답변: employees 테이블에는 8명의 직원이 있습니다. 아래 LangSmith 추적을 같이 확인해 보시면 전체 동작과정을 좀더 쉽게 이해하실 수 있을것입니다. https://smith.langchain.com/public/0e3a4659-3b22-4fa2-8b9f-d692533b067f/r 뒤에 챕터에서 LangSmith 추적 설정하는 법을 다루고 있는 부분이 있으니 해당 부분을 참조해서 직접 LangSmith 추적을 추가해서 테스트해보셔도 좋을 것 같습니다. 좋은 하루되세요. 감사합니다.
- 0
- 2
- 41
질문&답변
2024.09.21
RAG_Chain.invoke 답변이 나오지 않습니다.
안녕하세요~. 반갑습니다. rag_cahin의 생성 결과로 유추해보면 이유는 알수없지만 아마도 "한국 저출산의 원인이 무엇이야?"에 대한 context 정보가 제대로 넘어오지 않은 상황으로 예상되는데요. rag_chain.invoke("한국 저출산의 원인이 무엇이야?") 위와 같이 rag_chain을 invoke해서 실행하기 전에 아래와 같이 retriever.invoke('한국 저출산의 원인이 무엇이야?') retriever 레벨에서 동일한 프롬프트를 한번 입력해보시고 어떤 문서들이 반환되는지 체크해보시면 좋을 것 같습니다. 말씀해주신 예제에 대해서 저도 다시 한번 테스트해봤는데 저같은 경우 [Document(metadata={'page': 3, 'source': 'https://snuac.snu.ac.kr/2015_snuac/wp-content/uploads/2015/07/asiabrief_3-26.pdf'}, page_content='세계를 잇다, 미래를 빚다!4지대를 없애도록 한다. 무엇보다도 출산과 양육에 친화적인 직장문\n화를 조성하여야 한다. \n인구구조 변화에 대응해야\n우리나라는 이미 20년 이상 동안 초저출산현상(합계출산율 1.3명 \n이하)을 겪고 있다. 적어도 당분간 ‘저출산의 덫’에서 빠져나올 수 있\n을 것으로 기대하기 어렵다. 저출산 대책들이 실효성을 거두기 시작\n할지라도 언제부터 얼마나 빠른 속도로 어느 수준까지 출산율이 높\n아질 것으로 예상하기도 어렵다. 결국 우리나라 인구는 급속하게 감\n소하고, 고령화될 것이다. 따라서 저출산 대책을 더욱 강화하는 동시\n에 인구감소 및 고령화에 대해서도 철저하게 대응하여야 한다. 인구\n감소 및 고령화가 사회에 미치는 파장은 크게 학교 붕괴, 병력자원 부\n족, 노동력 부족, 사회보장 부담 증가 등을 들 수 있다. \n학령인구 감소에 따른 학생 수 감소는 초등학교, 중학교, 고등학교 및 \n대학교에까지 영향을 미치고 있다. 과거 고출산 시기에 태어난 세대'), Document(metadata={'page': 0, 'source': 'https://snuac.snu.ac.kr/2015_snuac/wp-content/uploads/2015/07/asiabrief_3-26.pdf'}, page_content='한국의 합계출산율은 2022년 0.78명으로 장기간 초저출산현상 지속은 인구의 지속가능성에 위협이 되고 있다. 저출산 대책은 다양\n한 복합적인 원인들을 해소할 수 있도록 종합적으로 장기간 일관성 있게 추진되어야 한다. 학령인구 감소, 노동력 부족, 사회보장 부담 \n증가 등 인구구조 변화에 대한 철저한 대응이 필요하다. 출산율 회복과 인구구조 변화에 대한 적응은 양자택일의 문제가 아니라 동시에 \n추구하여야 할 사회 목표들인 것이다. Summary Of Article'), Document(metadata={'page': 1, 'source': 'https://snuac.snu.ac.kr/2015_snuac/wp-content/uploads/2015/07/asiabrief_3-26.pdf'}, page_content='중 프랑스, 스웨덴, 영국 등은 저출산 현상을 극복한 국가들로 알려져 \n있다. 우리나라는 15년 이상 저출산 대책이 추진되고 있음에도 불구\n하고 출산율은 오히려 더 낮아져 최근에는 0명대를 기록하고 있다. \n저출산 대책은 다양한 복합적인 원인들을 해소할 수 있도록 종합적\n으로 그리고 장기간에 걸쳐 일관성 있게 추진되어야 한다. 그러나 우\n리나라 저출산 대책에는 반드시 필요한 정책들이 누락되어 있는 문\n제, 필요한 정책들이 포함되고 있을지라도 사각지대가 크거나 급여 \n등이 충분하지 않은 문제들을 가지고 있다. \n이와 관련, 초저출산현상을 멈추기 위해서는 세 가지의 근본적인 노\n력이 긴요하다. \n첫 번째로 과도한 경쟁사회를 지양하기 위하여 노동시장을 개혁하여\n야 한다. 사실 한국 사회에서 만연하는 저출산 원인들은 다소 차이가 \n있을지라도 OECD 국가나 동유럽 국가들 일부도 직면하고 있다. 그\n럼에도 불구하고, 유독 한국 사회에서 합계출산율이 0명대로 치닫고'), Document(metadata={'page': 3, 'source': 'https://snuac.snu.ac.kr/2015_snuac/wp-content/uploads/2015/07/asiabrief_3-26.pdf'}, page_content='의 유입이 필요하다는 주장이 제기되기도 한다. 최근의 초저출산현\n상이 장기적으로 지속된다면 여성인력이나 고령인력만으로 필요 인\n력 내지 안정적인 인구구조를 유지하기 어려울 것이기 때문에 일면 \n타당하다고 할 수 있다. 그러나 미래로 갈수록 노동집약적 산업 중심\n에서 지식기반 산업 중심으로 산업구조가 변화할 것이라는 사실이\n다. 이민자들도 한국 사회의 저출산현상에 편승하고 자신들은 고령\n화된다면 오히려 인구구조에 부정적인 영향을 미친다는 점이다. 그\n리고 사회통합 비용이 높을 수 있다는 점에서 인구감소 및 고령화에\n의 대응을 목적으로 하는 장기 이민자 유입에 대해서는 신중할 필요\n가 있다. 서구의 많은 연구들은 인구 고령화에 대응하기 위한 이민정\n책은 실효성이 높지 않음을 지적해왔다. 실제 서구 국가들은 제조업 \n중심의 외국인 노동력 유입을 억제하고, 우수 인력 중심으로 이민을 \n선별적으로 허용하고 있다. \n생산가능인구는 감소하나 이들이 부양해야 할 노인인구는 급격하게')] 위와 같은 4개의 chunk가 반환되고 AIMessage(content='한국 저출산의 원인은 과도한 경쟁 사회, 출산과 양육에 친화적이지 않은 직장 문화, 노동 시장의 개혁 필요성 등입니다.', additional_kwargs={}, response_metadata={'prompt_feedback': {'block_reason': 0, 'safety_ratings': []}, 'finish_reason': 'STOP', 'safety_ratings': [{'category': 'HARM_CATEGORY_SEXUALLY_EXPLICIT', 'probability': 'NEGLIGIBLE', 'blocked': False}, {'category': 'HARM_CATEGORY_HATE_SPEECH', 'probability': 'NEGLIGIBLE', 'blocked': False}, {'category': 'HARM_CATEGORY_HARASSMENT', 'probability': 'NEGLIGIBLE', 'blocked': False}, {'category': 'HARM_CATEGORY_DANGEROUS_CONTENT', 'probability': 'NEGLIGIBLE', 'blocked': False}]}, id='run-531d306f-92a7-4070-b33e-58788ccc7d71-0', usage_metadata={'input_tokens': 1549, 'output_tokens': 44, 'total_tokens': 1593}) 위와 같이 제대로 답변이 나오는 것 같습니다. 좋은 하루되세요. 감사합니다.
- 0
- 2
- 62
질문&답변
2024.09.04
PEFT_P-Tuning semantic similarity 예제 실행 오류
안녕하세요~. 반갑습니다. 먼저 수강에 불편을 드려서 죄송합니다. 최신 버전의 peft 라이브러리에서 load_best_model_at_end 인자값을 True로 설정할 경우 충돌이 발생하는 버그가 있는 것 같습니다. load_best_model_at_end 인자값을 False로 변경한 아래 colab 코드를 통해서 실습 진행 부탁드립니다. https://colab.research.google.com/drive/1gecg-5vCjBzTZk3-It_a2m5-L-WN7Qq6?usp=sharing 좋은 하루되세요. 감사합니다.
- 0
- 4
- 91
질문&답변
2024.09.03
강사님 Step-back 학습자료가 없습니다.
안녕하세요~. 반갑습니다. 그간의 업데이트 내용을 추가하여 강의 슬라이드 pdf를 새롭게 갱신하였습니다. [섹션 2. 강의 슬라이드 다운로드] - [강의 슬라이드 다운로드] 부분에서 [수업 자료] 다운로드 버튼을 다시 눌러서 새로운 zip 파일을 다운받아 보시길 바랍니다. 좋은 하루되세요~^^. 감사합니다.
- 0
- 2
- 42
질문&답변
2024.08.15
seq2seq를_이용한_NMT.ipynb 실습코드 에러 문의사항입니다.
안녕하세요~. 반갑습니다. 먼저 수강에 불편을 드려서 죄송합니다. tensorflow 버전을 정리한 아래 colab으로 실습 진행을 부탁드립니다. https://colab.research.google.com/drive/1W-XufD5iis6CM5igyws4Xmb5jTgXIAKI?usp=sharing 좋은 하루되세요. 감사합니다.
- 0
- 2
- 71
질문&답변
2024.08.12
Custom Dataset 실전 프로젝트 실습 1 - CRNN를 이용한 License Plate OCR 모델(Custom Dataset) 학습
안녕하세요~. 반갑습니다. 말씀해주신 내용만으로는 정확히 어떤 상황인지 파악하긴 힘들지만 학습에 사용한 데이터의 ground truth 레이블이 제대로 잘 설정되어있는지 체크해보시기 바랍니다. 좋은 하루되세요. 감사합니다.
- 0
- 2
- 97