{"id":21197279,"url":"https://github.com/riolaf05/langchain-rag-agent-chatbot","last_synced_at":"2026-04-05T22:36:54.553Z","repository":{"id":241573938,"uuid":"807005605","full_name":"riolaf05/langchain-rag-agent-chatbot","owner":"riolaf05","description":"An Agentic RAG implementation using Langchain and a telegram client to send/receive messages from the chatbot","archived":false,"fork":false,"pushed_at":"2024-05-28T13:38:59.000Z","size":55,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-29T04:28:34.744Z","etag":null,"topics":["actions","agent","agents","artificial-intelligence","aws","chatbot","lambda","lambda-functions","langchain","langchain-python","large-language-models","machine-learning","rag","react","retrieval-augmented-generation","telegram-bot"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/riolaf05.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-28T10:01:32.000Z","updated_at":"2024-06-04T16:15:02.131Z","dependencies_parsed_at":"2024-06-04T16:14:58.399Z","dependency_job_id":null,"html_url":"https://github.com/riolaf05/langchain-rag-agent-chatbot","commit_stats":null,"previous_names":["riolaf05/langchain-rag-agent-chatbot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/riolaf05/langchain-rag-agent-chatbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riolaf05%2Flangchain-rag-agent-chatbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riolaf05%2Flangchain-rag-agent-chatbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riolaf05%2Flangchain-rag-agent-chatbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riolaf05%2Flangchain-rag-agent-chatbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/riolaf05","download_url":"https://codeload.github.com/riolaf05/langchain-rag-agent-chatbot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riolaf05%2Flangchain-rag-agent-chatbot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270069956,"owners_count":24521924,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","agent","agents","artificial-intelligence","aws","chatbot","lambda","lambda-functions","langchain","langchain-python","large-language-models","machine-learning","rag","react","retrieval-augmented-generation","telegram-bot"],"created_at":"2024-11-20T19:43:21.247Z","updated_at":"2025-10-24T23:05:23.228Z","avatar_url":"https://github.com/riolaf05.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LangChain Agent types\n\nLangChain categorizes agents based on several dimensions:\n\n- model type;\n\n- support for chat history;\n\n- multi-input tools;\n\n- parallel function calling;\n\n- required model parameters.\n\nIt is important to choose the option that fits to your use case:\n\n1. OpenAI functions \n\nThere are certain models fine-tuned where input is a bit different than usual. There are special functions that can be called and the role of this agent is to determine when it should be invoked. This agent is designed to work with this kind of OpenAI model. It supports chat history.\n\n2. OpenAI tools \n\nThis agent is designed to work with OpenAI tools, so its role is to interact and determine whether to use e.g. image generation tool or another built-in one. The main difference between OpenAI function is the fact that the function is trying to find the best fitting algorithm/part of an algorithm to do better reasoning, while OpenAI tool is about built-in tools like image generation, and executing code. It supports chat history.\n\n3. XML Agent \n\nThere are models, where reasoning/writing XML is on a very advanced level (a good example is Anthropic Claude's model). If you're operating on XML files, that might be the right one to be considered. It supports chat history.\n\n4. JSON Chat Agent\n\nSeveral LLMs available in the market are particularly handy when it comes to reading JSON. JSON is also a very common standard of some e.g. entity representation. If you're building some kind of integration that operates on JSON files and the model is supporting it, you can try to use this agent. It supports chat history.\n\n5. Structured chat \n\nIntended for multi-input tools. It supports chat history.\n\n6. ReAct agent\n\nMade for simple models (LLM - not conversational). It supports chat history.\n\n7. Self-ask with search\n\nThis kind of agent supports only one tool as an input. The main goal is to divide your query into smaller ones, use tools to get the answer, and then combine it into a full answer to your question. This kind of agent doesn’t support chat history.\n\n# Setup \n\nIn this project ReAct agent has been used. \n\nTo launch the project:\n\n1. clone project \n\n```console\ngit clone https://github.com/riolaf05/langchain-rag-agent-chatbot.git\n```\n\n2. populate .env\n\n3. setup\n\n```console\npy -m .venv/rag\nsource .venv/rag/bin/activate\npip install -r requirements.txt\npython telegram.py\n```\n\n# References\n\n* [Introducing LangChain Agents: 2024 Tutorial with Example](https://brightinventions.pl/blog/introducing-langchain-agents-tutorial-with-example/)\n\n* [Using LangChain ReAct Agents with Qdrant and Llama3 for Intelligent Information Retrieval](https://medium.com/@yash9439/using-langchain-react-agents-with-qdrant-and-llama3-for-intelligent-information-retrieval-b181ce7a5962)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friolaf05%2Flangchain-rag-agent-chatbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Friolaf05%2Flangchain-rag-agent-chatbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friolaf05%2Flangchain-rag-agent-chatbot/lists"}