microsoft/TypeAgent

Public

mirrored from https://github.com/microsoft/TypeAgentAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
8fc4043df7e33ba9b36eda42affda40edbbd08ef

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

README.md

84lines · modecode

1# TypeAgent
2
3**TypeAgent** is **sample code** that explores architectures for building _interactive agents_ with _natural language interfaces_ using [TypeChat](https://github.com/microsoft/typechat).
4
5**TypeAgent** uses TypeChat to build a set of example agents that **take actions**. Agents define actions using TypeChat schemas.
6
7The TypeAgent repo contains example agents and applications, along with internal packages used to build them.
8
9## Examples
10
11- Agents with natural language interfaces:
12
13 - [Music Player](./ts/packages/agents/player/)
14 - [Chat](./ts/packages/agents/chat/)
15 - [Browser](./ts/packages/agents/browser/)
16 - [VS Code](./ts/packages/agents/code/)
17 - [List Management](./ts/packages/agents/list/)
18 - [Calendar](./ts/packages/agents/calendar/)
19 - [Email](./ts/packages/agents/email/)
20 - [Desktop](./ts/packages/agents/desktop/)
21
22- [Agent Dispatcher](./ts/packages/dispatcher/)
23
24 Explores applying TypeChat to route user requests to agents whose typed contract best matches user intent.
25
26- [Agent Cache](./ts/packages/cache/)
27
28 Explores how TypeChat translations from user intent to actions can be cached, minimizing the need to go the LLM.
29
30- [Agent Shell](./ts/packages/shell/)
31
32 An Electron application for interacting with multiple registered agents using a single unified user interface. Agent Shell includes:
33
34 - Integrated chat experience with voice support
35 - Dispatcher that dispatches to registered agents
36 - Structured memory
37 - Structured RAG
38
39### State Management
40
41All storage, registration, chat, memory and other state maintained by examples is stored **_locally_** in **your user folder** on your development machine. State is typically saved as ordinary text or JSON files in sub-folders below your user folder .
42
43## Intended Uses
44
45- TypeAgent is sample code shared to encourage the exploration of natural language agent architectures using TypeChat.
46- Sample agents are not intended to be implemented in real-world settings without further testing/validation.
47
48## Limitations
49
50TypeAgent is early stage sample code over TypeChat. TypeAgent is not a framework. All library code is used to build our own example apps and agents only.
51
52- TypeAgent is in **active development** with frequent updates and refactoring.
53- TypeAgent has been tested with Azure Open AI services on developer's own machines only.
54- TypeAgent is currently tested in English. Performance may vary in other languages.
55- TypeAgent relies on [TypeChat](https://github.com/microsoft/typechat), which uses schema to validate LLM responses. An agent's validity therefore depends on how well _its schema_ represents the user intents and LLM responses _for its domains_.
56- You are responsible for supplying any **API keys** used by examples.
57
58## Getting Started
59
60TypeAgent is written in TypeScript and relies on TypeChat. To understand how TypeAgent examples work, we recommend getting comfortable with TypeChat and [TypeChat examples](https://github.com/microsoft/TypeChat/tree/main/typescript/examples) first.
61
62## Developers
63
64Microsoft AI Systems Repo is a mono-repo, with components organized with the following root folders based on language used.
65
66- [`ts`](./ts) TypeScript code ([Readme](./ts/README.md))
67
68### Agent Shell Example
69
70The main entry point to explore TypeAgent is the Agent Shell example. Follow the [instructions](./ts/README.md) in the typescript code [directory](./ts) to get started.
71
72## Code of Conduct
73
74This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
75For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
76contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
77
78## Trademarks
79
80This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
81trademarks or logos is subject to and must follow
82[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
83Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
84Any use of third-party trademarks or logos are subject to those third-party's policies.