{"id":19262061,"url":"https://github.com/upsonic/tiger","last_synced_at":"2025-04-21T17:31:08.659Z","repository":{"id":231765233,"uuid":"782661338","full_name":"Upsonic/Tiger","owner":"Upsonic","description":"Neuralink for your AI Agents","archived":false,"fork":false,"pushed_at":"2024-04-13T18:09:16.000Z","size":7385,"stargazers_count":35,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-14T08:45:07.381Z","etag":null,"topics":["agent","ai","autogen","function-calling","langchain","llm","neuralink","tools"],"latest_commit_sha":null,"homepage":"https://docs.upsonic.co/tiger","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Upsonic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-04-05T18:49:43.000Z","updated_at":"2024-04-17T16:46:10.331Z","dependencies_parsed_at":"2024-04-13T19:27:13.474Z","dependency_job_id":null,"html_url":"https://github.com/Upsonic/Tiger","commit_stats":null,"previous_names":["upsonic/tiger"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upsonic%2FTiger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upsonic%2FTiger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upsonic%2FTiger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upsonic%2FTiger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Upsonic","download_url":"https://codeload.github.com/Upsonic/Tiger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250100325,"owners_count":21374919,"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","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":["agent","ai","autogen","function-calling","langchain","llm","neuralink","tools"],"created_at":"2024-11-09T19:29:32.489Z","updated_at":"2025-04-21T17:31:08.652Z","avatar_url":"https://github.com/Upsonic.png","language":"Python","readme":"\n\n\n\u003cdiv align= \"center\"\u003e\n    \u003ch1\u003e\u003cimg src=\"assets/image.svg \" height=\"28px\" /\u003e Tiger: Neuralink for your AI Agents\u003c/h1\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#setup\"\u003eSetup\u003c/a\u003e •\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cb\u003eIntegrations:\u003c/b\u003e\n  \u003ca href=\"#crewai-integration\"\u003ecrewAI Integration\u003c/a\u003e •\n  \u003ca href=\"#langchain-integration\"\u003eLangChain Integration\u003c/a\u003e •\n  \u003ca href=\"#autogen-integration\"\u003eAutoGen Integration\u003c/a\u003e •\n    \u003ca href=\"#signin-to-telegram\"\u003eTelegram Integration\u003c/a\u003e •\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cb\u003eSources:\u003c/b\u003e\n  \u003ca href=\"#currently-tools\"\u003eCurrently Tools\u003c/a\u003e •\n  \u003ca href=\"#creating-your-own-tiger\"\u003eCustom Tools (On-Prem Docker)\u003c/a\u003e •\n  \u003ca href=\"#public-dashboard\"\u003ePublic Dashboard\u003c/a\u003e •\n\u003c/p\u003e\n\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets/overview.png\" \u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\n# What is Tiger?\n\nTiger is a community-driven project developing a reusable and integrated tool ecosystem for LLM Agent Revolution. It utilizes Upsonic for isolated tool storage, profillibg and for the automatic generation of documents. With Tiger, you can create a customized environment for your agents or leverage the robust and publicly maintained Tiger 🐅 curated by the community itself.\n\n## Details\n\nTiger, influenced by [Neuralink](https://neuralink.com/), provides an AI-oriented computer interface with threads connected to the LLM interface. It offers a platform for AIs to control a computer by simply 'thinking'.\n\nWith Tiger, your LLM agents can write and execute code, use search engines, manage your calendar, control your mouse and keyboard, speak into your headphones, and much more. Essentially, anything conceived by your agent, Tiger will transform into concrete actions. This embodies the core philosophy of the Tiger project – to harness AI intelligence to generate tangible actions and support standard infrastructures. Our goals include:\n\n- Providing a **Utility point** for agent tools across any framework that utilizes a function call mechanism,\n- Building and nurturing a **Community of tool support** across diverse technologies and disciplines,\n- Developing a **Free, Open and MIT** licensed tool library for the AI agent ecosystem.\n\n\n# Setup\n\nTiger projects have a general usage public library at [tiger.upsonic.co](https://tiger.upsonic.co). Its include the tools that in `tools` library. For usage this you can use the standart connection that in upsonic python library. After installing the `upsonic` library we will use the Tiger object wand integrate to your agents.\n\n- Tiger requires equal or higher python version to 3.8\n\n```console\npip3 install upsonic\n```\n\n## Currently Tools\n\nWe are working on Upsonic and the tools that inside the `tools` folder is sending to public tiger in each release. We are aiming to create tools without any api key and just like normal human events like searching on google with mouse, keyboard and browser.\n\n- App\n  - open\n  - close\n\n- browser\n  - open_url\n\n- Interpreter\n\n  - python\n    - check_package\n    - execute\n    - install_package\n  - sh\n    - execute\n\n- Search\n\n  - google\n  - duckduckgo\n  - read_website\n\n- System\n\n  - os_name\n  - architecture\n  - python_version\n  - clipboard\n    - copy\n\n- Knowledge\n  - put\n  - pull\n  - delete\n  - index\n  - reset\n\n- Communication\n  - telegram\n    - as_user\n      - delete_message\n      - get_last_dialogs\n      - get_last_messages\n      - send_message\n      - signin\n\nIf you want to add functions to public and strongest Tiger you can see to [Adding Tools](#adding-tools) section.\n\n## Public Dashboard\n\nFor the public Tiger you can see the functions and their documentations and readmes in [tiger.upsonic.co](https://tiger.upsonic.co). You can use this place for documentation also.\n\n**Auth**\n\n- username: tiger\n- password: tiger\n\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets/dashboard.png\" width=\"700px\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\n## Documentation of Tiger Tools\n\nThanks to Upsonic we just write the codes and its gives us an storage system with detailed documentation and cpu ram usage for each function. Also you can make search and use functions in your other projects with connection code.\n\n**Auth**\n\n- username: tiger\n- password: tiger\n\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets/documentation.png\" width=\"700px\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\n# crewAI Integration\nTiger project aim is being available for most popular agent framworks like `crewAI`. In this example you can see the easiest tool integration for an AI agent. We are asking for who is Onur Atakan ULUSOY and waits.\n\n```console\npip3 install crewai 'crewai[tools]'\n```\n\n```python\n# Geting the tiger tools\nfrom upsonic import Tiger\ntools = Tiger().crewai()\n\n\n\nfrom langchain_openai import ChatOpenAI\nllm = ChatOpenAI(model=\"gpt-4-0125-preview\", api_key=OPENAI_API_KEY)\n\n\n\nfrom crewai import Agent, Task, Crew, Process\n\nresearcher = Agent(\n  role='Senior Research Analyst',\n  goal='Uncover cutting-edge developments in AI and data science',\n  backstory=\"You are graduated from Research section of University\",\n  verbose=True,\n  allow_delegation=False,\n  tools=tools,\n  llm=llm\n)\n\n\ntask1 = Task(\n  description=\"\"\"Who is Onur Atakan ULUSOY\"\"\",\n  expected_output=\"Full analysis report of Onur Atakan ULUSOY and putting the report to knowledge\",\n  agent=researcher\n)\n\n\ncrew = Crew(\n  agents=[researcher],\n  tasks=[task1],\n  verbose=2,\n)\n\n\nresult = crew.kickoff()\n```\n\n# LangChain Integration\n\n```console\npip3 install langchain langchain-openai\n```\n\nTiger is able to make a collabration for sharing tools with LangChain agents with this your agents will able to use Tiger functions. In this example we are asking for an multiplation question and the agent will use the tiger  and after that its write a python code and tiger will give the result in behind. With this agent will able to make mathematical operations in just two lines of code.\n\n```python\n# Geting the tiger tools\nfrom upsonic import Tiger\ntools = Tiger().langchain()\n\n\n\n# Generating Agent and executor with tiger tool set\nfrom langchain_openai import ChatOpenAI\nfrom langchain import hub\nfrom langchain.agents import AgentExecutor, create_openai_functions_agent\n\nllm = ChatOpenAI(model=\"gpt-4-0125-preview\", api_key=OPENAI_API_KEY)\nprompt = hub.pull(\"hwchase17/openai-functions-agent\")\nagent = create_openai_functions_agent(llm, tools, prompt)\nagent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)\n\n\n# Asking for 15231 * 64231\nagent_executor.invoke({\"input\": \"What is the result of 15231 * 64231\"})\n\n```\n\n# AutoGen Integration\n\n```console\npip3 install pyautogen\n```\n\nTiger is also have a integration with AutoGen agents. You can put a tiger to your AutoGen agents. In this examples we will use the 'interpreter.python' module and with this your autogen agent able to run and view result of python codes. With this your agent will able to wait 2 second as we request.\n\n```python\n# Generating Agents with tiger tool set\nfrom typing_extensions import Annotated\nimport autogen\n\nconfig_list = [\n    {\n        'model': 'gpt-4-0125-preview',\n        'api_key': OPENAI_API_KEY,\n    },\n]\n\nllm_config = {\n    \"config_list\": config_list,\n    \"timeout\": 120,\n}\nchatbot = autogen.AssistantAgent(\n    name=\"chatbot\",\n    system_message=\"For coding tasks, only use the functions you have been provided with. Reply TERMINATE when the task is done.\",\n    llm_config=llm_config,\n)\n\nuser_proxy = autogen.UserProxyAgent(\n    name=\"user_proxy\",\n    is_termination_msg=lambda x: x.get(\"content\", \"\") and x.get(\"content\", \"\").rstrip().endswith(\"TERMINATE\"),\n    human_input_mode=\"NEVER\",\n    max_consecutive_auto_reply=10,\n)\n\n\n\n# Geting the tiger tools\nfrom upsonic import Tiger\nTiger().autogen(chatbot, userproxy)\n\n\n\n# Asking sleep 2 second\nuser_proxy.initiate_chat(\n        chatbot,\n        message=\"What is Upsonic.co\",\n    )\n```\n\n## Signin to Telegram\nThe user who wants to use telegram functionalities in their LLM agents must trig the signin function before all. For this you can use this function and its will ask for phone number and verification code.\n\n```python\nfrom upsonic import Tiger\n\nTiger().get(\"communication.telegram.as_user.signin__user\")()\n```\n\n## Adding Tools\n\nTiger project is open to any contribution for public tiger, also in the bottom we have another way to create your own, offline tiger. For adding the public tiger you should create a pull request with your new tool.\n\n1. Create a python file in `tiger/tools` section.\n   for ex: `tiger/tools/interpreter/python/execute.py`\n\n2. Write your function in this format\n\n```python\n#imports\n\ndef my_function(query:str) -\u003e str:\n    return query + \" hi\"\n\n\ntool_name = \"test.my_function\"\ntool_obj = my_function\ntool_requirements = [\"beautifulsoup4==4.12.3\"]\n```\n\n3. Create the pull request. When its merged its will be available at public Tiger and dashboard.\n\n## Creating your Own Tiger\n\nFor creating your own tiger you should install a Upsonic On-Prem docker container. Its will give a dashboard for viewing your own tools and will make documentation automatic. After that you should use the Upsonic Client to connect your On-Prem for this you should get the connection code from your dashboard and finaly you use the tiger function in upsonic client.\n\n[Installation document](https://docs.upsonic.co/on-prem/getting_started/install_on_prem)\n\n```python\n#from upsonic import Tiger\n#Tiger().autogen(chatbot, userproxy)\n\n# to\n\n#Your Upsonic Connection Code\n\nupsonic.autogen(chatbot, userproxy)\n```\n\n## Star History\n\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"https://api.star-history.com/svg?repos=Upsonic/Tiger\u0026type=Date\" width=\"600px\"\u003e\n\n\u003c/div\u003e\n\u003cbr\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupsonic%2Ftiger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupsonic%2Ftiger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupsonic%2Ftiger/lists"}