这个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]7。创建对话代理:
使用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" )8。简化聊天UI:
>本节构建了简化的聊天接口。 (为简洁而省略了完整的代码,但上面描述了关键元素。)
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中文网其他相关文章!