這個AI驅動的聊天機器人Agribot向農民和愛好者提供了多種語言的農業信息。 本文詳細介紹了其功能,體系結構和代碼,突出了其用戶友好的設計和高級技術集成。 農業部門在很大程度上取決於及時,準確的信息; Agribot通過實時數據和多語言支持來滿足這一需求。
目錄的表
> agribot的密鑰特徵
agribot提供了幾個關鍵特徵:
前端:
必需庫是導入的,包括簡化了UI和Langchain的代理創建。
處理語言翻譯。
2。加載環境變量:
import os import time import streamlit as st from langchain.memory import ConversationBufferMemory from langchain.agents import initialize_agent, AgentType from langchain.chat_models import ChatOpenAI from langchain.schema import SystemMessage, HumanMessage, AIMessage from langchain_community.tools import WikipediaQueryRun, ArxivQueryRun, DuckDuckGoSearchRun from langchain_community.utilities import WikipediaAPIWrapper, ArxivAPIWrapper, DuckDuckGoSearchAPIWrapper from langdetect import detect from deep_translator import GoogleTranslator from dotenv import load_dotenv, find_dotenv
>從Adeep_translator
文件加載API鍵和其他敏感信息。
3。初始化AI工具:
load_dotenv(find_dotenv())
4。加載語言模型:
import os import time import streamlit as st from langchain.memory import ConversationBufferMemory from langchain.agents import initialize_agent, AgentType from langchain.chat_models import ChatOpenAI from langchain.schema import SystemMessage, HumanMessage, AIMessage from langchain_community.tools import WikipediaQueryRun, ArxivQueryRun, DuckDuckGoSearchRun from langchain_community.utilities import WikipediaAPIWrapper, ArxivAPIWrapper, DuckDuckGoSearchAPIWrapper from langdetect import detect from deep_translator import GoogleTranslator from dotenv import load_dotenv, find_dotenv
通過GROQ API加載Llama 3-70B語言模型。
5。翻譯功能:
load_dotenv(find_dotenv())
這些函數使用deep_translator
庫來處理向英語轉換的轉換。
確保跨會話持續聊天記憶。
wiki = WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper(top_k_results=1, doc_content_chars_max=200)) arxiv = ArxivQueryRun(api_wrapper=ArxivAPIWrapper(top_k_results=1, doc_content_chars_max=200)) duckduckgo_search = DuckDuckGoSearchRun(api_wrapper=DuckDuckGoSearchAPIWrapper(region="in-en", time="y", max_results=2)) tools = [wiki, arxiv, duckduckgo_search]
使用Langchain初始化對話代理。
def load_llm(): return ChatOpenAI( model_name="llama3-70b-8192", temperature=1, openai_api_key=os.getenv("GROQ_API_KEY"), openai_api_base="https://api.groq.com/openai/v1" )
>本節構建了簡化的聊天接口。 (為簡潔而省略了完整的代碼,但上面描述了關鍵元素。)
def translate_to_english(text): # ... (Translation logic) ... def translate_back(text, target_lang): # ... (Translation logic) ...
代碼分解:
代碼使用簡化來創建一個用戶友好的聊天接口。 用戶輸入將轉換為由Langchain代理處理(使用LLM和搜索工具)處理的英語,並將響應轉換回用戶的原始語言。 內存管理確保對話環境。 錯誤處理和重試機制提高了魯棒性。>測試Agribot
(在原始輸入中包含顯示Agribot的UI和不同語言的響應的圖像。這些圖像將在此處放置。)
未來增強
語音輸入/輸出 農業數據的微調
以上是Agri Bot:使用Langchain的農民的多語言AI代理的詳細內容。更多資訊請關注PHP中文網其他相關文章!