# LangFlow Tutorial
> 2023-11-28
> LangChain及LangFlow使用指南
> https://www.eula.club/blogs/LangChain%E5%8F%8ALangFlow%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.html#_1-langchain%E6%A1%86%E6%9E%B6%E7%9A%84%E4%BB%8B%E7%BB%8D%E4%B8%8E%E4%BD%BF%E7%94%A8
> 2023-12-12
> 文件中的範例請參考: [Flowchart](https://advantecho365.sharepoint.com/:u:/s/AI447/EW3lwMU0mZtNgcg3Aqn9jhgBdOlkJI2255tUrNZY-stZMA?e=NOJdK2) (updated@ 2023-12-12)
> 測試用csv檔案請參考: [error_code.csv](https://advantecho365-my.sharepoint.com/:x:/g/personal/emerson_chen_advantech_com/EQMi9CgoYblIjspWbS2GfREB0_EpA7wAIEAfQ-pcrEqxKQ?e=FCY6v1) or [error_code_English.csv](https://advantecho365-my.sharepoint.com/:x:/g/personal/emerson_chen_advantech_com/EUxTmFHjSUVNvcpbAcT4N9kBouGOFBtQj5GMXYq5LWVshw?e=nznuUs)
>
## Flowchart說明
![image]
1. `LocalFileLoader`<font color="#ff0000"></font>
1. 從本地端挑選檔案並且上傳(支援csv、json、txt、pdf、pptx、docx)
2. `AzureOpenAIEmbeddings`<font color="#ff0000">[\*註1]</font>
1. 用以串接Azure API,調用Azure提供的語言模型
2. 此場景用途:提供文件理解與抽取資訊的功能,例如: pdf, txt, 資料庫等
3. `AzureChatOpenAI`<font color="#ff0000">[\*註2]</font>
1. 用以串接Azure API,調用Azure提供的語言模型
2. 此場景用途:提供聊天導向的語意理解與問答
4. `CombineDocsChain`
1. 整合載入的文件以實現後續的問答功能
2. 詳細請參考: [CombineDocsChain](https://docs.langflow.org/components/chains#combinedocschain "Direct link to CombineDocsChain")
5. `PGVector`<font color="#ff0000">[\*註3]</font>
1. 提供串接pgvector功能
2. 可指定連接欄位以及目標Table
6. `RetrievalQA`
1. 讀取已整合的文件資料,並從中檢索資訊以實現文本問答
7. `Tool`
1. 將Chain、Agent或者Function封裝成tool
2. 方便提供Agent更多的可用工具
8. `AgentInitializer`<font color="#ff0000">[\*註4]</font>
1. 這是一種從語言模型 (LLM) 和工具建立零樣本代理(zero-shot agent)的快速方法
:::info
### :eyes: AzureOpenAIEmbeddings填寫範例<font color="#ff0000">[\*註1]</font>

### :eyes: AzureChatOpenAI填寫範例<font color="#ff0000">[\*註2]</font>

### :eyes: PGVector填寫範例<font color="#ff0000">[\*註3]</font>

### :eyes: What is an Agent? <font color="#ff0000">[\*註4]</font>
更多資訊請參考: [Agents](https://docs.langflow.org/components/agents)
>
> 代理(Agents)是一個會使用推理(reasoning)來做出決策和採取行動的元件,旨在以某種程度的「自主」(或代理)執行任務或提供服務。它們能提供 LLM 額外的強大功能,例如**調用 API**、**Google搜尋**,甚至**串接資料庫**等外部工具。
:::
## QA (Question Answering) :
1. 請問1007是什麼錯誤?

