Update README.md (#124)

Update the README so that it has useful content and looks nice.
This commit is contained in:
Eric Gustin 2024-10-24 18:43:16 -07:00 committed by GitHub
parent 036ad54ac6
commit 5b64404839
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

238
README.md
View file

@ -1,29 +1,215 @@
<h3 align="center">
<a name="readme-top"></a>
<img
src="https://docs.arcade-ai.com/images/logo/arcade-ai-logo.png"
height="200"
>
</h3>
<div align="center">
<img width="400px" src="https://docs-112.pages.dev/images/logo/arcade-ai-logo.png" />
### LLM Tool Calling Platform
<p>
<img alt="GitHub Last Commit" src="https://img.shields.io/github/last-commit/arcadeai/arcade-ai" />
<img alt="GitHub Issues" src="https://img.shields.io/github/issues/arcadeai/arcade-ai" />
<img alt="GitHub Pull Requests" src="https://img.shields.io/github/issues-pr/arcadeai/arcade-ai" />
<img alt="GitHub License" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
<img alt="Discord" src="https://img.shields.io/discord/1110910277110743103?label=Discord&logo=discord&logoColor=white&style=plastic&color=d7b023)](https://discord.gg/" />
</p>
---
<p align="center">
<a href="https://docs-112.pages.dev" target="_blank">Docs</a>
<a href="https://docs-112.pages.dev/guides" target="_blank">Guides</a>
<a href="https://docs-112.pages.dev/integrations" target="_blank">Integrations</a>
<a href="https://discord.com/invite/" target="_blank">Discord</a>
</p>
<br />
<a href="https://github.com/arcadeai/arcade-ai/blob/main/LICENSE">
<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License">
</a>
<a href="https://pepy.tech/project/arcade-ai">
<img src="https://static.pepy.tech/badge/arcade-ai" alt="Downloads">
</a>
<a href="https://github.com/ArcadeAI/arcade-ai/graphs/contributors">
<img src="https://img.shields.io/github/contributors/arcadeai/arcade-ai.svg" alt="GitHub Contributors">
</a>
<a href="https://arcade-ai.com">
<img src="https://img.shields.io/badge/Visit_Our_Website-orange" alt="Visit arcade-ai.com">
</a>
</div>
<div>
<p align="center">
<a href="https://x.com/TryArcade">
<img src="https://img.shields.io/badge/Follow%20on%20X-000000?style=for-the-badge&logo=x&logoColor=white" alt="Follow on X" />
</a>
<a href="https://www.linkedin.com/company/arcade-ai">
<img src="https://img.shields.io/badge/Follow%20on%20LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white" alt="Follow on LinkedIn" />
</a>
<a href="https://discord.com/invite/GUZEMpEZ9p">
<img src="https://img.shields.io/badge/Join%20our%20Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Join our Discord" />
</a>
</p>
</div>
Arcade AI is the developer platform for building tools designed to be used with language models. With Arcade, developers can create, deploy, and easily integrate new tools with language models to enhance their capabilities.
<p align="center">
<a href="https://docs.arcade-ai.com" target="_blank">Docs</a>
<a href="https://docs.arcade-ai.com/integrations" target="_blank">Integrations</a>
<a href="https://github.com/ArcadeAI/cookbook" target="_blank">Cookbook</a>
<a href="https://github.com/ArcadeAI/arcade-py" target="_blank">Python Client</a>
<a href="https://github.com/ArcadeAI/arcade-js" target="_blank">JavaScript Client</a>
</p>
# <img src="https://docs.arcade-ai.com/images/logo/arcadeai-title-dark.png" alt="" width="139.98" height="27.84" style="vertical-align: bottom;" />
Arcade AI empowers any developer to seamlessly integrate large language models (LLMs) with real-world systems, enabling secure, user-authenticated interactions with data and services.
## What is Arcade AI?
[Arcade AI](https://arcade-ai.com?ref=github) bridges the gap between powerful AI models and practical applications by making it easy for developers to build tools that perform real-world actions on behalf of users. With Arcade AI, unlock the true potential of AI in your applications. Check out our [documentation](https://docs.arcade-ai.com).
_Pst. hey, you, join our stargazers! It's free!_
<a href="https://github.com/arcadeai/arcade-ai">
<img src="https://img.shields.io/github/stars/arcadeai/arcade-ai.svg?style=social&label=Star&maxAge=2592000" alt="GitHub stars">
</a>
## How to use it?
We provide a hosted version of Arcade AI that you can use immediately.
### Requirements
1. A free **[Arcade AI account](https://arcade-ai.com/signup)**
2. **Python 3.10+** verify your Python version by running `python --version` or `python3 --version` in your terminal
3. **pip** the Python package installer that is typically included with Python
### Installation
```bash
pip install 'arcade-ai[fastapi]'
```
```bash
arcade login
```
### Verify Installation
```bash
arcade chat
```
This launches a chat with the Arcade Cloud Engine (hosted at `api.arcade-ai.com`). All pre-built Arcade tools are available to use.
For example, try asking:
```
star the ArcadeAI/arcade-ai repo on Github
```
Arcade AI will ask you to authorize with GitHub, and then the AI assistant will star the [ArcadeAI/arcade-ai](https://github.com/ArcadeAI/arcade-ai) repo on your behalf.
You'll see output similar to this:
```
Assistant (gpt-4o):
I starred the ArcadeAI/arcade-ai repo on Github for you!
```
You can use Ctrl-C to exit the chat at any time.
## Features
Arcade AI integrates with a variety of services to provide a seamless experience for developers and users.
1. **Hosted Tools**: Arcade AI offers a number of prebuilt toolkits that are ready to use out of the box. These toolkits can be used to interact with a variety of services.
1. **Custom Tools**: Developers can build their own tools to integrate with Arcade AI.
1. **Auth Providers**: Arcade AI integrates with a variety of auth providers to enable users to seamlessly and securely allow Arcade AI tools to access their data.
You can find all of Arcade AI's capabilities and how to use them in our [documentation](https://docs.arcade-ai.com).
### Arcade AI Hosted Tools
<img src="https://docs.arcade-ai.com/images/icons/github.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/gmail.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/google_calendar.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/google_docs.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/google_drive.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/serpapi.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/slack.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/web.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/twitter.png" alt="" width="30" height="30" style="vertical-align: top;" />
<br><br>
Arcade AI offers a number of prebuilt toolkits that can be used to interact with a variety of services.
#### Calling tools directly
```python
from arcadepy import Arcade
client = Arcade()
USER_ID = "you@example.com"
TOOL_NAME = "Github.SetStarred"
# Perform User Authorization
auth_response = client.tools.authorize(
tool_name=TOOL_NAME,
user_id=USER_ID,
)
if auth_response.status != "completed":
print(f"Click this link to authorize: {auth_response.auth_url}")
input("After you have authorized, press Enter to continue...")
# Run the tool
inputs = {"owner": "ArcadeAI", "name": "Hello-World", "starred": True}
response = client.tools.run(
tool_name=TOOL_NAME,
inputs=inputs,
user_id=USER_ID,
)
print(response)
```
#### Calling tools with the LLM API
```python
import os
from openai import OpenAI
USER_ID = "you@example.com"
PROMPT = "Star the ArcadeAI/arcade-ai repository."
TOOL_NAME = "Github.SetStarred"
# Use "generate" to have the LLM generate a response after the tool executes. Use 'execute' to get the tool's output directly.
TOOL_CHOICE = "generate"
client = OpenAI(
base_url="https://api.arcade-ai.com",
api_key=os.environ.get("ARCADE_API_KEY"))
response = client.chat.completions.create(
messages=[
{"role": "user", "content": PROMPT},
],
model="gpt-4o-mini",
user=USER_ID,
tools=[TOOL_NAME],
tool_choice=TOOL_CHOICE,
)
print(response.choices[0].message.content)
```
### Building Your Own Tools
Learn how to build your own tools by following our [creating a custom toolkit guide](https://docs.arcade-ai.com/tools/overview).
### Evaluating Tools
Arcade AI enables you to evaluate your custom tools to ensure they function correctly with the AI assistant, including defining evaluation cases and using different critics.
Learn how to evaluate your tools by following our [evaluating tools guide](https://docs.arcade-ai.com/home/evaluate-tools/create-an-evaluation-suite).
### Auth
<img src="https://docs.arcade-ai.com/images/icons/github.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/google.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/linkedin.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/msft.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/slack.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/spotify.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/twitter.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/zoom.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/oauth2.png" alt="" width="30" height="30" style="vertical-align: top;" />
<br><br>
Learn how to use Arcade AI to obtain user authorization for accessing third-party services in our [authorizing agents with Arcade AI guide](https://docs.arcade-ai.com/home/get-a-token-for-a-user).
Learn how to use Arcade AI's auth providers to enable tools and agents to call other services on behalf of users in our [tools with auth guide](https://docs.arcade-ai.com/home/build-tools/create-a-tool-with-auth).
To see all available auth providers, refer to the [auth providers documentation](https://docs.arcade-ai.com/integrations).
### Models
<img src="https://docs.arcade-ai.com/images/icons/openai.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/anthropic.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/ollama.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/groq.png" alt="" width="30" height="30" style="vertical-align: top;" />
<br><br>
Arcade AI supports a variety of model providers when using the Arcade AI LLM API.
To see all available models, refer to the [models documentation](https://docs.arcade-ai.com/integrations/models/openai).
## Contributing
We love contributions! Please read our [contributing guide](CONTRIBUTING.md) before submitting a pull request. If you'd like to self-host, refer to the [self-hosting documentation](https://docs.arcade-ai.com/home/install/overview).
## Contributors
<a href="https://github.com/ArcadeAI/arcade-ai/graphs/contributors">
<img alt="contributors" src="https://contrib.rocks/image?repo=ArcadeAI/arcade-ai"/>
</a>
<p align="right" style="font-size: 14px; color: #555; margin-top: 20px;">
<a href="#readme-top" style="text-decoration: none; color: #007bff; font-weight: bold;">
↑ Back to Top ↑
</a>
</p>