Skip to main content

Build AI Assistants Fast

Project description

CyberChipped

PyPI - Version GitHub Workflow Status (with event) Codecov

CyberChipped Logo

Introduction

CyberChipped powers the best AI Companion - CometHeart!

In a few lines of code build a conversational AI Assistant!

Install

pip install cyberchipped

OpenAI Assistant

Audio Conversation

from cyberchipped.ai import SQLiteDatabase, AI
from fastapi import UploadFile, File
from fastapi.responses import StreamingResponse
import os

database = SQLiteDatabase("sqlite.db")

@app.post("/conversation/{user_id}")
async def conversation_endpoint(user_id: str, audio_file: UploadFile = File(...)):
    async with AI(
        api_key=os.getenv("OPENAI_API_KEY"),
        name="CometHeart AI Simple",
        instructions="You are CometHeart an AI voice assistant - you answer questions and help with tasks. You keep your responses brief and tailor them for speech.",
        database=database
    ) as ai:
        @ai.add_tool
        def get_current_temperature(location: str, unit: str) -> str:
            """Get the current temperature for a specific location"""
            return f"The current temperature in {location} is 20 degrees {unit}"

        audio_generator = await ai.conversation(user_id, audio_file)

        return StreamingResponse(
            content=audio_generator,
            media_type="audio/x-aac",
        )

Text Conversation

from cyberchipped.ai import SQLiteDatabase, AI
from fastapi import UploadFile, File
from fastapi.responses import StreamingResponse
import os
from pydantic import BaseClass

database = SQLiteDatabase("sqlite.db")

class Text(BaseClass):
    text: str

@app.post("/conversation/{user_id}")
async def conversation_endpoint(user_id: str, text: Text, audio_file: UploadFile = File(...)):
    async with AI(
        api_key=os.getenv("OPENAI_API_KEY"),
        name="CometHeart AI Simple",
        instructions="You are CometHeart an AI voice assistant - you answer questions and help with tasks. You keep your responses brief and tailor them for speech.",
        database=database
    ) as ai:
        @ai.add_tool
        def get_current_temperature(location: str, unit: str) -> str:
            """Get the current temperature for a specific location"""
            return f"The current temperature in {location} is 20 degrees {unit}"

        text_generator = await ai.text(user_id, text.text)

        return text_generator

Run Tests

poetry run pytest

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cyberchipped-1.2.1.tar.gz (5.4 kB view hashes)

Uploaded Source

Built Distribution

cyberchipped-1.2.1-py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page