From 6233b3fc0a4afe635e98fb1b115f81b75666912f Mon Sep 17 00:00:00 2001 From: Vineeth Voruganti <13438633+VVoruganti@users.noreply.github.com> Date: Thu, 16 May 2024 12:27:00 -0400 Subject: [PATCH] Update Changelog, pyproject, and mintlify docs (#58) * Update Changelog, pyproject, and mintlify docs * Update version shield in README --- CHANGELOG.md | 17 +++++++++++++++++ README.md | 12 ++++++------ docs/_snippets/overview-shields.mdx | 21 ++++++++++++++++++++- docs/api-reference/introduction.mdx | 8 ++++++++ docs/guides/dialectic-endpoint.mdx | 14 ++++++++------ docs/guides/discord.mdx | 2 +- pyproject.toml | 2 +- 7 files changed, 61 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b9033d92..765752d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [0.0.9] — 2024-05-16 + +### Added + +* Deriver to docker compose +* Postgres based Queue for background jobs + +### Changed + +* Deriver to use a queue instead of supabase realtime +* Using mirascope instead of langchain + +### Removed + +* Legacy SDKs in preference for stainless SDKs + + ## [0.0.8] — 2024-05-09 ### Added diff --git a/README.md b/README.md index e4a72b2d..8d3d7d40 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # 🫡 Honcho -![Static Badge](https://img.shields.io/badge/Version-0.0.8-blue) +![Static Badge](https://img.shields.io/badge/Version-0.0.9-blue) [![Discord](https://img.shields.io/discord/1016845111637839922?style=flat&logo=discord&logoColor=23ffffff&label=Plastic%20Labs&labelColor=235865F2)](https://discord.gg/plasticlabs) [![arXiv](https://img.shields.io/badge/arXiv-2310.06983-b31b1b.svg)](https://arxiv.org/abs/2310.06983) ![GitHub License](https://img.shields.io/github/license/plastic-labs/honcho) @@ -13,7 +13,7 @@ Honcho is a platform for making AI agents and LLM powered applications that are to their end users. It leverages the inherent theory-of-mind capabilities of LLMs to cohere to user psychology over time. -Read about the the project [here](https://blog.plasticlabs.ai/blog/A-Simple-Honcho-Primer). +Read about the project [here](https://blog.plasticlabs.ai/blog/A-Simple-Honcho-Primer). Read the user documentation [here](https://docs.honcho.dev) @@ -92,7 +92,7 @@ isolation data between use cases. **Users** -Within an `App` everything revolves around a `User`. the `User` object very +Within an `App` everything revolves around a `User`. the `User` object literally represent a user of an application. #### Sessions @@ -103,11 +103,11 @@ The `Session` object represents a set of interactions a `User` has with an **Messages** The `Message` represents an atomic interaction of a `User` in a `Session`. -`Message`s are labed as either a `User` or AI message. +`Message`s are labed as either a `User` or AI message. #### Metamessages -A `Metamessage` is very similar to a `Message` with different use case. They are +A `Metamessage` is similar to a `Message` with different use case. They are meant to be used to store intermediate inference from AI assistants or other derived information that is separate from the main `User` `App` interaction loop. For complicated prompting architectures like [metacognitive prompting](https://arxiv.org/abs/2310.06983) @@ -150,7 +150,7 @@ about the `User`. This robust design let's us use this single endpoint for all cases where extra personalization or information about the `User` is necessary. A developer's application can treat Honcho as an oracle to the `User` and -consult with it when necessary. Some examples of how to leverage the Dialectic +consult it when necessary. Some examples of how to leverage the Dialectic API include: - Asking Honcho for a theory-of-mind insight about the `User` diff --git a/docs/_snippets/overview-shields.mdx b/docs/_snippets/overview-shields.mdx index 33449945..cfffe47c 100644 --- a/docs/_snippets/overview-shields.mdx +++ b/docs/_snippets/overview-shields.mdx @@ -60,4 +60,23 @@ alt="pip installs" /> - \ No newline at end of file + + npm package version + + diff --git a/docs/api-reference/introduction.mdx b/docs/api-reference/introduction.mdx index c9a29665..1b6298b3 100644 --- a/docs/api-reference/introduction.mdx +++ b/docs/api-reference/introduction.mdx @@ -10,3 +10,11 @@ primitives consult [Architecture](/getting-started/Architecture) This part of the documentation is autogenerated for the most up to date and accurate API spec view the [Redoc](https://demo.honcho.dev/redoc) or [Swagger](https://demo.honcho.dev/docs) directly. + +Each API endpoint is documented and includes code examples of how to interact with them via our [NodeJS](https://github.com/plastic-labs/honcho-node) and +[Python](https://github.com/plastic-labs/honcho-python) SDKs. + +For more detailed looks on how the SDKs work and their associated types consult the api docs in each respective repository. + +- [Honcho Python SDK](https://github.com/plastic-labs/honcho-python/blob/main/api.md) +- [Honcho NodeJS SDK](https://github.com/plastic-labs/honcho-node/blob/main/api.md) diff --git a/docs/guides/dialectic-endpoint.mdx b/docs/guides/dialectic-endpoint.mdx index 0c839082..601ca19c 100644 --- a/docs/guides/dialectic-endpoint.mdx +++ b/docs/guides/dialectic-endpoint.mdx @@ -35,17 +35,19 @@ Belows is some example code on how this works. ```python from honcho import Honcho -honcho = Honcho(app_name="demo") -honcho.initialize() +honcho = Honcho() + +# Create or get an existing App +app = honcho.apps.get_or_create(name="demo-app") # create or get user -user = honcho.create_or_get_user("demo-user") +user = honcho.apps.users.get_or_create(app_id=app.id, name="demo-user") -# create or get session -session = honcho.create_or_get_session(user, "demo-session") +# create a new session +session = honcho.apps.users.session.create(app_id=app.id, user_id=user.id) # Talk to the dialectic agent to reason about their needs -answer = session.chat("What is the user's favorite way of completing the task") +answer = honcho.apps.users.session.chat(app_id=app.id, user_id=user.id, session_id=session.id, query="What is the user's favorite way of completing the task") ``` diff --git a/docs/guides/discord.mdx b/docs/guides/discord.mdx index a55b193a..23654e5d 100644 --- a/docs/guides/discord.mdx +++ b/docs/guides/discord.mdx @@ -110,4 +110,4 @@ Then we can retrieve and delete the messages associated with that metadata: ```python sessions = list(user.get_sessions_generator(user_id, location_id)) sessions[0].close() if len(sessions) > 0 else None -``` \ No newline at end of file +``` diff --git a/pyproject.toml b/pyproject.toml index 066ea4bf..79683c5a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "honcho" -version = "0.0.8" +version = "0.0.9" description = "Honcho Server" authors = ["Plastic Labs "] readme = "README.md"