国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站空間大小選擇百度怎么投放自己的廣告

網(wǎng)站空間大小選擇,百度怎么投放自己的廣告,石家莊市和城鄉(xiāng)建設(shè)局網(wǎng)站,做網(wǎng)站的必要性文章目錄 一、langChain 介紹二、環(huán)境安裝1.依賴(lài)庫(kù)安裝2.下載模型 三、基本使用示例1.使用 ChatPromptTemplate 進(jìn)行對(duì)話2.流式輸出3.工具調(diào)用4.多模態(tài)模型調(diào)用 四、進(jìn)階使用1.使用 ConversationChain 進(jìn)行對(duì)話2.自定義提示模板3.構(gòu)建一個(gè)簡(jiǎn)單的 RAG 問(wèn)答系統(tǒng) 五、遇到問(wèn)題與解…

文章目錄

    • 一、langChain 介紹
    • 二、環(huán)境安裝
      • 1.依賴(lài)庫(kù)安裝
      • 2.下載模型
    • 三、基本使用示例
      • 1.使用 ChatPromptTemplate 進(jìn)行對(duì)話
      • 2.流式輸出
      • 3.工具調(diào)用
      • 4.多模態(tài)模型調(diào)用
    • 四、進(jìn)階使用
      • 1.使用 ConversationChain 進(jìn)行對(duì)話
      • 2.自定義提示模板
      • 3.構(gòu)建一個(gè)簡(jiǎn)單的 RAG 問(wèn)答系統(tǒng)
    • 五、遇到問(wèn)題與解決
      • 1.numpy版本沖突
    • 六、推薦鏈接:

在這里插入圖片描述

一、langChain 介紹

LangChain 是一個(gè)基于語(yǔ)言模型的框架,用于構(gòu)建聊天機(jī)器人、生成式問(wèn)答(GQA)、摘要等功能。它的核心思想是將不同的組件“鏈”在一起,以創(chuàng)建更高級(jí)的語(yǔ)言模型應(yīng)用。LangChain就像一個(gè)超級(jí)連接器,可以輕松和各種外部工具(比如API、搜索引擎)對(duì)接。比如,想讓聊天機(jī)器人能查詢(xún)天氣,只需要把天氣API和LangChain連接起來(lái),它就能幫你搞定。這樣,你的應(yīng)用功能會(huì)更強(qiáng)大,而且不需要自己去寫(xiě)復(fù)雜的代碼。

LangChain 的主要價(jià)值在于以下幾個(gè)方面:

  1. 組件化:LangChain 框架提供了用于處理語(yǔ)言模型的抽象組件,以及每個(gè)抽象組件的一系列 實(shí)現(xiàn)。這些組件具有模塊化設(shè)計(jì),易于使用,無(wú)論是否使用 LangChain 框架的其他部分,都 可以方便地使用這些組件。
  2. 現(xiàn)成的鏈?zhǔn)浇M裝:LangChain 框架提供了一些現(xiàn)成的鏈?zhǔn)浇M裝,用于完成特定的高級(jí)任務(wù)。這 些現(xiàn)成的鏈?zhǔn)浇M裝使得入門(mén)變得更加容易。對(duì)于更復(fù)雜的應(yīng)用程序,LangChain 框架也支持 自定義現(xiàn)有鏈?zhǔn)浇M裝或構(gòu)建新的鏈?zhǔn)浇M裝。
  3. 簡(jiǎn)化開(kāi)發(fā)難度:通過(guò)提供組件化和現(xiàn)成的鏈?zhǔn)浇M裝,LangChain 框架可以大大簡(jiǎn)化大語(yǔ)言模 型應(yīng)用的開(kāi)發(fā)難度。開(kāi)發(fā)人員可以更專(zhuān)注于業(yè)務(wù)邏輯,而無(wú)需花費(fèi)大量時(shí)間和精力處理底層 技術(shù)細(xì)節(jié)。

二、環(huán)境安裝

1.依賴(lài)庫(kù)安裝

需要安裝以下包:

  • langchain-ollama: 用于集成 Ollama 模型到 LangChain 框架中
  • langchain: LangChain 的核心庫(kù),提供了構(gòu)建 AI 應(yīng)用的工具和抽象
  • langchain-community: 包含了社區(qū)貢獻(xiàn)的各種集成和工具
  • Pillow: 用于圖像處理,在多模態(tài)任務(wù)中會(huì)用到
  • faiss-gpu: 用于構(gòu)建簡(jiǎn)單 RAG 檢索器

