
Un cadre expérimental pour créer dynamiquement des agents auto-améliorés en réponse aux tâches.
Afficher la démo · Rapport Bogue · Demande de la demande
Les microagents représentent une nouvelle approche pour créer des agents auto-améliorés. Les petits agents de la taille d'un microservice (par conséquent, les microagents ) sont générés dynamiquement en réponse aux tâches attribuées par l'utilisateur à l'assistant, évaluées pour leur fonctionnalité et, sur une validation réussie, stockée pour une réutilisation future. Cela permet d'apprendre à travers les sessions de chat, permettant au système de déduire indépendamment des méthodes pour l'exécution des tâches.
Ce projet exploite les technologies suivantes:
Pour obtenir une copie locale en cours, suivez ces étapes simples.
gpt-4-turbo et text-embedding-ada-002 .git clone https://github.com/aymenfurter/microagents.gitpip install -r requirements.txt export OPENAI_KEY= ' your_api_key_here ' export AZURE_OPENAI_API_KEY= ' your_api_key_here '
export AZURE_OPENAI_ENDPOINT= ' https://my_endpoint_name_here.openai.azure.com/ '
# export OPENAI_EMBEDDING='' # optionally set the azure deployment name of your ada embedding (in case the name is not text-embedding-ada-002)
# export OPENAI_MODEL='' # optionally set the azure deployment name of your gpt 4 (in case the name is not gpt-4-1106-preview) export AZURE_OPENAI_ENDPOINT= ' https://my_endpoint_name_here.openai.azure.com/ '
export AZURE_OPENAI_USE_AAD= ' true ' # enables DefaultAzureCredential
# export AZURE_OPENAI_AD_TOKEN='' # optionally specify the AAD token here
# export AZURE_CLIENT_ID='' # optionally specify the client id of the managed identity
# export OPENAI_EMBEDDING='' # optionally set the azure deployment name of your ada embedding (in case the name is not text-embedding-ada-002)
# export OPENAI_MODEL='' # optionally set the azure deployment name of your gpt 4 (in case the name is not gpt-4-1106-preview) Prudence
Les microagents exécutent directement le code Python et ne fonctionnent actuellement pas dans un bac à sable. Il est fortement recommandé de les exécuter dans des environnements isolés tels que GitHub Codespaces ou Docker (Readme-Docker.md) pour limiter les dommages potentiels. Soyez conscient des coûts associés à l'utilisation des services d'Openai.
Pour une course de démonstration, exécutez:
python main.pyPour une expérience de chat interactive:
python app.pyPour supprimer tous les agents, supprimez simplement le fichier "agents.db".

You are an adept weather informant. Fetch the weather forecast by accessing public API data using this Python code snippet:
``python
import requests
import json
def fetch_weather_forecast(location, date):
response = requests.get(f"https://api.met.no/weatherapi/locationforecast/2.0/compact?lat={location[0]}&lon={location[1]}")
weather_data = response.json()
for day_data in weather_data['properties']['timeseries']:
if date in day_data['time']:
print(day_data['data']['instant']['details'])
break
``
# Example usage: fetch_weather_forecast((47.3769, 8.5417), '2024-01-22T12:00:00Z')
Note: Replace the (47.3769, 8.5417) with the actual latitude and longitude of the location and the date string accordingly.
You are a skilled IP-based location retriever. Use Python's requests library to obtain geolocation data from a public IP address. Here is a sample code snippet you may adapt:
``python
import requests
def fetch_location_from_ip(ip_address):
response = requests.get(f'http://ip-api.com/json/{ip_address}')
data = response.json()
return data.get('country'), data.get('city')
``
# Example usage:
# print(fetch_location_from_ip('8.8.8.8'))
Ensure that the code is capable of extracting location information such as country and city from the provided IP address.

Il s'agit de la première version de microagents, et beaucoup de choses se sont produites depuis la publication initiale du projet. Voici les mises à jour clés:
Demandes de traction : Le projet a reçu un total de 6 demandes de traction, mettant en évidence l'intérêt de la communauté.
Deux interfaces utilisateur : nous proposons désormais deux interfaces utilisateur pour interagir avec les agents:
textual-app.py . Cette interface est une contribution communautaire de Bearney74.Parallélisation : les microagents soutiennent désormais le parallélisme! Lorsqu'un nouvel agent est créé, trois agents sont en fait naissés en parallèle. Le premier agent à terminer avec succès sa tâche est conservé, tandis que les autres sont éliminés.
Agents pré-entraînés : Nous avons introduit 28 agents pré-entraînés qui sont inclus pour les tests. Ces agents permettent un large éventail de tâches, de l'interaction avec OpenStreetMap à la fourniture d'informations météorologiques actuelles. Tous ces agents ont été formés à l'aide de microagents.
Phase de validation ("juge") : une nouvelle phase de «juge» a été ajoutée pour garantir que les agents qui prétendent travailler se produisent réellement comme prévu. Cette étape de validation supplémentaire garantit que seuls les agents entièrement fonctionnels sont inclus dans le catalogue des agents de travail.
Stockage d'agent persistant : les agents sont maintenant stockés entre les courses, avec SQLite étant utilisé à cet effet.
Mémoire d'agent améliorée : les agents ont désormais la capacité de se souvenir uniquement des agents qu'ils ont précédemment créés. Cette approche améliore la robustesse de la création d'agents, car elle évite les changements de profondeur inutiles pendant l'exécution.
Ces mises à jour représentent une amélioration significative des microagents. J'ai hâte de poursuivre les améliorations et les contributions de la communauté.
Les contributions font de la communauté open source un endroit incroyable pour apprendre, inspirer et créer. Toutes les contributions que vous faites sont grandement appréciées .
Distribué sous la licence du MIT. Voir LICENSE pour plus d'informations.