成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Chatbot開(kāi)發(fā)三劍客:LLAMA、LangChain和Python

人工智能
讓我們使用Langchain、llama和Python構(gòu)建一個(gè)簡(jiǎn)單的聊天機(jī)器人!

聊天機(jī)器人(Chatbot)開(kāi)發(fā)是一項(xiàng)充滿(mǎn)挑戰(zhàn)的復(fù)雜任務(wù),需要綜合運(yùn)用多種技術(shù)和工具。在這一領(lǐng)域中,LLAMA、LangChain和Python的聯(lián)合形成了一個(gè)強(qiáng)大的組合,為Chatbot的設(shè)計(jì)和實(shí)現(xiàn)提供了卓越支持。

首先,LLAMA是一款強(qiáng)大的自然語(yǔ)言處理工具,具備先進(jìn)的語(yǔ)義理解和對(duì)話(huà)管理功能。它有助于Chatbot更好地理解用戶(hù)意圖,并根據(jù)上下文進(jìn)行智能響應(yīng)。LLAMA的高度可定制性使得開(kāi)發(fā)者可以根據(jù)實(shí)際需求靈活調(diào)整Chatbot的語(yǔ)言處理能力。

LangChain作為一個(gè)全棧語(yǔ)言技術(shù)平臺(tái),為Chatbot提供了豐富的開(kāi)發(fā)資源。它整合了多種語(yǔ)言技術(shù),包括語(yǔ)音識(shí)別、文本處理和機(jī)器翻譯,為Chatbot的多模態(tài)交互提供全面支持。LangChain的強(qiáng)大功能使得開(kāi)發(fā)者能夠輕松構(gòu)建復(fù)雜而靈活的Chatbot系統(tǒng)。

Python作為一種通用編程語(yǔ)言,是Chatbot開(kāi)發(fā)的理想選擇。其簡(jiǎn)潔而強(qiáng)大的語(yǔ)法使得開(kāi)發(fā)過(guò)程更加高效,而豐富的第三方庫(kù)和生態(tài)系統(tǒng)為Chatbot開(kāi)發(fā)提供了廣泛的工具和資源。Python的跨平臺(tái)性也使得Chatbot能夠在不同環(huán)境中運(yùn)行,實(shí)現(xiàn)更廣泛的應(yīng)用。

Chatbot開(kāi)發(fā)離不開(kāi)大型語(yǔ)言模型(LLM),LLM是一種以其實(shí)現(xiàn)通用語(yǔ)言理解和生成能力而備受關(guān)注的語(yǔ)言模型。LLM通過(guò)使用大量數(shù)據(jù)在訓(xùn)練期間學(xué)習(xí)數(shù)十億個(gè)參數(shù),并在訓(xùn)練和運(yùn)行過(guò)程中消耗大量計(jì)算資源來(lái)獲得這些能力。

圖片

讓我們使用Langchain、llama和Python構(gòu)建一個(gè)簡(jiǎn)單的聊天機(jī)器人!

在這個(gè)簡(jiǎn)單的項(xiàng)目中,我想創(chuàng)建一個(gè)關(guān)于HIV/AIDS特定主題的聊天機(jī)器人。這意味著我們發(fā)送給聊天機(jī)器人的消息,聊天機(jī)器人將嘗試根據(jù)主題和消息之間的關(guān)聯(lián)進(jìn)行回答。但在此之前,我們必須安裝和下載一些必要的組件:

1、大型語(yǔ)言模型

我使用的是從Hugging Face下載的META AI的LLAMA 2。

2、Langchain

用于開(kāi)發(fā)由語(yǔ)言模型驅(qū)動(dòng)的應(yīng)用程序的框架

pip install langchain

3、安裝Llama-cpp-python

llama.cpp庫(kù)的Python實(shí)現(xiàn)(我嘗試使用最新的llama.cpp版本,但它不起作用,所以我建議使用0.1.78穩(wěn)定版本,并確保安裝了C++編譯器)。

pip install llama-cpp-pythnotallow==0.1.78

4、導(dǎo)入庫(kù)

from langchain.prompts importPromptTemplate
from langchain.llms importLlamaCpp
from langchain.callbacks.manager importCallbackManager
from langchain.callbacks.streaming_stdout import(
StreamingStdOutCallbackHandler
)

PromptTemplate:負(fù)責(zé)創(chuàng)建PromptValue,這是一種根據(jù)用戶(hù)輸入組合動(dòng)態(tài)值的對(duì)象。

llamacpp:Facebook的LLAMA模型的C/C++端口。

CallbackManager:處理來(lái)自L(fǎng)angChain的回調(diào)。

StreamingStdOutCallbackHandler:用于流式處理的回調(diào)處理程序。

代碼

首先,我將為我的模型路徑創(chuàng)建一個(gè)名為 “your_model_path”的變量,然后因?yàn)槲抑幌胂拗浦黝}為HIV/AIDS,所以我創(chuàng)建了一個(gè)名為 “chat_topic”的主題變量,并將其填充為 “HIV/AIDS”,顯然你可以修改這個(gè)主題,如果你不想限制主題,可以刪除 “chat_topic”并更改模板。之后,我將創(chuàng)建一個(gè)名為 “user_question”的變量,以接收用戶(hù)輸入,還有一個(gè)稍后將使用的模板。

your_model_path = "寫(xiě)入你的模型路徑"
chat_topic = "hiv/aids"
user_question = str(input("輸入你的問(wèn)題:"))
template= """
請(qǐng)解釋這個(gè)問(wèn)題:“{question}”,主題是關(guān)于{topic}
"""