安裝命令如下

pip install langchain-ollama langchain langchain-community Pillow faiss-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple

2.下載模型

以llama3.1 為例,下載方式為

ollama pull llama3.1

如果需要部署其他的模型,可以 https://ollama.ai/library 了解所有可用的模型,通過(guò) ollama pull <name-of-model> 命令獲取。

三、基本使用示例

1.使用 ChatPromptTemplate 進(jìn)行對(duì)話

示例代碼如下

from langchain_ollama import ChatOllama # 添加庫(kù)
from langchain_core.prompts import ChatPromptTemplate # 添加庫(kù)template = """
你是一個(gè)樂(lè)于助人的AI,擅長(zhǎng)于解決回答各種問(wèn)題。
問(wèn)題:{question}
"""
model = ChatOllama(model="qwen05b", temperature=0.7) # 添加模型prompt = ChatPromptTemplate.from_template(template)
chain = prompt | model
result = chain.invoke({"question": "你比GPT4厲害嗎?"})
print(result)

在創(chuàng)建鏈部分,使用管道操作符 |,它將 prompt 和 model 連接起來(lái),形成一個(gè)處理流程。這種鏈?zhǔn)讲僮魇沟梦覀兛梢暂p松地組合和重用不同的組件。

invoke 方法觸發(fā)整個(gè)處理鏈,將我們的問(wèn)題傳入模板,然后將格式化后的提示發(fā)送給模型進(jìn)行處理。

2.流式輸出

流式輸出是一種在生成長(zhǎng)文本時(shí)逐步返回結(jié)果的技術(shù)。這種方法有幾個(gè)重要的優(yōu)勢(shì):

  1. 提高用戶體驗(yàn):用戶可以立即看到部分結(jié)果,而不是等待整個(gè)響應(yīng)完成。
  2. 減少等待時(shí)間:對(duì)于長(zhǎng)回答,用戶可以在完整回答生成之前就開(kāi)始閱讀。
  3. 實(shí)時(shí)交互:允許在生成過(guò)程中進(jìn)行干預(yù)或終止。

在實(shí)際應(yīng)用中,特別是在聊天機(jī)器人或?qū)崟r(shí)對(duì)話系統(tǒng)中,流式輸出幾乎是必不可少的。

示例代碼如下:

from langchain_ollama import ChatOllamamodel = ChatOllama(model="llama3.1", temperature=0.7)messages = [("human", "你好呀"),
]for chunk in model.stream(messages):print(chunk.content, end='', flush=True)

model.stream() 方法是對(duì) Ollama API 的流式輸出接口的封裝,它返回一個(gè)生成器(generator)對(duì)象。當(dāng)調(diào)用 model.stream(messages) 時(shí),會(huì)完成以下操作:

  • 向 Ollama API 發(fā)送請(qǐng)求,開(kāi)始生成響應(yīng)。
  • API 開(kāi)始生成文本,但不是等到全部生成完畢才返回,而是一小塊一小塊地返回。
  • 每收到一小塊文本,stream() 方法就會(huì) yield 這個(gè)文本塊。
  • flush=True 確保每個(gè)片段立即顯示,而不是等待緩沖區(qū)填滿。

3.工具調(diào)用

工具調(diào)用是 AI 模型與外部函數(shù)或 API 交互的能力。這使得模型可以執(zhí)行復(fù)雜的任務(wù),如數(shù)學(xué)計(jì)算、數(shù)據(jù)查詢(xún)或外部服務(wù)調(diào)用。

from langchain_ollama import ChatOllamadef simple_calculator(operation: str, x: float, y: float) -> float:if operation == "add":return x + yelif operation == "subtract":return x - yelif operation == "multiply":return x * yelif operation == "divide":if y != 0:return x / yelse:raise ValueError("Cannot divide by zero")else:raise ValueError("Invalid operation")# 初始化綁定工具的 ChatOllama 模型
llm = ChatOllama(model="llama3.1",temperature=0,
).bind_tools([simple_calculator])# 使用模型進(jìn)行工具調(diào)用
result = llm.invoke("你知道一千萬(wàn)乘二是多少嗎?"
)
print("Tool calls:", result.tool_calls)

bind_tools 方法允許我們將自定義函數(shù)注冊(cè)到模型中。這樣,當(dāng)模型遇到需要計(jì)算的問(wèn)題時(shí),它可以調(diào)用這個(gè)函數(shù)來(lái)獲得準(zhǔn)確的結(jié)果,而不是依賴(lài)于其預(yù)訓(xùn)練知識(shí)。

這種能力在構(gòu)建復(fù)雜的 AI 應(yīng)用時(shí)非常有用,例如:

  • 創(chuàng)建可以訪問(wèn)實(shí)時(shí)數(shù)據(jù)的聊天機(jī)器人
  • 構(gòu)建能執(zhí)行特定任務(wù)(如預(yù)訂、查詢(xún)等)的智能助手
  • 開(kāi)發(fā)能進(jìn)行精確計(jì)算或復(fù)雜操作的 AI 系統(tǒng)

4.多模態(tài)模型調(diào)用

Ollama 支持多模態(tài)模型,如 bakllava 和 llava。多模態(tài)模型是能夠處理多種類(lèi)型輸入(如文本、圖像、音頻等)的 AI 模型。這些模型在理解和生成跨模態(tài)內(nèi)容方面表現(xiàn)出色,使得更復(fù)雜和自然的人機(jī)交互成為可能。

首先,需要下載多模態(tài)模型。在命令行執(zhí)行:

ollama pull llava

然后通過(guò)以下代碼實(shí)現(xiàn)多模態(tài)模型的調(diào)用

from langchain_ollama import ChatOllama
from langchain_core.messages import HumanMessage
from langchain_core.output_parsers import StrOutputParser
from PIL import Imagellm = ChatOllama(model="llava", temperature=0)def convert_to_base64(pil_image):"""將 PIL 圖像轉(zhuǎn)換為 Base64 編碼的字符串:param pil_image: PIL 圖像:return: 調(diào)整大小后的 Base64 字符串"""buffered = BytesIO()pil_image.save(buffered, format="JPEG")  # 如果需要,可以更改格式img_str = base64.b64encode(buffered.getvalue()).decode("utf-8")return img_strdef prompt_func(data):'''構(gòu)造多模態(tài)輸入'''text = data["text"]image = data["image"]image_part = {"type": "image_url","image_url": f"data:image/jpeg;base64,{image}",}content_parts = []text_part = {"type": "text", "text": text}content_parts.append(image_part)content_parts.append(text_part)return [HumanMessage(content=content_parts)]file_path = "./task04/aa.jpg"
pil_image = Image.open(file_path)
image_b64 = convert_to_base64(pil_image)chain = prompt_func | llm | StrOutputParser()query_chain = chain.invoke({"text": "這個(gè)圖片里是什么動(dòng)物啊?", "image": image_b64}print(query_chain)

這里的關(guān)鍵點(diǎn)是:

  1. 圖像預(yù)處理:我們需要將圖像轉(zhuǎn)換為 base64 編碼的字符串。
  2. 提示函數(shù):prompt_func 創(chuàng)建了一個(gè)包含文本和圖像的多模態(tài)輸入。
  3. 鏈?zhǔn)教幚?#xff1a;我們使用 | 操作符將提示函數(shù)、模型和輸出解析器連接起來(lái)。

四、進(jìn)階使用

1.使用 ConversationChain 進(jìn)行對(duì)話

ConversationChain 是 LangChain 提供的一個(gè)強(qiáng)大工具,用于管理多輪對(duì)話。它結(jié)合了語(yǔ)言模型、提示模板和內(nèi)存組件,使得創(chuàng)建具有上下文感知能力的對(duì)話系統(tǒng)變得簡(jiǎn)單。

完整示例代碼如下

from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory
from langchain_ollama import OllamaLLM# 初始化Ollama LLM
model_name = "llama3.1"
model = OllamaLLM(model=model_name)# 初始化 ConversationBufferMemory
memory = ConversationBufferMemory()# 創(chuàng)建 ConversationChain
conversation = ConversationChain(llm=model,memory=memory,verbose=True
) # 設(shè)置 verbose=True 以顯示調(diào)試信息, 默認(rèn)為 False# 進(jìn)行對(duì)話
response = conversation.predict(input="你好,我想了解一下人工智能。")
print("AI:", response)response = conversation.predict(input="能給我舉個(gè)AI在日常生活中的應(yīng)用例子嗎?")
print("AI:", response)response = conversation.predict(input="這聽(tīng)起來(lái)很有趣。AI在醫(yī)療領(lǐng)域有什么應(yīng)用?")
print("AI:", response)

這里的關(guān)鍵組件是:

  1. ConversationBufferMemory:這是一個(gè)簡(jiǎn)單的內(nèi)存組件,它存儲(chǔ)所有先前的對(duì)話歷史。
  2. ConversationChain:它將語(yǔ)言模型、內(nèi)存和一個(gè)默認(rèn)的對(duì)話提示模板組合在一起。

維護(hù)對(duì)話歷史很重要,因?yàn)樗试S模型:

  • 理解上下文和之前提到的信息
  • 生成更連貫和相關(guān)的回復(fù)
  • 處理復(fù)雜的多輪對(duì)話場(chǎng)景

在實(shí)際應(yīng)用中,你可能需要考慮使用更高級(jí)的內(nèi)存組件,如 ConversationSummaryMemory,以處理長(zhǎng)對(duì)話并避免超出模型的上下文長(zhǎng)度限制。

輸出結(jié)果如下所示:

在這里插入圖片描述

2.自定義提示模板

設(shè)計(jì)好的提示模板是創(chuàng)建高效 AI 應(yīng)用的關(guān)鍵。在這個(gè)例子中,我們創(chuàng)建了一個(gè)用于生成產(chǎn)品描述的復(fù)雜提示:

system_message = SystemMessage(content="""
你是一位經(jīng)驗(yàn)豐富的電商文案撰寫(xiě)專(zhuān)家。你的任務(wù)是根據(jù)給定的產(chǎn)品信息創(chuàng)作吸引人的商品描述。
請(qǐng)確保你的描述簡(jiǎn)潔、有力,并且突出產(chǎn)品的核心優(yōu)勢(shì)。
""")human_message_template = """
請(qǐng)為以下產(chǎn)品創(chuàng)作一段吸引人的商品描述:
產(chǎn)品類(lèi)型: {product_type}
核心特性: {key_feature}
目標(biāo)受眾: {target_audience}
價(jià)格區(qū)間: {price_range}
品牌定位: {brand_positioning}請(qǐng)?zhí)峁┮韵氯N不同風(fēng)格的描述,每種大約50字:
1. 理性分析型
2. 情感訴求型
3. 故事化營(yíng)銷(xiāo)型
"""# 示例使用
product_info = {"product_type": "智能手表","key_feature": "心率監(jiān)測(cè)和睡眠分析","target_audience": "注重健康的年輕專(zhuān)業(yè)人士","price_range": "中高端","brand_positioning": "科技與健康的完美結(jié)合"
}

這個(gè)結(jié)構(gòu)有幾個(gè)重要的設(shè)計(jì)考慮:

  1. system_prompt:定義了 AI 的角色和總體任務(wù),設(shè)置了整個(gè)對(duì)話的基調(diào)。
  2. human_message_template:提供了具體的指令和所需信息的結(jié)構(gòu)。
  3. 多參數(shù)設(shè)計(jì):允許靈活地適應(yīng)不同的產(chǎn)品和需求。
  4. 多樣化輸出要求:通過(guò)要求不同風(fēng)格的描述,鼓勵(lì)模型展示其多樣性。

設(shè)計(jì)有效的提示模板時(shí),考慮以下幾點(diǎn):

  • 明確定義 AI 的角色和任務(wù)
  • 提供清晰、結(jié)構(gòu)化的輸入格式
  • 包含具體的輸出要求和格式指導(dǎo)
  • 考慮如何最大化模型的能力和創(chuàng)造力

完整示例代碼:

from langchain_ollama import ChatOllama
from langchain_core.messages import SystemMessage, HumanMessage# 初始化ChatOllama模型
model = ChatOllama(model="llama3.1", temperature=0.7)system_message = SystemMessage(content="""
你是一位經(jīng)驗(yàn)豐富的電商文案撰寫(xiě)專(zhuān)家。你的任務(wù)是根據(jù)給定的產(chǎn)品信息創(chuàng)作吸引人的商品描述。
請(qǐng)確保你的描述簡(jiǎn)潔、有力,并且突出產(chǎn)品的核心優(yōu)勢(shì)。
""")human_message_template = """
請(qǐng)為以下產(chǎn)品創(chuàng)作一段吸引人的商品描述:
產(chǎn)品類(lèi)型: {product_type}
核心特性: {key_feature}
目標(biāo)受眾: {target_audience}
價(jià)格區(qū)間: {price_range}
品牌定位: {brand_positioning}請(qǐng)?zhí)峁┮韵氯N不同風(fēng)格的描述,每種大約50字:
1. 理性分析型
2. 情感訴求型
3. 故事化營(yíng)銷(xiāo)型
"""def generate_product_descriptions(product_info):human_message = HumanMessage(content=human_message_template.format(**product_info))messages = [system_message, human_message]response = model.invoke(messages)return response.content# 示例使用
product_info = {"product_type": "智能手表","key_feature": "心率監(jiān)測(cè)和睡眠分析","target_audience": "注重健康的年輕專(zhuān)業(yè)人士","price_range": "中高端","brand_positioning": "科技與健康的完美結(jié)合"
}result = generate_product_descriptions(product_info)
print(result)

輸出結(jié)果如下所示:

$ python task04/ChatOllamaWithTemplate.py
**理性分析型**"高科技智能手表,讓你與健康保持同步。實(shí)時(shí)心率監(jiān)測(cè)和睡眠分析,為你的健身計(jì)劃提供科學(xué)依據(jù)。輕松追蹤你的身體變化,實(shí)現(xiàn)更好的生活質(zhì)量。高精度數(shù)據(jù)為你決策,助你成長(zhǎng)為完美版的自己。"**情感訴求型**"讓健康成為你最大的愛(ài)好!與我的智能手表一起,擁抱每個(gè)新的日子。實(shí)時(shí)監(jiān)測(cè)你的心率和睡眠,讓你更了解自己的身體,享受生活的快樂(lè)。讓我們一起追尋健康的理想生活吧!"**故事化營(yíng)銷(xiāo)型**"在一次激動(dòng)人心的遠(yuǎn)征中,你遇到了自己。有心率監(jiān)測(cè)和睡眠分析的智能手表陪伴著你,每一步都記錄在心,體驗(yàn)每個(gè)瞬間的純粹。追尋健康的理想生活,不僅是目標(biāo),更是一場(chǎng)不息的冒險(xiǎn)。與我一起,開(kāi)啟健康之旅吧!"

3.構(gòu)建一個(gè)簡(jiǎn)單的 RAG 問(wèn)答系統(tǒng)

RAG(Retrieval-Augmented Generation)是一種結(jié)合了檢索和生成的 AI 技術(shù),它通過(guò)檢索相關(guān)信息來(lái)增強(qiáng)語(yǔ)言模型的回答能力。RAG 系統(tǒng)的工作流程通常包括以下步驟:

  1. 將知識(shí)庫(kù)文檔分割成小塊并創(chuàng)建向量索引
  2. 對(duì)用戶的問(wèn)題進(jìn)行向量化,在索引中檢索相關(guān)文檔
  3. 將檢索到的相關(guān)文檔和原始問(wèn)題一起作為上下文提供給語(yǔ)言模型
  4. 語(yǔ)言模型根據(jù)檢索到的信息生成回答

RAG 的優(yōu)勢(shì)在于它可以幫助語(yǔ)言模型訪問(wèn)最新和專(zhuān)業(yè)的信息,減少幻覺(jué),并提高回答的準(zhǔn)確性和相關(guān)性。

LangChain 提供了多種組件,可以與 Ollama 模型無(wú)縫集成。這里我們將展示如何將 Ollama 模型與向量存儲(chǔ)和檢索器結(jié)合使用,創(chuàng)建一個(gè)簡(jiǎn)單的 RAG 問(wèn)答系統(tǒng)。

首先需要確保下載 embedding 模型,可以在命令行執(zhí)行以下命令:

ollama pull nomic-embed-text

完整示例代碼如下:

from langchain_ollama import ChatOllama
from langchain_community.vectorstores import FAISS
from langchain_ollama import OllamaEmbeddings
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain.text_splitter import RecursiveCharacterTextSplitter# 初始化 Ollama 模型和嵌入
llm = ChatOllama(model="llama3.1")
embeddings = OllamaEmbeddings(model="nomic-embed-text")# 準(zhǔn)備文檔
text = """
Datawhale 是一個(gè)專(zhuān)注于數(shù)據(jù)科學(xué)與 AI 領(lǐng)域的開(kāi)源組織,匯集了眾多領(lǐng)域院校和知名企業(yè)的優(yōu)秀學(xué)習(xí)者,聚合了一群有開(kāi)源精神和探索精神的團(tuán)隊(duì)成員。
Datawhale 以“ for the learner,和學(xué)習(xí)者一起成長(zhǎng)”為愿景,鼓勵(lì)真實(shí)地展現(xiàn)自我、開(kāi)放包容、互信互助、敢于試錯(cuò)和勇于擔(dān)當(dāng)。
同時(shí) Datawhale 用開(kāi)源的理念去探索開(kāi)源內(nèi)容、開(kāi)源學(xué)習(xí)和開(kāi)源方案,賦能人才培養(yǎng),助力人才成長(zhǎng),建立起人與人,人與知識(shí),人與企業(yè)和人與未來(lái)的聯(lián)結(jié)。
如果你想在Datawhale開(kāi)源社區(qū)發(fā)起一個(gè)開(kāi)源項(xiàng)目,請(qǐng)?jiān)敿?xì)閱讀Datawhale開(kāi)源項(xiàng)目指南[https://github.com/datawhalechina/DOPMC/blob/main/GUIDE.md]
"""text_splitter = RecursiveCharacterTextSplitter(chunk_size=100, chunk_overlap=20)
chunks = text_splitter.split_text(text)# 創(chuàng)建向量存儲(chǔ)
vectorstore = FAISS.from_texts(chunks, embeddings)
retriever = vectorstore.as_retriever()# 創(chuàng)建提示模板
template = """只能使用下列內(nèi)容回答問(wèn)題:
{context}Question: {question}
"""
prompt = ChatPromptTemplate.from_template(template)# 創(chuàng)建檢索-問(wèn)答鏈
chain = ({"context": retriever, "question": RunnablePassthrough()}| prompt| llm
)# 使用鏈回答問(wèn)題
question = "我想為datawhale貢獻(xiàn)該怎么做?"
response = chain.invoke(question)
print(response.content)

這個(gè) RAG 系統(tǒng)的工作原理如下:

  1. 文本分割:使用 RecursiveCharacterTextSplitter 將長(zhǎng)文本分割成小塊。
  2. 向量化和索引:使用 OllamaEmbeddings 將文本塊轉(zhuǎn)換為向量,并用 FAISS 創(chuàng)建向量索引。
  3. 檢索:當(dāng)收到問(wèn)題時(shí),系統(tǒng)會(huì)將問(wèn)題向量化,并在 FAISS 索引中檢索最相關(guān)的文本塊。
  4. 生成回答:將檢索到的相關(guān)文本塊與原始問(wèn)題一起提供給語(yǔ)言模型,生成最終答案。

RAG 系統(tǒng)在許多真實(shí)場(chǎng)景中非常有用,例如:

  • 客戶服務(wù):可以基于公司的知識(shí)庫(kù)快速回答客戶詢(xún)問(wèn)。
  • 研究輔助:幫助研究人員快速找到相關(guān)文獻(xiàn)并總結(jié)關(guān)鍵信息。
  • 個(gè)人助手:結(jié)合個(gè)人筆記和網(wǎng)絡(luò)信息,提供個(gè)性化的信息檢索和建議。

五、遇到問(wèn)題與解決

1.numpy版本沖突

報(bào)錯(cuò)日志如下

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.2.3 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.Traceback (most recent call last):  File "/home/allyoung/task04/ChatOllamaRAG.py", line 24, in <module>vectorstore = FAISS.from_texts(chunks, embeddings)File "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/langchain_community/vectorstores/faiss.py", line 1044, in from_textsreturn cls.__from(File "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/langchain_community/vectorstores/faiss.py", line 996, in __fromfaiss = dependable_faiss_import()File "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/langchain_community/vectorstores/faiss.py", line 56, in dependable_faiss_importimport faissFile "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/faiss/__init__.py", line 18, in <module>from .loader import *File "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/faiss/loader.py", line 65, in <module>from .swigfaiss import *File "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/faiss/swigfaiss.py", line 13, in <module>from . import _swigfaiss
AttributeError: _ARRAY_API not found
Traceback (most recent call last):File "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/langchain_community/vectorstores/faiss.py", line 56, in dependable_faiss_importimport faissFile "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/faiss/__init__.py", line 18, in <module>from .loader import *File "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/faiss/loader.py", line 65, in <module>from .swigfaiss import *File "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/faiss/swigfaiss.py", line 13, in <module>from . import _swigfaiss
ImportError: numpy.core.multiarray failed to importDuring handling of the above exception, another exception occurred:Traceback (most recent call last):File "/home/allyoung/task04/ChatOllamaRAG.py", line 24, in <module>vectorstore = FAISS.from_texts(chunks, embeddings)File "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/langchain_community/vectorstores/faiss.py", line 1044, in from_textsreturn cls.__from(File "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/langchain_community/vectorstores/faiss.py", line 996, in __fromfaiss = dependable_faiss_import()File "/home/allyoung/anaconda3/envs/deepseek/lib/python3.10/site-packages/langchain_community/vectorstores/faiss.py", line 58, in dependable_faiss_importraise ImportError(
ImportError: Could not import faiss python package. Please install it with `pip install faiss-gpu` (for CUDA supported GPU) or `pip install faiss-cpu` (depending on Python version).

解決方式:

$ pip uninstall numpy
$ pip install numpy==1.26.4 -i https://pypi.tuna.tsinghua.edu.cn/simple

六、推薦鏈接:

https://github.com/wdndev/llm_interview_note/blob/main/10.大語(yǔ)言模型應(yīng)用/1.langchain/1.langchain.md
http://aloenet.com.cn/news/29763.html

相關(guān)文章:

  • 免費(fèi)行情軟件網(wǎng)站有哪些sem競(jìng)價(jià)外包公司
  • 騰訊云可以做網(wǎng)站嗎3百度網(wǎng)盤(pán)免費(fèi)下載
  • 沈陽(yáng)市網(wǎng)站制作廣東省人大常委會(huì)
  • 一級(jí)a做爰網(wǎng)站下載代發(fā)軟文
  • 深圳光明廣州網(wǎng)絡(luò)seo優(yōu)化
  • 使用免費(fèi)的代碼做網(wǎng)站品牌廣告
  • 公司企業(yè)網(wǎng)站制作教程推廣專(zhuān)家
  • 網(wǎng)站開(kāi)發(fā)常見(jiàn)問(wèn)題總結(jié)百度收錄關(guān)鍵詞查詢(xún)
  • 成都模板建站代理seo站長(zhǎng)工具下載
  • 木工支模價(jià)格明細(xì)表搜索引擎優(yōu)化的流程是什么
  • 自己做網(wǎng)站哪種好做搜索引擎優(yōu)化的策略主要有
  • 網(wǎng)站建設(shè)江門(mén)游戲代理加盟
  • 河南平臺(tái)網(wǎng)站建設(shè)價(jià)位百度網(wǎng)站網(wǎng)址是多少
  • 深圳定制網(wǎng)站制作費(fèi)用百度智能建站系統(tǒng)
  • 網(wǎng)站開(kāi)發(fā)技術(shù)實(shí)驗(yàn)教程seo推廣優(yōu)化的方法
  • 漢中門(mén)戶網(wǎng)工程招標(biāo)杭州seo網(wǎng)站哪家好
  • 高端網(wǎng)站建設(shè)費(fèi)用深圳網(wǎng)絡(luò)推廣公司哪家好
  • 個(gè)人接做網(wǎng)站多少錢(qián)app優(yōu)化方案
  • 汕頭有建網(wǎng)站公司嗎seo案例
  • 公司和網(wǎng)站備案查詢(xún)密碼網(wǎng)絡(luò)營(yíng)銷(xiāo)和傳統(tǒng)營(yíng)銷(xiāo)的區(qū)別有哪些
  • 宣傳片視頻西安seo排名
  • wordpress采集網(wǎng)頁(yè)文章安卓?jī)?yōu)化大師app下載
  • 工作總結(jié)ppt模板免費(fèi)寧波優(yōu)化推廣選哪家
  • 桂林做網(wǎng)站的公司seo是哪里
  • 購(gòu)物網(wǎng)站開(kāi)發(fā)技術(shù)河北網(wǎng)站優(yōu)化公司
  • 網(wǎng)站風(fēng)格類(lèi)型百度流量統(tǒng)計(jì)
  • 為什么做電子商務(wù)網(wǎng)站的原因中國(guó)建設(shè)網(wǎng)官方網(wǎng)站
  • 制作一個(gè)買(mǎi)股票的網(wǎng)站怎么做seo比較好的公司
  • 網(wǎng)站畢業(yè)設(shè)計(jì)怎么做網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣活動(dòng)有哪些
  • 合伙做網(wǎng)站怎么分配股權(quán)各地疫情最新消息