๋ฐฐ๊ฒฝ ์์ฑ ๊ธฐ๋ฐ ๋ฉ์์ง(STT) ๋ฐ์ดํฐ๋ฅผ ํ์ด์ง ๊ตฌ์กฐ๋ก ๋ถ๋ฌ์ค๊ณ ,๊ฐ ๋ฉ์์ง์ ๋ํด ๋ณ๋๋ก ๋น๋๊ธฐ ์์ธ ์์ฒญ์ ๋ณด๋ด์ด ํ๋ฉด์ ์ถ๋ ฅํ๋ ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๋ ค ํ์ต๋๋ค. ์ฌ๋ฌ api๊ฐ ๋์์ ํธ์ถ๋์ด์ผํ๋ ์ํฉ์ ๋๋ค. ๋ฌธ์ ์์ธ๊ณผ ํด๊ฒฐ ์ฒ์์๋ ๋จ์ํ๊ฒ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ก ์ฒ๋ฆฌํ์ต๋๋ค.func loadPage() async { let page = try await api.fetchPage() for item in page.items { let detail = try await api.fetchDetail(id: item.id) messages.append(detail) } listRelay.accept(messages)} ์ด๋ ๊ฒ ํธ์ถํ์์๋์ ๋ฌธ์ ์ ์์์ฒญ์ด ์์..
Clean Architecture ๊ธฐ๋ฐํ์ฌ๋คํธ์ํฌ๋ฅผ ์ถ์ํ, ๋ชจ๋ํํ๋ ์ฝ๋๋ฅผ ์ ๋ฆฌํ๋ ค๊ณ ํฉ๋๋ค Clean Architecture์์ ๋คํธ์ํฌ ๊ณ์ธต์ ๋ค์๊ณผ ๊ฐ์ ๋ ์ด์ด๋ก ๋๋ ์ ์์ต๋๋ค - Domain Layer: ์ฑ์ ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๊ท์น์ ์ ์ํฉ๋๋ค- Data Layer: ์ธ๋ถ ๋ฐ์ดํฐ ์์ค(๋คํธ์ํฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ)์์ ์ํธ์์ฉ์ ์ฒ๋ฆฌํฉ๋๋ค- Presentation Layer: UI์ ์ํธ์์ฉํ๋ฉฐ, ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ค๋๋ค ์ด์ค์์ network ๋ก์ง์ Data Layer์ ํฌํจ๋ฉ๋๋ค. ๋จผ์ ๋คํธ์ํฌ ์ธ์ ์ ๋์ ๊ตฌํํ๋ URLSessionWrapper๋ฅผ ์์ฑํฉ๋๋ค.import Foundationpublic protocol SessionProtocol { func ..
1. Filemanager๋ก ํ์ผ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ ์ ๋๋ค. ์ฐ์ ์ฑ ์ธ๋ถ ์ ์ฅ์ ํ์ผ์ ์ ๊ทผํ๊ธฐ ์ํดkey: Supports opening documents in placevalue: yes key: Supports Document Browservalue: yes Info plist์ ๋ฑ๋กํฉ๋๋ค ๋ค์ UIDocumentPickerDelegate๋ฅผ ์ฑํํ๊ณ ํ์ผ์ ์ ํ ์๋ฃํ์๋์ api๋ฅผ ํธ์ถํฉ๋๋ค class ViewController: UIViewController { let documnetPicker: UIDocumentPickerViewController = UIDocumentPickerViewController(forOpeningContentTypes: [.spreadsheet], asCop..

๋ค์ฏ๋ฒ์งธ ์น์ RAG ๊ธฐ๋ฐ ๋ํํ ์ฑ๋ด ๋ง๋ค๊ธฐ์ ๋๋ค. ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋๋ค.!pip install streamlit-chat!pip install streamlit!pip install langchain!pip install faiss-cpu ์ค์น ์ดํ ์ฃผ์์ฒ๋ฆฌ ํด์ค๋๋ค RAG์ ์ฐ์ผ ๋ฐ์ดํฐ๋ PDF์ ๋๋ค.PDF๋ฅผ loadํ ๋ค, ๊ฐ์ ธ์จ ํ ์คํธ๋ฅผ ์๋ฒ ๋ฉ ์ฒ๋ฆฌ ์ดํ ํ์ด์์ค์ ์ ์ฅํ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ๋ฌ์ค๊ณ , open ai key๋ฅผ ์ ๋ ฅํฉ๋๋ค sk-import streamlit as stfrom streamlit_chat import messagefrom langchain.embeddings.openai import OpenAIEmbeddingsfrom langchain..

์ฒซ๋ฒ์งธ ์น์ ๊ฐ๋จํ ์ฑ๋ด ๋ง๋ค๊ธฐ RAG๊ตฌํ์ ๋ฐฉ์์ด ์๋์ฑGPT๋ชจ๋ธ์ ๊ฐ์ ธ์์ ๋ง๋๋ ์ฑ๋ด์ ๋๋ค !pip install langchain!pip install streamlit!pip install openai!pip install langchain_community ๋จผ์ ์๋์ฝ๋ค ๊ฐ์ํ๊ฒฝ์ langchain, streamlit, openai ๋ฅผ ์ค์นํด์ค๋๋ค ๊ทธ๋ฆฌ๊ณ ์ฑ๋ด ์ฝ๋ ์์ฑ import streamlit as stfrom langchain.chat_models import ChatOpenAIst.set_page_config(page_title="๋ฌด์์ด๋ ์ง๋ฌธํ์ธ์~")st.title('๋ฌด์์ด๋ ์ง๋ฌธํ์ธ์~')import osos.environ["OPENAI_API_KEY"] = "sk-"def..

API ํธ์ถ ๋ชจ๋ํ๋ฅผ ํตํด ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ ์ ์ง๋ณด์๋ฅผ ์ฉ์ดํ๊ฒ ํ ์ ์์ต๋๋ค. ๊ธฐ์กด์๋ ์ด๋ฐ์์ผ๋ก API๋ฅผ ์์ฑํ์ฌ ํธ์ถํด์ฃผ์์ต๋๋ค //// RequsetAPI.swift// ๋ถ์ฐ ์ฌํ ๋ณต์ง ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์ดํ// https://apps.apple.com/kr/app/id1588773594// Created by jh on 2021/09/17.//import Foundationimport Alamofirestruct fetchAPI { private init() { } static let shared = fetchAPI() func getData(numOfRows: Int, PageNo: Int, completion: @escaping (_ data: [Item])..

์ง์ค ํ์ด๋จธ ์ง๊ด์ ์ธ ํ์ด๋จธ๋ก ์ง์ค๋ ฅ์ ๋์ฌ๋ณด์ธ์.๋ฌ๋ ฅ์ ๊ธฐ๋กํ๊ณ , ์ผ๋ง๋ ์ง์คํ๋์ง ๋๋์๋ณด์ธ์. https://apps.apple.com/kr/app/id6605927206 ์ง์ค ํ์ด๋จธ์ง์ค ํ์ด๋จธ๋ ์ง์ค๋ ฅ์ ๋์ด๊ณ ์๊ฐ ๊ด๋ฆฌ๋ฅผ ์ต์ ํํ๋ ๋ฐ ๋์์ ์ฃผ๋ ํ์ ์ ์ธ ํ์ด๋จธ ์ดํ์ ๋๋ค. ๋ ์ฐฝ์ ์ธ ์ํ ํ์ด๋จธ ๋์์ธ์ ํตํด ์ฝ๊ณ ์ง๊ด์ ์ผ๋ก ์๊ฐ์ ์ค์ ํ๊ณ , ์ง์คํ ์ ์apps.apple.com 1. ์ง๊ด์ ์ธ UI๋ก ์ง์ค๋ ฅ์ ๋์ฌ๋ณด์ธ์ 2. ์ง์คํ ์๊ฐ๋ค์ ํ๋์ ์ดํด๋ณด์ธ์ 3. ํ์์ ๋ง๊ฒ ์ปค์คํฐ๋ง์ด์ฆ ํด๋ณด์ธ์ ์ง์ค ํ์ด๋จธ๋ ์ง์ค๋ ฅ์ ๋์ด๊ณ ์๊ฐ ๊ด๋ฆฌ๋ฅผ ์ต์ ํํ๋ ๋ฐ ๋์์ ์ฃผ๋ ํ์ ์ ์ธ ํ์ด๋จธ ์ดํ์ ๋๋ค. ๋ ์ฐฝ์ ์ธ ์ํ ํ์ด๋จธ ๋์์ธ์ ํตํด ์ฝ๊ณ ์ง๊ด์ ์ผ๋ก ์๊ฐ์ ์ค์ ํ๊ณ ..
์ํฉ์ ์ด๋ ์ต๋๋ค 1. TableView์ data๊ฐ ์ง์์ ์ผ๋ก ๋ณํ๊ณ ์์ต๋๋ค.2. TableView์ ํน์ index๋ง update ํด์ฃผ๋ ค๊ณ ํฉ๋๋ค. (์ค์ ๋ก๋ ๋น๋๊ธฐ ์์ ์ updateํด์ฃผ๋ ์ํฉ) ์ ๊ฐ ๊ฒช์ ๋ฌธ์ ๋ @objc func buttonPressed() { // ๋ฒํผ ๋๋ ์๋ data ๋ณ๊ฒฝ ์ด์ ๋๋ ์ดํ ํ ์ด๋ธ๋ทฐ ์ ๋ฐ์ดํธ ๋๋๋ก DispatchQueue.main.async { self.tableView.reloadRows(at: [IndexPath(row: 3, section: 0)], with: .automatic) } self.dataArray = ["1","2","3","4","5","6"] } s..
TableView์์ ์ ํ๋ cell์ ์ต์์ layer๋ก ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ฐ์ cell์ ์ ์ํ ๋, selectedIndex(์ ์ญ๋ณ์)๋ก cell์ ๊ตฌ๋ถํด์คฌ์ต๋๋ค. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { if indexPath.row == selectedIndex { let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) cell.layer.zPosition = 1 return cell } el..
UIPageViewController๋ฅผ ๊ตฌํํ๋ ์ค view.addSubview(navigationView)addChild(pageViewController)view.addSubview(pageViewController.view) ๊ฐ ์ปดํฌ๋ํธ1. navigationView(UIView type)2. pageViewController(UIViewController type) ๋ฅผ ํ๋ฉด์ ์ถ๊ฐํ๋ ๋ถ๋ถ์ ์์ด์์ฐจ์ด์ ์ด ์๋ค๋๊ฒ์ ์๊ฒ๋์์ต๋๋ค. addSubview(_:)๋ UIView์ subview๋ฅผ ์ถ๊ฐํ๋ ๋ฉ์๋์ ๋๋ค.UIView ํํ๋ฅผ ์ถ๊ฐํ ๋ ์ฌ์ฉํ๊ตฌ์. 1. sub ๋ทฐ๋ parent ๋ทฐ์ ์ขํ๊ณ๋ฅผ ๋ฐ๋ฅด๋ฉฐ2. parent ๋ทฐ๊ฐ ์ด๋ํ๊ฑฐ๋ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด sub ๋ทฐ ๋ํ ๋ณ๊ฒฝ๋๋ค ๋ ํน์ง์ ๊ฐ์ง๊ณ ..
- Total
- Today
- Yesterday
- swift network ๊ณตํตํ
- swift filemanager get excel
- swift ์๊ฐ
- filemanager excel read
- swift network module
- readysay
- swift ๋คํธ์ํฌ ๋ชจ๋ํ
- ์๋์ํํธ ๋ ์ด์ธ์ด
- swift urlsession ๊ณตํตํ
- rag ๊ธฐ๋ฐ llm
- rag llm pdf
- concurrency pagination
- swift ์์ ์ฝ๊ธฐ
- ๊ณต๋ถ ํ์ด๋จธ ์ดํ
- ๋น๋๊ธฐ ๋ฆฌ์คํธ swift
- ๋ ๋์ธ์ด ์ดํ
- swift urlcomponent encode
- llm pdf rag
- chatgpt rag llm
- swift get excel
- swift ์์ ๊ฐ์ ธ์ค๊ธฐ
- rag ๊ธฐ๋ฐ llm ์ฑ๋ด
- ๋น๋๊ธฐ ํ์ด์ง swift
- swift urlsession refactoring
- llm csv
- swift queryitem encode
- swift filemanager excel
- swift excel read
- ๋ ๋์ธ์ด
- swift network refactoring
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |