Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Autogenstudio Update - Support for Anthropic/Mistral, Other Updates #3439

Merged
merged 281 commits into from
Aug 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
281 commits
Select commit Hold shift + click to select a range
ddd3c6f
[.Net] feature: Ollama integration (#2693)
iddelacruz May 15, 2024
3d7e6ff
[.Net] Fix #2687 by adding global:: keyword in generated code (#2689)
LittleLittleCloud May 15, 2024
9ad0d07
update news (#2694)
sonichi May 15, 2024
7b699f2
[.Net] Set up Name field in OpenAIMessageConnector (#2662)
LittleLittleCloud May 16, 2024
666167c
Custom Runtime Logger <> FileLogger (#2596)
Hk669 May 16, 2024
49b02c5
Update groupchat.py to remove Optional type hint when they are not ch…
ruiwang May 17, 2024
bcadd17
gpt40 tokens update (#2717)
Hk669 May 19, 2024
57ad77d
[CAP] Improved AutoGen Agents support & Pip Install (#2711)
rajan-chari May 19, 2024
30876e2
[.Net] fix #2722 (#2723)
LittleLittleCloud May 21, 2024
6ff495d
[.Net] Mark Message as obsolete and add ToolCallAggregateMessage type…
LittleLittleCloud May 21, 2024
0f039f1
Update README.md (#2736)
LittleLittleCloud May 21, 2024
6a0220e
Update human-in-the-loop.ipynb (#2724)
michaelhaggerty May 21, 2024
d6a4bd7
[CAP] Refactor: Better Names for classes and methods (#2734)
rajan-chari May 21, 2024
e4d8858
Avoid requests 2.32.0 to fix build (#2761)
ekzhu May 22, 2024
7bc73fa
Debug: Gemini client was not logged and causing runtime error (#2749)
BeibinLi May 22, 2024
7e203a9
[Add] Fix invoking Assistant API (#2751)
krishnashed May 22, 2024
dab7f4c
Add silent option in nested chats and group chat (#2712)
robraux May 22, 2024
cfa3b1d
fix openai compatible changes (#2718)
IANTHEREAL May 22, 2024
7c089b3
add warning if duplicate function is registered (#2159)
jtoy May 22, 2024
7d41b65
Added ability to ignore the addition of the select speaker prompt for…
marklysze May 22, 2024
e92daa1
Update Deprecation Warning for `CompressibleAgent` and `TransformChat…
WaelKarkoub May 22, 2024
51e1ea8
added Gemini safety setting and Gemini generation config (#2429)
NikolayTV May 22, 2024
0cae26d
logger fix (#2659)
pk673 May 22, 2024
798c2ab
Ignore Some Messages When Transforming (#2661)
WaelKarkoub May 22, 2024
ca95e51
[.Net] rename Autogen.Ollama to AutoGen.Ollama and add more test case…
LittleLittleCloud May 23, 2024
cd39fae
[.Net] add AutoGen.SemanticKernel.Sample project (#2774)
LittleLittleCloud May 24, 2024
d0596b7
[.Net] add ollama-sample and adds more tests (#2776)
LittleLittleCloud May 24, 2024
4195f93
Create JSON_mode_example.ipynb (#2554)
Aretai-Leah May 24, 2024
fdd6660
Add packaging explicitly (#2780)
thinkall May 24, 2024
3a8628e
Introduce AnthropicClient and AnthropicClientAgent (#2769)
DavidLuong98 May 24, 2024
e35e998
actions version update for the TransformMessages workflow (#2759)
Hk669 May 24, 2024
c89f4a7
allow serialize_to_str to work with non ascii when dumping via json.d…
jtoy May 24, 2024
45faf8f
PGVector Support for Custom Connection Object (#2566)
Knucklessg1 May 24, 2024
6b62bf3
Remove duplicate project declared in AutoGen.sln (#2789)
DavidLuong98 May 24, 2024
48fa774
[fix] file logger import (#2773)
Hk669 May 25, 2024
dd4d2c6
DBRX (Databricks LLM) example notebook (#2434)
tj-cycyota May 25, 2024
17d9d20
Blogpost and news (#2790)
sonichi May 26, 2024
dd5d4aa
Update Getting-Started.mdx (#2781)
tosolveit May 26, 2024
694d5eb
Improve the error messge (#2785)
thinkall May 26, 2024
43630fd
fix links and tags from databricks notebook (#2795)
sonichi May 26, 2024
1efa0bd
fix type object 'ConversableAgent' has no attribute 'DEFAULT_summary_…
MarkWard0110 May 27, 2024
14dd31b
print next speaker (#2800)
sonichi May 28, 2024
e1a7e15
[.Net] Release note for 0.0.14 (#2815)
LittleLittleCloud May 28, 2024
440aa51
[.Net] Update website for AutoGen.SemanticKernel and AutoGen.Ollama (…
LittleLittleCloud May 28, 2024
09900c3
[CAP] User supplied threads for agents (#2812)
rajan-chari May 29, 2024
68f3769
Fix initialization of client in retrieve_docs() function (#2830)
Mai0313 May 30, 2024
0c85605
fix typo and update news (#2825)
sonichi May 31, 2024
9014637
Add llamaindex agent integration (#2831)
colombod May 31, 2024
daafb04
Broken links fix (#2843)
krishnashed Jun 2, 2024
02c7806
update guide about roadmap issues (#2846)
sonichi Jun 3, 2024
f55a0c8
Fix chromadb get_collection ignores custom embedding_function (#2854)
thinkall Jun 3, 2024
e3a5826
Use Gemini without API key (#2805)
luxzoli Jun 3, 2024
bedc6c0
Refactor hook registration and processing methods (#2853)
colombod Jun 3, 2024
906c4c7
[.Net] Add AOT compatible check for AutoGen.Core (#2858)
LittleLittleCloud Jun 4, 2024
34a0e99
Updated the azure client to support AAD auth. (#2879)
afourney Jun 6, 2024
3d787ee
add github icon (#2878)
LittleLittleCloud Jun 6, 2024
160bdcc
[Refactor] Transforms Utils (#2863)
WaelKarkoub Jun 6, 2024
f11a884
allow function to remove termination string in groupchat (#2804)
aswny Jun 6, 2024
83a7162
AgentOps Runtime Logging Implementation (#2682)
bboynton97 Jun 7, 2024
e4aa7ca
Autogenstudio docs (#2890)
victordibia Jun 10, 2024
1241c4d
[.Net] Add Goolge gemini (#2868)
LittleLittleCloud Jun 10, 2024
33133a5
Squash changes (#2849)
DavidLuong98 Jun 10, 2024
42b4cb4
version update (#2908)
sonichi Jun 10, 2024
153bac5
Bugfix: PGVector/RAG - Calculate the Vector Size based on Model Dimen…
Knucklessg1 Jun 11, 2024
d541b96
Update notebook (#2886)
thinkall Jun 11, 2024
b63ad9e
Change chunk size of vectordb from max_tokens to chunk_token_size (#2…
Noir97 Jun 11, 2024
8e185cc
CRLF changed to LF (#2915)
davorrunje Jun 12, 2024
2500064
pre-commit version update and a few spelling fixes (#2913)
davorrunje Jun 12, 2024
8b33074
Improve update context condition checking rule (#2883)
thinkall Jun 12, 2024
921e616
Docs typo cli-code-executor.ipynb (#2909)
ken-gravilon Jun 12, 2024
97de75e
human input mode annotations fixed (#2864)
WaelKarkoub Jun 13, 2024
d9d53df
[.Net] Add Gemini samples to AutoGen.Net website + configure Gemini p…
LittleLittleCloud Jun 13, 2024
fc21f41
changed CRLF to LF (#2935)
davorrunje Jun 13, 2024
d3108a1
Bump braces from 3.0.2 to 3.0.3 in /website (#2934)
dependabot[bot] Jun 13, 2024
1de3357
update update.md (#2937)
LittleLittleCloud Jun 13, 2024
625e2b4
Allow passing in custom pricing in config_list (#2902)
yiranwu0 Jun 13, 2024
82ae453
Update OAI_CONFIG_LIST_sample (#2867)
TheTechOddBug Jun 13, 2024
9afb5d6
Fix repeated comma typo (#2940)
whichxjy Jun 14, 2024
5596012
[.Net] update oai tests by using new OpenAI resources (#2939)
LittleLittleCloud Jun 14, 2024
5855854
[Autobuild] improve robustness and reduce cost (#2907)
LeoLjl Jun 14, 2024
b53124c
Filter models with tags instead of model name (#2912)
qingyun-wu Jun 14, 2024
51971fd
Fix missing messages in Gemini history (#2906)
luxzoli Jun 14, 2024
d44edb6
Client class utilities (#2949)
marklysze Jun 18, 2024
cca9806
change specified api-version (#2955)
olaoluwasalami Jun 18, 2024
7da8b4b
Update agentchat_function_call_currency_calculator.ipynb (#2952)
eltociear Jun 18, 2024
6ed662b
Bump ws from 7.5.9 to 7.5.10 in /website (#2964)
dependabot[bot] Jun 18, 2024
8d2cfaf
should_hide_tools function added to client_utils (#2966)
marklysze Jun 19, 2024
5a496b3
Anthropic Client (#2931)
Hk669 Jun 19, 2024
01a4277
a_initaite_chats update (#2958)
ShobhitVishnoi30 Jun 19, 2024
f573a4f
Fix #2845 - LocalCommandLineCodeExecutor is not working with virtual …
NanthagopalEswaran Jun 19, 2024
60b1fd4
type fix for ChatResult (#2973)
Hk669 Jun 20, 2024
668146e
Fix #2960 by checking if the values are a list of lists. (#2971)
thinkall Jun 20, 2024
0027699
[.Net] fix #2859 (#2974)
LittleLittleCloud Jun 20, 2024
1021ae0
[.Net] add ReAct sample (#2977)
LittleLittleCloud Jun 20, 2024
394d7e7
Mistral Client (#2892)
marklysze Jun 21, 2024
2b5d41c
Fix qdrant version (#2984)
thinkall Jun 21, 2024
4e07f04
Anthropic client fixes (#2981)
garnermccloud Jun 21, 2024
22fd98e
Together AI Client (#2919)
marklysze Jun 21, 2024
76e4b82
Uniform Interface for calling different LLMs (#2916)
yiranwu0 Jun 21, 2024
32daa96
fix: created in ChatCompletion for clients (#2988)
Hk669 Jun 21, 2024
09681a3
Bump version to 0.2.30 (#2990)
qingyun-wu Jun 21, 2024
81afef7
update notebook wording and format (#2991)
qingyun-wu Jun 21, 2024
e0274c1
Fixed alternating message role bug in Anthropic client (#2992)
marklysze Jun 21, 2024
d36d71b
Message handling to support multiple function calls (#2997)
marklysze Jun 22, 2024
9671680
LLM Observability documentation fixes: Broken links, grammar, and spe…
areibman Jun 22, 2024
5a367f9
bump version (#2999)
qingyun-wu Jun 22, 2024
0daec07
Improve doc in tutorial/conversation-patterns and customized_speaker_…
yiranwu0 Jun 23, 2024
337d728
[.Net] Update website with Tutorial section (#2982)
LittleLittleCloud Jun 25, 2024
e96bdb3
fix #2975 (#3012)
LittleLittleCloud Jun 25, 2024
3454682
AgentEval Blogpost (#2954)
jluey1 Jun 25, 2024
ac71286
improve `Create agent with tools` and add tuturial reference in index…
LittleLittleCloud Jun 25, 2024
d154318
#2708 add Add a judgment to the graph constructor (#2709)
JeffreySu Jun 25, 2024
6ef4dc3
[.Net] add sample on how to make function call using lite llm and oll…
LittleLittleCloud Jun 26, 2024
4d0a9f5
Create azure_cosmos_db in ecosystems.md (#2371)
wmwxwa Jun 27, 2024
b48ec2c
fix log_function_use warning (#3018)
Hk669 Jun 28, 2024
14fea31
Groq Client (#3003)
marklysze Jun 28, 2024
c1aee51
[.Net] fix #3014 by adding local model function call in dotnet websit…
LittleLittleCloud Jun 30, 2024
60c6e5c
Update README.md (#3025)
julianakiseleva Jun 30, 2024
540997c
[.Net] Support tools for AnthropicClient and AnthropicAgent (#2944)
DavidLuong98 Jun 30, 2024
cd203b3
[.Net] Fix #3045 (#3047)
LittleLittleCloud Jul 1, 2024
ce82972
Fix llama_index tests (#3063)
thinkall Jul 2, 2024
4561007
Update qdrant dependency (#3064)
thinkall Jul 2, 2024
783fbc9
Fix simple typos in human-in-the-loop.ipynb (#3051)
fhinkel Jul 2, 2024
8c224a8
update readme (#3057)
qingyun-wu Jul 2, 2024
2d462dd
Blog post for enhanced non-OpenAI model support (#2965)
marklysze Jul 2, 2024
0530895
Fix simple typo in chat-termination.ipynb (#3050)
fhinkel Jul 3, 2024
30c8e69
Cohere Client (#3004)
Hk669 Jul 3, 2024
ec2c6ce
bump version (#3073)
qingyun-wu Jul 4, 2024
df3a887
Update azure_cosmos_db.md (#3043)
wmwxwa Jul 4, 2024
f433f0e
Update AutoTX Link on Gallery.json (#3082)
rihp Jul 4, 2024
d344481
fix: support openai service account apikey format (#3078)
wrfly Jul 5, 2024
8ff9923
[.Net] Update FunctionCallTemplate.tt to encode `"` (#3068)
prithvi2226 Jul 5, 2024
7de195d
Demo Notebook for Using Gemini with VertexAI (#3032)
luxzoli Jul 7, 2024
5ef2b2d
[.Net] fix #2695 and #2884 (#3069)
LittleLittleCloud Jul 10, 2024
14a3204
[.Net] Agent as service: Run an `IAgent` as openai chat completion en…
LittleLittleCloud Jul 11, 2024
5317207
add stateflow to related papers (#3108)
yiranwu0 Jul 11, 2024
7b21950
[.Net] Prepare release note for AutoGen.Net 0.0.16 (#3117)
LittleLittleCloud Jul 11, 2024
ab7d218
fix notebook (#3093)
sonichi Jul 11, 2024
c628e46
middleware examples updated to return modified message passing assert…
MarkWard0110 Jul 13, 2024
87cd10c
feat: Qdrant support for the VectorDB interface (#3035)
Anush008 Jul 15, 2024
ee907da
Fix websurfer test error (#3138)
thinkall Jul 15, 2024
ff821f5
[.Net] update sk version from 1.10.0 to 1.15.1 (#3131)
LittleLittleCloud Jul 15, 2024
5ec0308
add cancellation token to transition check lambda (#3132)
LittleLittleCloud Jul 15, 2024
37d46e0
fix build and tests (#3134)
LittleLittleCloud Jul 15, 2024
7e13368
[.Net] update dotnet-ci and dotnet-release to use 8.0.x version when …
LittleLittleCloud Jul 15, 2024
227924e
update (#3144) (#3145)
LittleLittleCloud Jul 15, 2024
3c8608b
Update qdrant notebook for new qdrant vectordb (#3140)
thinkall Jul 16, 2024
9c0d8fa
Fixed a typo in tool-use.ipynb (#3151)
lucacorbucci Jul 17, 2024
93e1792
Add Agentok into gallery (#3148)
hughlv Jul 18, 2024
cfcc467
Fix typo in agentchat_nestedchat.ipynb (#3139)
nfedyashev Jul 18, 2024
08135c0
Update JSON_mode_example.ipynb (#3130)
umermansoor Jul 18, 2024
e209449
Fix docstring (#3172)
thinkall Jul 19, 2024
7d26c69
add streaming tool call example (#3167)
LittleLittleCloud Jul 19, 2024
4a4eae6
Added anthropic bedrock (#3103)
makkzone Jul 19, 2024
80e4fb2
Update token_count_utils.py - Replace `print` with `logger.warning` f…
umermansoor Jul 19, 2024
7cd3b19
fix: update method name in GeminiClient (#3007)
sugatoray Jul 21, 2024
574c8c5
add Use AutoGen.Net agent as model in AG Studio (#3182)
olaoluwasalami Jul 21, 2024
4c9341a
update (#3175)
yiranwu0 Jul 21, 2024
2baf10e
[.Net] Allow passing a kernel to Interactive Service. (#3183)
LittleLittleCloud Jul 22, 2024
924420a
rename Service -> WebAPI (#3177)
LittleLittleCloud Jul 22, 2024
f24696d
Enhance vertexai integration (#3086)
luxzoli Jul 23, 2024
d3ca6e4
[.Net] Add a constructor which takes ChatCompletionOptions for OpenAI…
LittleLittleCloud Jul 23, 2024
e6b6a11
[CAP] Convenience methods for protobuf and some minor refactoring (#3…
rajan-chari Jul 23, 2024
d5f9444
[CAP] Address missed PR comment changes (Minor) (#3201)
rajan-chari Jul 25, 2024
d9185c0
[.Net] fix #3203 (#3204)
LittleLittleCloud Jul 25, 2024
750e6e3
Fix typo in agentchat_society_of_mind.ipynb (#3180)
imadilkhalil Jul 25, 2024
f99c2a9
Fix Anthropic Bedrock support (#3210)
joris-swapfiets Jul 25, 2024
1d86c89
Resolve arguments formatting (#3194)
tjin88 Jul 25, 2024
dc79b15
+mdb atlas vectordb [clean_final] (#3000)
ranfysvalle02 Jul 25, 2024
d5911f0
avoid scan tool false alarm (#3218)
Zizo-Vi Jul 26, 2024
1ff36d0
Fix failing GitGuardian check (#3228)
umermansoor Jul 26, 2024
417ce5c
Agent Observability Blog Post (#3209)
areibman Jul 27, 2024
241cade
Fix ConversableAgent break link in agent_chat.md file to include the…
CellCS Jul 27, 2024
6746ae6
update input prompt message (#3149)
jatins Jul 27, 2024
2bfcbfd
Add gpt-4o-mini to model list (#3169)
umermansoor Jul 27, 2024
d3fb25c
Observability blog post styling hot fix (#3234)
areibman Jul 27, 2024
b1a4c60
bump version (#3231)
qingyun-wu Jul 28, 2024
320e552
[Typo] Update MongoDB Notebook to acknlowedge >=M10 support (#3220)
Jibola Jul 29, 2024
c0ce8a7
Update Microsoft Fabric notebook (#3243)
thinkall Jul 29, 2024
b4122d8
Fix reference links (#3239)
umermansoor Jul 29, 2024
374483d
Improve error messaging (#3236)
umermansoor Jul 29, 2024
3b7fbe4
Recreated doc for Local LLMs - LiteLLM and Ollama - native function c…
marklysze Jul 29, 2024
f5afc30
[.Net] add SendAsync api to iterate group chat step by step (#3214)
LittleLittleCloud Jul 29, 2024
e3a1f19
bump version and add release note (#3246)
LittleLittleCloud Jul 29, 2024
4544efa
update version
victordibia Jul 29, 2024
69dbff7
early support for anthropic, mistral api
victordibia Aug 27, 2024
de99d9c
Add additional tests to capture edge cases and more error conditions …
umermansoor Jul 30, 2024
aa2247d
[CAP] Added a factory for runtime (#3216)
rajan-chari Aug 2, 2024
90f1a42
[Feature]: Add global silent param for ConversableAgent (#3244)
Zizo-Vi Aug 2, 2024
750ad43
Fix Issue #2880: Document the usage of the AAD auth (#2941)
prithvi2226 Aug 2, 2024
9631749
only add the last message to chat history in SendAsync (#3272)
LittleLittleCloud Aug 2, 2024
e7a7271
[.Net] Remove Azure.AI.OpenAI from AutoGen.DotnetInteractive package …
LittleLittleCloud Aug 2, 2024
63f6778
Correcting tool calling with Cohere (#3271)
jaygdesai Aug 3, 2024
00ae72d
Stop retrieve more docs if all docs have been returned (#3282)
thinkall Aug 6, 2024
0a974cd
avoid circular import (#3276)
Zizo-Vi Aug 6, 2024
b5d410e
[.Net] Fix #3306 (#3310)
LittleLittleCloud Aug 6, 2024
369a75d
[.Net] add DotnetInteractiveKernelBuilder to AutoGen.DotnetInteractiv…
LittleLittleCloud Aug 8, 2024
06d6b82
[.Net] Add AutoGen.AzureAIInference (#3332)
LittleLittleCloud Aug 8, 2024
c8be6b2
Support async nested chats (#3309)
heyitsaamir Aug 9, 2024
8ab4b2f
fix broken link to conversational chess example (#3327)
alu042 Aug 9, 2024
6ce33c5
Add last_speaker to GroupChatManager (#3318)
thinkall Aug 9, 2024
ce57932
Fix to issue #3295 related to Anthropic bedrock (#3298)
makkzone Aug 9, 2024
64a875c
Fix message history limiter for tool call (#3178)
GaoxiangLuo Aug 9, 2024
cb664f7
[.Net][AutoGen.DotnetInteractive] add DotnetInteractiveStdioConnector…
LittleLittleCloud Aug 10, 2024
8c2502f
Add latest gpt-4o model: `gpt-4o-2024-08-06` (#3329)
umermansoor Aug 12, 2024
9489b5c
version (#3343)
qingyun-wu Aug 12, 2024
f4ce19c
Removes Support For `TransformChatHistory` and `CompressibleAgent` (#…
WaelKarkoub Aug 13, 2024
0f5dda2
Updated Program.cs for Autogen.BasicSample to give a menu driven wind…
cbelwal Aug 13, 2024
e6247c7
Remove dependency on RetrieveAssistantAgent for RetrieveChat (#3320)
thinkall Aug 15, 2024
e1bdf21
Missing backticks breaking documentation (#3357)
HenryKobin Aug 16, 2024
829758f
Update Mistral client class to support new Mistral v1.0.1 package (#3…
marklysze Aug 16, 2024
f775ac1
adding a new page Function comparison between Python AutoGen and Auto…
olaoluwasalami Aug 16, 2024
a6639f2
Update README.md to use camera-ready (#3370)
gagb Aug 16, 2024
57f3de3
Add OpenAI Gemini Example for VertexAI Notebook (#3290)
luxzoli Aug 17, 2024
aaee3a2
[.NET] Add cache control to Anthropic Client (#3372)
DavidLuong98 Aug 18, 2024
242a700
Update human-in-the-loop.ipynb (#3379)
realmorrisliu Aug 19, 2024
43d7868
update contact information on the repo and release package (#3383)
ekzhu Aug 20, 2024
a80f51c
[.Net] Dispose kernel after running dotnet interactive tests (#3378)
LittleLittleCloud Aug 20, 2024
a93ec59
Ensure 'name' on initial message (#2635)
marklysze Aug 20, 2024
4092e3a
[.Net] Enable step-by-step execution for two-agent conversation SendA…
LittleLittleCloud Aug 20, 2024
f3be742
Add contributor list via contributors.md (#3384)
ekzhu Aug 20, 2024
95e85f7
Update CONTRIBUTORS.md; fix cell order (#3386)
gagb Aug 20, 2024
3e823c0
Update CONTRIBUTORS.md; fix broken URL (#3387)
gagb Aug 20, 2024
ac5989d
Update CONTRIBUTORS.md (#3393)
LittleLittleCloud Aug 21, 2024
eeed2c1
Update CONTRIBUTORS.md (#3391)
rickyloynd-microsoft Aug 21, 2024
17c8a73
Add Language Agent Tree Search (LATS) notebook (#3376)
andyz245 Aug 21, 2024
0df5ee4
[.Net] Release 0.1.0 (#3398)
LittleLittleCloud Aug 21, 2024
4b8ea37
[.Net] Rename AutoGen.OpenAI to AutoGen.OpenAI.V1 (#3358)
LittleLittleCloud Aug 21, 2024
9d80e9c
Update Docker.md;fix broken URL (#3399)
New-World-2019 Aug 22, 2024
bd3feca
Fix QdrantVectorDB to use custom embedding_function when provided, de…
eddyfidel Aug 22, 2024
7412395
Add mongodb to topic guide (#3400)
thinkall Aug 22, 2024
74572c6
Ability to add MessageTransforms to the GroupChat's Select Speaker ne…
marklysze Aug 26, 2024
109ed51
Fix for group chat resume - full chat history for each agent (#3412)
marklysze Aug 26, 2024
fe54498
Update agent_chat.md;Fix broken URL (#3416)
New-World-2019 Aug 26, 2024
7f44ed9
Add None back to remove_termination_string (#3410)
heyitsaamir Aug 26, 2024
a9aac12
Amazon Bedrock Client for AutoGen (#3232)
Hk669 Aug 26, 2024
8e9e42a
fix `ImportFromModule` is unhashable issue (#3362)
zcipod Aug 26, 2024
4991ba5
Transform to add an agent's name into the message content (#3334)
marklysze Aug 26, 2024
cfc3384
Update gallery.json (#3414)
Kirushikesh Aug 26, 2024
7ecb669
update contributors (#3420)
davorrunje Aug 26, 2024
663a90d
Update privacy link in readme and add Consumer Health Privacy notice …
jackgerrits Aug 26, 2024
3c01da8
Add studio pre-print (#3423)
gagb Aug 26, 2024
3c810df
Update README.md (#3424)
gagb Aug 26, 2024
0a39d2c
Update CITATION.cff (#3427)
gagb Aug 27, 2024
bd57fea
Add details about GAIA benchmark evaluation (#3433)
jackgerrits Aug 27, 2024
50f8f41
Add missing contributors (#3426)
gagb Aug 27, 2024
83fccee
Update package.json, remove gh-pages dep (#3435)
victordibia Aug 27, 2024
e9fb076
[.Net] Add AutoGen.OpenAI package that uses OpenAI v2 SDK (#3402)
LittleLittleCloud Aug 27, 2024
d0a0be8
Merge branch 'main' into autogenstudio
victordibia Aug 28, 2024
7038859
remove error print stmnt
victordibia Aug 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions samples/apps/autogen-studio/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ autogenstudio/web/workdir/*
autogenstudio/web/ui/*
autogenstudio/web/skills/user/*
.release.sh
.nightly.sh

notebooks/work_dir/*

# Byte-compiled / optimized / DLL files
__pycache__/
Expand Down
81 changes: 5 additions & 76 deletions samples/apps/autogen-studio/autogenstudio/chatmanager.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,13 @@
import asyncio
import json
import os
import time
from datetime import datetime
from queue import Queue
from typing import Any, Dict, List, Optional, Tuple, Union

import websockets
from fastapi import WebSocket, WebSocketDisconnect

from .datamodel import Message, SocketMessage, Workflow
from .utils import (
extract_successful_code_blocks,
get_modified_files,
summarize_chat_history,
)
from .datamodel import Message
from .workflowmanager import WorkflowManager


Expand Down Expand Up @@ -82,76 +75,12 @@ def chat(
connection_id=connection_id,
)

workflow = Workflow.model_validate(workflow)

message_text = message.content.strip()
result_message: Message = workflow_manager.run(message=f"{message_text}", clear_history=False, history=history)

start_time = time.time()
workflow_manager.run(message=f"{message_text}", clear_history=False)
end_time = time.time()

metadata = {
"messages": workflow_manager.agent_history,
"summary_method": workflow.summary_method,
"time": end_time - start_time,
"files": get_modified_files(start_time, end_time, source_dir=work_dir),
}

output = self._generate_output(message_text, workflow_manager, workflow)

output_message = Message(
user_id=message.user_id,
role="assistant",
content=output,
meta=json.dumps(metadata),
session_id=message.session_id,
)

return output_message

def _generate_output(
self,
message_text: str,
workflow_manager: WorkflowManager,
workflow: Workflow,
) -> str:
"""
Generates the output response based on the workflow configuration and agent history.

:param message_text: The text of the incoming message.
:param flow: An instance of `WorkflowManager`.
:param flow_config: An instance of `AgentWorkFlowConfig`.
:return: The output response as a string.
"""

output = ""
if workflow.summary_method == "last":
successful_code_blocks = extract_successful_code_blocks(workflow_manager.agent_history)
last_message = (
workflow_manager.agent_history[-1]["message"]["content"] if workflow_manager.agent_history else ""
)
successful_code_blocks = "\n\n".join(successful_code_blocks)
output = (last_message + "\n" + successful_code_blocks) if successful_code_blocks else last_message
elif workflow.summary_method == "llm":
client = workflow_manager.receiver.client
status_message = SocketMessage(
type="agent_status",
data={
"status": "summarizing",
"message": "Summarizing agent dialogue",
},
connection_id=workflow_manager.connection_id,
)
self.send(status_message.dict())
output = summarize_chat_history(
task=message_text,
messages=workflow_manager.agent_history,
client=client,
)

elif workflow.summary_method == "none":
output = ""
return output
result_message.user_id = message.user_id
result_message.session_id = message.session_id
return result_message


class WebSocketConnectionManager:
Expand Down
35 changes: 34 additions & 1 deletion samples/apps/autogen-studio/autogenstudio/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def ui(
port: int = 8081,
workers: int = 1,
reload: Annotated[bool, typer.Option("--reload")] = False,
docs: bool = False,
docs: bool = True,
appdir: str = None,
database_uri: Optional[str] = None,
):
Expand Down Expand Up @@ -48,6 +48,39 @@ def ui(
)


@app.command()
def serve(
workflow: str = "",
host: str = "127.0.0.1",
port: int = 8084,
workers: int = 1,
docs: bool = False,
):
"""
Serve an API Endpoint based on an AutoGen Studio workflow json file.

Args:
workflow (str): Path to the workflow json file.
host (str, optional): Host to run the UI on. Defaults to 127.0.0.1 (localhost).
port (int, optional): Port to run the UI on. Defaults to 8081.
workers (int, optional): Number of workers to run the UI with. Defaults to 1.
reload (bool, optional): Whether to reload the UI on code changes. Defaults to False.
docs (bool, optional): Whether to generate API docs. Defaults to False.

"""

os.environ["AUTOGENSTUDIO_API_DOCS"] = str(docs)
os.environ["AUTOGENSTUDIO_WORKFLOW_FILE"] = workflow

uvicorn.run(
"autogenstudio.web.serve:app",
host=host,
port=port,
workers=workers,
reload=False,
)


@app.command()
def version():
"""
Expand Down
55 changes: 37 additions & 18 deletions samples/apps/autogen-studio/autogenstudio/database/dbmanager.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import threading
from datetime import datetime
from typing import Optional

Expand All @@ -15,30 +16,39 @@
Skill,
Workflow,
WorkflowAgentLink,
WorkflowAgentType,
)
from .utils import init_db_samples

valid_link_types = ["agent_model", "agent_skill", "agent_agent", "workflow_agent"]


class WorkflowAgentMap(SQLModel):
agent: Agent
link: WorkflowAgentLink


class DBManager:
"""A class to manage database operations"""

_init_lock = threading.Lock() # Class-level lock

def __init__(self, engine_uri: str):
connection_args = {"check_same_thread": True} if "sqlite" in engine_uri else {}
self.engine = create_engine(engine_uri, connect_args=connection_args)
# run_migration(engine_uri=engine_uri)

def create_db_and_tables(self):
"""Create a new database and tables"""
try:
SQLModel.metadata.create_all(self.engine)
with self._init_lock: # Use the lock
try:
init_db_samples(self)
SQLModel.metadata.create_all(self.engine)
try:
init_db_samples(self)
except Exception as e:
logger.info("Error while initializing database samples: " + str(e))
except Exception as e:
logger.info("Error while initializing database samples: " + str(e))
except Exception as e:
logger.info("Error while creating database tables:" + str(e))
logger.info("Error while creating database tables:" + str(e))

def upsert(self, model: SQLModel):
"""Create a new entity"""
Expand All @@ -62,7 +72,7 @@ def upsert(self, model: SQLModel):
session.refresh(model)
except Exception as e:
session.rollback()
logger.error("Error while upserting %s", e)
logger.error("Error while updating " + str(model_class.__name__) + ": " + str(e))
status = False

response = Response(
Expand Down Expand Up @@ -115,7 +125,7 @@ def get_items(
session.rollback()
status = False
status_message = f"Error while fetching {model_class.__name__}"
logger.error("Error while getting %s: %s", model_class.__name__, e)
logger.error("Error while getting items: " + str(model_class.__name__) + " " + str(e))

response: Response = Response(
message=status_message,
Expand Down Expand Up @@ -157,16 +167,16 @@ def delete(self, model_class: SQLModel, filters: dict = None):
status_message = f"{model_class.__name__} Deleted Successfully"
else:
print(f"Row with filters {filters} not found")
logger.info("Row with filters %s not found", filters)
logger.info("Row with filters + filters + not found")
status_message = "Row not found"
except exc.IntegrityError as e:
session.rollback()
logger.error("Integrity ... Error while deleting: %s", e)
logger.error("Integrity ... Error while deleting: " + str(e))
status_message = f"The {model_class.__name__} is linked to another entity and cannot be deleted."
status = False
except Exception as e:
session.rollback()
logger.error("Error while deleting: %s", e)
logger.error("Error while deleting: " + str(e))
status_message = f"Error while deleting: {e}"
status = False
response = Response(
Expand All @@ -182,6 +192,7 @@ def get_linked_entities(
primary_id: int,
return_json: bool = False,
agent_type: Optional[str] = None,
sequence_id: Optional[int] = None,
):
"""
Get all entities linked to the primary entity.
Expand Down Expand Up @@ -217,19 +228,21 @@ def get_linked_entities(
linked_entities = agent.agents
elif link_type == "workflow_agent":
linked_entities = session.exec(
select(Agent)
.join(WorkflowAgentLink)
select(WorkflowAgentLink, Agent)
.join(Agent, WorkflowAgentLink.agent_id == Agent.id)
.where(
WorkflowAgentLink.workflow_id == primary_id,
WorkflowAgentLink.agent_type == agent_type,
)
).all()

linked_entities = [WorkflowAgentMap(agent=agent, link=link) for link, agent in linked_entities]
linked_entities = sorted(linked_entities, key=lambda x: x.link.sequence_id) # type: ignore
except Exception as e:
logger.error("Error while getting linked entities: %s", e)
logger.error("Error while getting linked entities: " + str(e))
status_message = f"Error while getting linked entities: {e}"
status = False
if return_json:
linked_entities = [self._model_to_dict(row) for row in linked_entities]
linked_entities = [row.model_dump() for row in linked_entities]

response = Response(
message=status_message,
Expand All @@ -245,6 +258,7 @@ def link(
primary_id: int,
secondary_id: int,
agent_type: Optional[str] = None,
sequence_id: Optional[int] = None,
) -> Response:
"""
Link two entities together.
Expand Down Expand Up @@ -357,6 +371,7 @@ def link(
WorkflowAgentLink.workflow_id == primary_id,
WorkflowAgentLink.agent_id == secondary_id,
WorkflowAgentLink.agent_type == agent_type,
WorkflowAgentLink.sequence_id == sequence_id,
)
).first()
if existing_link:
Expand All @@ -373,6 +388,7 @@ def link(
workflow_id=primary_id,
agent_id=secondary_id,
agent_type=agent_type,
sequence_id=sequence_id,
)
session.add(workflow_agent_link)
# add and commit the link
Expand All @@ -385,7 +401,7 @@ def link(

except Exception as e:
session.rollback()
logger.error("Error while linking: %s", e)
logger.error("Error while linking: " + str(e))
status = False
status_message = f"Error while linking due to an exception: {e}"

Expand All @@ -402,6 +418,7 @@ def unlink(
primary_id: int,
secondary_id: int,
agent_type: Optional[str] = None,
sequence_id: Optional[int] = 0,
) -> Response:
"""
Unlink two entities.
Expand All @@ -417,6 +434,7 @@ def unlink(
"""
status = True
status_message = ""
print("primary", primary_id, "secondary", secondary_id, "sequence", sequence_id, "agent_type", agent_type)

if link_type not in valid_link_types:
status = False
Expand Down Expand Up @@ -452,6 +470,7 @@ def unlink(
WorkflowAgentLink.workflow_id == primary_id,
WorkflowAgentLink.agent_id == secondary_id,
WorkflowAgentLink.agent_type == agent_type,
WorkflowAgentLink.sequence_id == sequence_id,
)
).first()

Expand All @@ -465,7 +484,7 @@ def unlink(

except Exception as e:
session.rollback()
logger.error("Error while unlinking: %s", e)
logger.error("Error while unlinking: " + str(e))
status = False
status_message = f"Error while unlinking due to an exception: {e}"

Expand Down
Loading
Loading