我將創(chuàng)建一個(gè) PromptTemplate變量,該變量將使用我們之前創(chuàng)建的模板,并將其分配給 “prompt”變量,然后更改提示的格式并將其分配給 “final_prompt”變量。我們使用 “chat_topic”中的主題和我們之前初始化的 “user_question”中的問(wèn)題。然后創(chuàng)建一個(gè)名為 “Callbackmanager”的變量,并將流處理程序分配給它。

prompt = PromptTemplate.from_template(template)
final_prompt = prompt.format(
    topic=chat_topic,
    questinotallow=user_question
)
CallbackManager= CallbackManager([StreamingStdOutCallbackHandler()])

之后,讓我們創(chuàng)建模型。

llm = LlamaCpp(
    model_path=your_model_path,
    n_ctx=6000,
    n_gpu_layers=512,
    n_batch=30,
    callback_manager=CallbackManager,
    temperature=0.9,
    max_tokens=4095,
    n_parts=1,
    verbose=0
)

model_path:LLAMA模型的路徑。 

n_ctx:令牌上下文窗口,模型在生成響應(yīng)時(shí)可以接受的令牌數(shù)量。 

n_gpu_layers:要加載到gpu內(nèi)存中的層數(shù)。 

n_batch:并行處理的令牌數(shù)。 

callback_manager:處理回調(diào)。 

temperature:用于抽樣的溫度,較高的溫度將導(dǎo)致更具創(chuàng)意和想象力的文本,而較低的溫度將導(dǎo)致更準(zhǔn)確和實(shí)際的文本。 

max_tokens:生成的最大令牌數(shù)。 

n_parts:要將模型分割成的部分?jǐn)?shù)。 

verbose:打印詳細(xì)輸出。

最后,調(diào)用模型并傳遞提示。

python "你的文件名.py"

要運(yùn)行它,只需在cmd中鍵入上述命令。

演示

圖片

圖片

完整代碼

from langchain.prompts importPromptTemplate
from langchain.llms importLlamaCpp
from langchain.callbacks.manager importCallbackManager
from langchain.callbacks.streaming_stdout import(
StreamingStdOutCallbackHandler
)
your_model_path = "write your model path"
chat_topic = "hiv/aids"
user_question = str(input("Enter your question : "))
template= """
Please explain this question : "{question}" the topic is about {topic}
"""
prompt = PromptTemplate.from_template(template)
final_prompt = prompt.format(
    topic=chat_topic,
    questinotallow=user_question
)
CallbackManager= CallbackManager([StreamingStdOutCallbackHandler()])
llm = LlamaCpp(
    model_path=your_model_path,
    n_ctx=6000,
    n_gpu_layers=512,
    n_batch=30,
    callback_manager=CallbackManager,
    temperature=0.9,
    max_tokens=4095,
    n_parts=1,
    verbose=0
)
llm(final_prompt)

責(zé)任編輯:龐桂玉 來(lái)源: Python中文社區(qū)
相關(guān)推薦

2011-03-28 16:04:44

nagios

2024-06-04 00:20:00

Python函數(shù)

2019-06-27 10:06:54

Linux 性能工具

2010-02-04 16:22:21

2025-04-22 09:39:46

Python爬蟲(chóng)網(wǎng)頁(yè)數(shù)據(jù)抓取

2023-10-04 00:20:31

grepLinux

2009-02-26 18:22:49

桌面虛擬化Linux

2017-07-25 08:53:14

CorrectLinkCCA-SD算法

2019-08-20 14:29:45

grepsedawk

2021-05-13 10:25:29

Linuxgrep命令

2009-02-12 09:12:27

JPAEJBJSF

2018-05-04 15:18:01

DockerDocker Comp容器

2014-11-26 10:18:32

Cloud Setupwindows在線(xiàn)打包工具

2021-03-15 07:39:48

LinuxAwk 語(yǔ)言

2009-03-19 20:52:58

LinuxPHPCMS

2011-04-11 11:01:03

AndroidHTC蘋(píng)果

2011-08-06 23:58:34

愛(ài)普生投影機(jī)

2011-07-04 09:07:54

2009-11-20 13:25:31

2025-03-24 10:06:35

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久久免费毛片 | 精品www| 九九热这里只有精品在线观看 | 午夜久久久 | 欧美一区二区免费 | 福利社午夜影院 | 日韩欧美在线精品 | 三级视频在线观看 | 97人澡人人添人人爽欧美 | 欧美在线 | 91久久久久| 午夜午夜精品一区二区三区文 | 在线视频一区二区 | 国产视频久久久 | 成人免费网视频 | 伊人色综合久久久天天蜜桃 | 日韩欧美手机在线 | 在线免费观看黄a | 精品亚洲一区二区三区 | 久久综合九色综合欧美狠狠 | 日日夜夜天天 | 久久久无码精品亚洲日韩按摩 | 欧美日韩不卡合集视频 | 国产免费av在线 | 日韩av一区在线观看 | 亚洲精品一区二区三区蜜桃久 | 四虎首页 | 国产日韩欧美 | 免费在线观看av片 | 国产在线精品一区二区三区 | 日韩在线观看视频一区 | 国产综合在线视频 | 中日韩av | 国产精品成人一区二区三区夜夜夜 | 韩国av网站在线观看 | 黄色网址在线免费观看 | 中文字幕亚洲一区二区三区 | 国产精品久久av | 精品久久网 | 在线一区视频 | 国产精品99999 |