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

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

人工智能
讓我們使用Langchain、llama和Python構建一個簡單的聊天機器人!

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

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

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

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

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

圖片

讓我們使用Langchain、llama和Python構建一個簡單的聊天機器人!

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

1、大型語言模型

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

2、Langchain

用于開發(fā)由語言模型驅動的應用程序的框架

pip install langchain

3、安裝Llama-cpp-python

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

pip install llama-cpp-pythnotallow==0.1.78

4、導入庫

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

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

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

CallbackManager:處理來自LangChain的回調。

StreamingStdOutCallbackHandler:用于流式處理的回調處理程序。

代碼

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

your_model_path = "寫入你的模型路徑"
chat_topic = "hiv/aids"
user_question = str(input("輸入你的問題:"))
template= """
請解釋這個問題:“{question}”,主題是關于{topic}
"""

我將創(chuàng)建一個 PromptTemplate變量,該變量將使用我們之前創(chuàng)建的模板,并將其分配給 “prompt”變量,然后更改提示的格式并將其分配給 “final_prompt”變量。我們使用 “chat_topic”中的主題和我們之前初始化的 “user_question”中的問題。然后創(chuàng)建一個名為 “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:令牌上下文窗口,模型在生成響應時可以接受的令牌數(shù)量。 

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

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

callback_manager:處理回調。 

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

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

n_parts:要將模型分割成的部分數(shù)。 

verbose:打印詳細輸出。

最后,調用模型并傳遞提示。

python "你的文件名.py"

要運行它,只需在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)

責任編輯:龐桂玉 來源: Python中文社區(qū)
相關推薦

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爬蟲網(wǎng)頁數(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在線打包工具

2021-03-15 07:39:48

LinuxAwk 語言

2009-03-19 20:52:58

LinuxPHPCMS

2011-08-06 23:58:34

愛普生投影機

2011-04-11 11:01:03

AndroidHTC蘋果

2011-07-04 09:07:54

2009-11-20 13:25:31

2025-03-24 10:06:35

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久久久一区 | 中文字幕日本一区二区 | 黄色网址在线免费播放 | 久久久久久久久久久久久久av | 九一视频在线观看 | 国产情侣一区 | av超碰 | 久久专区 | 日韩一区二区三区精品 | 久久久精品网 | 亚洲福利一区二区 | 国产成人精品免高潮在线观看 | 欧美自拍网站 | 日韩成人在线免费观看 | 欧美韩一区二区三区 | 久久久久成人精品免费播放动漫 | 中文字幕亚洲无线 | 伊人中文字幕 | 91在线电影 | 免费观看一级毛片 | 色综合99 | 91久久久精品国产一区二区蜜臀 | 成人av在线播放 | 国产一区二区三区视频免费观看 | 亚洲精品一区二区三区中文字幕 | 成人在线精品视频 | 日本久久久久久久久 | 99精品国产一区二区三区 | 久久高清精品 | 91免费小视频 | 成人黄色av网址 | 国产精品成人一区二区三区吃奶 | 国产精品久久久久久久久久免费看 | 国产精品a久久久久 | 久久精品中文字幕 | 99精品久久久 | 久久婷婷国产麻豆91 | 国家aaa的一级看片 h片在线看 | 中文字幕一区二区三区四区五区 | 国产精品不卡 | 一区影院 |