Maison >Périphériques technologiques >IA >Agri Bot: un agent d'IA multilingue pour les agriculteurs utilisant Langchain
Ce chatbot propulsé par l'IA, Agribot, fournit des informations agricoles multilingues aux agriculteurs et aux amateurs. Cet article détaille ses fonctionnalités, son architecture et son code, mettant en évidence sa conception conviviale et son intégration de technologie avancée. Le secteur agricole s'appuie fortement sur des informations précises et précises; Agribot répond à ce besoin avec des données en temps réel et un support multilingue.
Table des matières
Cette image montre l'interface multilingue, conversationnelle et en temps réel de l'application Agribot Streamlit:
Caractéristiques clés d'Agribot
Agribot offre plusieurs caractéristiques clés:
Stack technologique d'Agribot
Agribot utilise:
Bâtiment Agribot: un guide étape par étape
L'agribot alimentaire du code est détaillé ci-dessous:
1. Importation de bibliothèques:
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
Les bibliothèques essentielles sont importées, y compris le rationalisation de l'interface utilisateur et de Langchain pour la création d'agents. deep_translator
gère la traduction du langage.
2. Variables d'environnement de chargement:
load_dotenv(find_dotenv())
charge les clés de l'API et autres informations sensibles à partir d'un fichier .env
.
3. Initialisation des outils d'IA:
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]
Les outils de récupération d'informations sont initialisés, configurés pour des temps de réponse efficaces.
4. Chargement du modèle de langue:
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
Charge le modèle de langue Llama 3-70B via l'API Groq.
5. Fonctions de traduction:
load_dotenv(find_dotenv())
Ces fonctions gèrent la traduction vers et depuis l'anglais à l'aide de la bibliothèque deep_translator
.
6. Gestion de la mémoire:
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]
assure la mémoire de chat persistante entre les sessions.
7. Création de l'agent conversationnel:
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" )
initialise l'agent conversationnel à l'aide de Langchain.
8. Rationalisation du chat ui:
def translate_to_english(text): # ... (Translation logic) ... def translate_back(text, target_lang): # ... (Translation logic) ...
Cette section construit l'interface de chat rationalisée. (Code complet omis pour la concision, mais les éléments clés sont décrits ci-dessus.)
Répartition du code: Le code utilise Streamlit pour créer une interface de chat conviviale. L'entrée de l'utilisateur est traduite en anglais, traitée par l'agent de Langchain (en utilisant les outils LLM et de recherche), et la réponse est traduite à la langue d'origine de l'utilisateur. La gestion de la mémoire assure le contexte conversationnel. Les mécanismes d'erreur et de réessayer améliorent la robustesse.
Test Agribot
(Les images montrant l'interface utilisateur d'Agribot et les réponses dans différentes langues sont incluses dans l'entrée d'origine. Ces images seraient placées ici.)
Améliorations futures
Conclusion
Agribot est un outil précieux tirant parti de l'IA et des capacités multilingues pour soutenir les agriculteurs. Sa combinaison d'informations en temps réel, de traduction et de mémoire conversationnelle en fait une ressource unique. Un développement ultérieur améliorera ses fonctionnalités et élargira ses capacités.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!