diff --git a/.gitignore b/.gitignore index 09ebd1591..21dc2618e 100644 --- a/.gitignore +++ b/.gitignore @@ -179,4 +179,5 @@ cython_debug/ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ \ No newline at end of file +#.idea/ +.aider* diff --git a/.sourcery.yaml b/.sourcery.yaml new file mode 100644 index 000000000..237930694 --- /dev/null +++ b/.sourcery.yaml @@ -0,0 +1,74 @@ +# 🪄 This is your project's Sourcery configuration file. + +# You can use it to get Sourcery working in the way you want, such as +# ignoring specific refactorings, skipping directories in your project, +# or writing custom rules. + +# 📚 For a complete reference to this file, see the documentation at +# https://docs.sourcery.ai/Configuration/Project-Settings/ + +# This file was auto-generated by Sourcery on 2023-10-06 at 18:33. + +version: '1' # The schema version of this config file + +ignore: # A list of paths or files which Sourcery will ignore. +- .git +- venv +- .venv +- env +- .env +- .tox +- node_modules +- vendor + +rule_settings: + enable: + - default + disable: [] # A list of rule IDs Sourcery will never suggest. + rule_types: + - refactoring + - suggestion + - comment + python_version: '3.9' # A string specifying the lowest Python version your project supports. Sourcery will not suggest refactorings requiring a higher Python version. + +# rules: # A list of custom rules Sourcery will include in its analysis. +# - id: no-print-statements +# description: Do not use print statements in the test directory. +# pattern: print(...) +# language: python +# replacement: +# condition: +# explanation: +# paths: +# include: +# - test +# exclude: +# - conftest.py +# tests: [] +# tags: [] + +# rule_tags: {} # Additional rule tags. + +# metrics: +# quality_threshold: 25.0 + +# github: +# labels: [] +# ignore_labels: +# - sourcery-ignore +# request_review: author +# sourcery_branch: sourcery/{base_branch} + +# clone_detection: +# min_lines: 3 +# min_duplicates: 2 +# identical_clones_only: false + +# proxy: +# url: +# ssl_certs_file: +# no_ssl_verify: false + +# coding_assistant: +# project_description: '' +# enabled: diff --git a/apps/discordwithweb.py b/apps/discordwithweb.py new file mode 100644 index 000000000..917d0e080 --- /dev/null +++ b/apps/discordwithweb.py @@ -0,0 +1,35 @@ +import discord +from discord.ext import commands + +import os +from swarms.agents import Worker +from swarms.agents.memory import VectorStoreRetriever +from swarms.tools.autogpt import WebpageQATool + +# Discord bot setup +intents = discord.Intents.default() +bot = commands.Bot(command_prefix='!', intents=intents) + +# Memory setup +vectorstore_client = VectorStoreClient() +retriever = VectorStoreRetriever(vectorstore_client) + +# Tools setup +web_search = WebSearchTool(retriever) +memory_tool = MemoryTool(retriever) +tools = [web_search, memory_tool] + +# Create the agent +agent = Worker( + name="DiscordAssistant", + llm=worker, + memory=retriever, + tools=tools +) + +@bot.command() +async def query(ctx, *, input): + response = agent.run(input) + await ctx.send(response) + +bot.run(os.getenv("DISCORD_BOT_TOKEN"))