From 502f67806001b3c12c48ec264a33df5dbab83d33 Mon Sep 17 00:00:00 2001 From: Carlos Guimaraes Date: Tue, 15 Apr 2025 19:05:04 -0300 Subject: [PATCH 1/2] feat: akashchat api model added --- app/config/config.py | 1 + app/core/engine.py | 13 ++ example.env | 2 + models/agent.py | 1 + skills/akashchat/__init__.py | 83 ++++++++++ skills/akashchat/akashchat.png | Bin 0 -> 151601 bytes skills/akashchat/akashgen_image_generation.py | 147 ++++++++++++++++++ skills/akashchat/base.py | 26 ++++ skills/akashchat/schema.json | 62 ++++++++ 9 files changed, 335 insertions(+) create mode 100644 skills/akashchat/__init__.py create mode 100644 skills/akashchat/akashchat.png create mode 100644 skills/akashchat/akashgen_image_generation.py create mode 100644 skills/akashchat/base.py create mode 100644 skills/akashchat/schema.json diff --git a/app/config/config.py b/app/config/config.py index 3aaf8e00..d150c10c 100644 --- a/app/config/config.py +++ b/app/config/config.py @@ -95,6 +95,7 @@ def __init__(self): # AI self.openai_api_key = self.load("OPENAI_API_KEY") self.deepseek_api_key = self.load("DEEPSEEK_API_KEY") + self.akash_chat_api_key = self.load("AKASH_CHAT_API_KEY") self.xai_api_key = self.load("XAI_API_KEY") self.eternal_api_key = self.load("ETERNAL_API_KEY") self.system_prompt = self.load("SYSTEM_PROMPT") diff --git a/app/core/engine.py b/app/core/engine.py index 18518db4..466e1aea 100644 --- a/app/core/engine.py +++ b/app/core/engine.py @@ -157,6 +157,19 @@ async def initialize_agent(aid, is_private=False): ) if input_token_limit > 60000: input_token_limit = 60000 + elif agent.model == "akashchat": + agent.model = "Meta-Llama-3-3-70B-Instruct" + llm = ChatOpenAI( + model_name=agent.model, + openai_api_key=config.akash_chat_api_key, + openai_api_base="https://chatapi.akash.network/api/v1", + frequency_penalty=agent.frequency_penalty, + presence_penalty=agent.presence_penalty, + temperature=agent.temperature, + timeout=1000, + ) + if input_token_limit > 60000: + input_token_limit = 60000 else: llm = ChatOpenAI( model_name=agent.model, diff --git a/example.env b/example.env index dfd9708e..d3358b94 100644 --- a/example.env +++ b/example.env @@ -6,6 +6,8 @@ OPENAI_API_KEY= DEEPSEEK_API_KEY= +AKASH_CHAT_API_KEY= + DB_HOST= DB_PORT= DB_USERNAME= diff --git a/models/agent.py b/models/agent.py index 7f4d0f64..b6977da0 100644 --- a/models/agent.py +++ b/models/agent.py @@ -685,6 +685,7 @@ class AgentUpdate(BaseModel): "deepseek-reasoner", "grok-2", "eternalai", + "akashchat", ], PydanticField( default="gpt-4o-mini", diff --git a/skills/akashchat/__init__.py b/skills/akashchat/__init__.py new file mode 100644 index 00000000..bde9dab7 --- /dev/null +++ b/skills/akashchat/__init__.py @@ -0,0 +1,83 @@ +"""AkashChat skills.""" + +import logging +from typing import TypedDict + +from abstracts.skill import SkillStoreABC +from skills.base import SkillConfig, SkillState +from skills.akashchat.base import AkashChatBaseTool +from skills.akashchat.akashgen_image_generation import AkashGenImageGeneration + +# Cache skills at the system level, because they are stateless +_cache: dict[str, AkashChatBaseTool] = {} + +logger = logging.getLogger(__name__) + + +class SkillStates(TypedDict): + akashgen_image_generation: SkillState + + +class Config(SkillConfig): + """Configuration for AkashChat skills.""" + + states: SkillStates + api_key: str + + +async def get_skills( + config: "Config", + is_private: bool, + store: SkillStoreABC, + **_, +) -> list[AkashChatBaseTool]: + """Get all AkashChat skills. + + Args: + config: The configuration for AkashChat skills. + is_private: Whether to include private skills. + store: The skill store for persisting data. + + Returns: + A list of AkashChat skills. + """ + available_skills = [] + + # Include skills based on their state + for skill_name, state in config["states"].items(): + if state == "disabled": + continue + elif state == "public" or (state == "private" and is_private): + available_skills.append(skill_name) + + # Get each skill using the cached getter + result = [] + for name in available_skills: + skill = get_akashchat_skill(name, store) + if skill: + result.append(skill) + return result + + +def get_akashchat_skill( + name: str, + store: SkillStoreABC, +) -> AkashChatBaseTool: + """Get an AkashChat skill by name. + + Args: + name: The name of the skill to get + store: The skill store for persisting data + + Returns: + The requested AkashChat skill + """ + if name == "akashgen_image_generation": + if name not in _cache: + _cache[name] = AkashGenImageGeneration( + skill_store=store, + ) + return _cache[name] + else: + logger.warning(f"Unknown AkashChat skill: {name}") + return None diff --git a/skills/akashchat/akashchat.png b/skills/akashchat/akashchat.png new file mode 100644 index 0000000000000000000000000000000000000000..a13896278b1ddac3c9152d8aafc2c0295c61aef2 GIT binary patch literal 151601 zcmcF~Wmp_d7vkM5D4^1QbJS-1cJEvcfvygS48V1R)Jq1>?JguKp>>Pe!AjlmpJ@U?NH{jK0hw25HH6ey9o4#0n$O*G`3T$+2IpdI z=t=)o>lsaw*MVx z2@19b&HoQGL3^LUq|T2OtecaJr;waF1uvh1%NEOLE$cnn8+4YJmP%)>qC9>n+RYr- zo3_qcvbSd1R?VN@$Ln?`=SwzD%hu9Mf3ILeJ*1x&6%7nUQ2d5UMq7}_8U2fzAyKNJ zNxL#qWq4Q0#M08z5jYJUO-;cbrXIipYzp@A@d4X{!N4Uj7`SU_XlQL+u1rf)kVpMg zQm-OGO8!r-K6sOwW)^eDw|HY>wTtER$5CRx8rpTL=37^FdnIZoty#HG!Hx6h;8sb2 z!`l{%qyovbf)dJ1Q`|#D5KCr(1p+9a4aIT_lp{$_0s{HN$_A#+g~EeqB|{~?p@Kwd zg+T>B!+&vxW0X=yZz~aqD;9iJrA;0H2JP-;SXfDk1(iG>n*a+BkAQ#x&%cpwvUoG& zT%Z)TB~fB1q&+Cl2rT>6uZTHr*=gIxWy|`sG1J<`m9;fnRy?iQ3eAd!_V!up2H*=c z0`gtTwB?Yk(QRCoPhgcz@L`lx8jH7x0vQVu_<{W3Q9p!+(*M*#)th{S1Bv2+YU#;A z6>Jdsu}jKeGCv8Ldm)+v3|dTFe1Y(7NA1$csHmvKKfs`({PSm^$gFUrU}|OM<>ch# zrRU}5=4NGOW#+%Jv$M0Xpib}yW()g@F$qxNNB_?wU&$=%HCN?|CavfGt@v8;Y@^lk z@^ZbVO{=cm4F0X@uSx5=rA%<^tke^rAgSY1tdpsfkf6W$VSaU#&}315qFBC8!lED) zG9JMP%w6%ClCglZtVh!{{iy@iT36IKP@*t&5CZ6@unCFYw_QiB@Lyp=Lt&R;C5I)z zBlR#fHT7_DvAMZ<5jYMPfv2g9i;KX`-+x&x1kBTJD*y<$Gut$EPSY&4{tsajUdm^| zh63EC4_EL++GLP|M%BoYhy8m}Anm?tR(5|`S!h9SmYa6@xl_$7aT-jTAjJ}lWI%^8 z)Myib|Gos~^l!4MsYQGH*mv}!6aS6zv9Zxn8Ch9bIhmhyi9SC`Tg^&T+#HQvt|9#-Q3(0pjS`8`1f<_N~uECiaou;v~~U1#j~ANwuWAMYDRM~ zmym&R5g)49N}m;Od8^i6C)t#<16?2}pus1_dLLT95YFJlOanIdrlmn$G;*6WJWr`a znMQ3mad>B@4_Izs`FsA2te~JGth*Bpb@hd%rL@dULgIgeF?nRyv6<=Uur-n=y z%neLZQoy1<4NwBjib~)pFE6jGtgNa~<>0WY_poW5vz}Sb1Xs<=#~ZupLbLXnB6Sn( zc4p}kLteyo2C||hJH;Sp!@8|8*GARP$OqmX?1=UedqGU5Iy zm{M=%WoKvSvMEkGe0+Q~LwdD-e|v>PB3NkjT?giTGCI05qg+%ep*QIIPgfTu z5&dmXoQ-nrR5|A7=hf7clFq8C?5yo<*zlrstC9;#jMYGbTa;W>RGM`}QhCTM%O4=T z4M*|c9^t@sO(Kv)j(+l4$XjTCXS-&;7++6vLy0cMVM-?Cr&5fmTD7<2D)c*O(g1fthhvF#Au;n*17rf&UUP>-eF~YQ%R6NDueR{>*)YVtWpHi1I zGox$Xo>}gDf1M`ypGR{=LVUmn8`E&uSXjWcWj16t!@lg0{&SjF@r4#?g{yLnvz8U~ zRVz*I+gAl6$&7j}-p_YON0zmdgJ1a`Fi;^i%aRd2Ntwoe;|U7h`E0KZ2t(|*7rUY8m zvtqgC``D0F%WlAIZet|h>O?b_GV!PPA%lRYr)fm;!>SQKqxc^AP>vf9ox_(j=yu-W9fC~ka|_7O^L79E{@nNJu!xG15}~p% zHUnehZAU7t@YciI#ANsB_ISQZx7B<9?&|8w)TOpT2XK;-X?`($!~^{BL*IOnWiyNB zE!5j&V)yN*dd*Uttc3-AkoN=zqXlvx1w|P6o0bIpXtnjD^*T^KO9Bd1wz#si(&Br+ z*0|3|?{#;$*6x|@dDo1s=X2PPt;cJ>(FM3Zp?M6$`~x`ojGO0IaBF)Fu%(Mt?W*OW43$L)x=>{4E{Y9M!MklHkyH@M@i1R=zhB+ zPOS3kLoeu+I@;VYm5aX3wDia4R3Go;DJ-VspH^)fXRYb081&jbc6%N_P7rY4Y<*

RVWGX7E{r$arVov*qi%o1jkIVjKU9Y=Ev-^`p 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 VpEzmvv4FO#t+WOzZ#v literal 0 HcmV?d00001 diff --git a/skills/akashchat/akashgen_image_generation.py b/skills/akashchat/akashgen_image_generation.py new file mode 100644 index 00000000..5fb3698f --- /dev/null +++ b/skills/akashchat/akashgen_image_generation.py @@ -0,0 +1,147 @@ +"""AkashGen image generation skill for AkashChat.""" + +import logging +from typing import Type + +import httpx +import asyncio +from epyxid import XID +from langchain_core.runnables import RunnableConfig +from pydantic import BaseModel, Field + +from skills.akashchat.base import AkashChatBaseTool +from utils.s3 import store_image + +logger = logging.getLogger(__name__) + + +class AkashGenImageGenerationInput(BaseModel): + """Input for AkashGenImageGeneration tool.""" + + prompt: str = Field( + description="Text prompt describing the image to generate." + ) + negative: str = Field( + default="", + description="Negative prompt to exclude undesirable elements from the image." + ) + sampler: str = Field( + default="dpmpp_2m", + description="Sampling method to use for image generation. Default: dpmpp_2m." + ) + scheduler: str = Field( + default="sgm_uniform", + description="Scheduler to use for image generation. Default: sgm_uniform." + ) + preferred_gpu: list[str] = Field( + default_factory=lambda: ["RTX4090", "A10", "A100", "V100-32Gi", "H100"], + description="List of preferred GPU types for image generation." + ) + + +class AkashGenImageGeneration(AkashChatBaseTool): + """Tool for generating high-quality images using AkashGen model. + + This tool takes a text prompt and uses AkashChat's API to generate + an image based on the description using the AkashGen model. + + Attributes: + name: The name of the tool. + description: A description of what the tool does. + args_schema: The schema for the tool's input arguments. + """ + + name: str = "akashgen_image_generation" + description: str = ( + "Generate images using AkashGen model.\n" + "Provide a text prompt describing the image you want to generate.\n" + "AkashGen is a powerful image generation model capable of creating detailed, " + "high-quality images from text descriptions.\n" + "You can specify size, quality, and style parameters for more control.\n" + ) + args_schema: Type[BaseModel] = AkashGenImageGenerationInput + + async def _arun( + self, + prompt: str, + negative: str = "", + sampler: str = "dpmpp_2m", + scheduler: str = "sgm_uniform", + preferred_gpu: list[str] = ["RTX4090", "A10", "A100", "V100-32Gi", "H100"], + config: RunnableConfig = None, + **kwargs, + ) -> str: + """Implementation of the tool to generate images using AkashChat's AkashGen model. + + Args: + prompt: Text prompt describing the image to generate. + negative: Negative prompt to exclude undesirable elements from the image. + sampler: Sampling method to use for image generation. Default: dpmpp_2m. + scheduler: Scheduler to use for image generation. Default: sgm_uniform. + preferred_gpu: List of preferred GPU types for image generation. + config: Configuration for the runnable. + + Returns: + str: URL of the generated image. + + Raises: + Exception: If the image generation fails. + """ + context = self.context_from_config(config) + + # Get the AkashChat API key from the skill store + api_key = context.config.get("api_key") + + # Generate a unique job ID + job_id = str(XID()) + + try: + # Prepare the payload for AkashGen API + payload = { + "prompt": prompt, + "negative": negative, + "sampler": sampler, + "scheduler": scheduler, + "preferred_gpu": preferred_gpu + } + headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"} + + # Send the image generation request + async with httpx.AsyncClient(timeout=60) as client: + gen_response = await client.post( + "https://gen.akash.network/api/generate", + json=payload, + headers=headers + ) + gen_response.raise_for_status() + gen_data = gen_response.json() + job_id = gen_data.get("job_id") + if not job_id: + raise Exception(f"No job_id returned from AkashGen: {gen_data}") + + # Poll for status every 3 seconds + status_url = f"https://gen.akash.network/api/status?ids={job_id}" + for _ in range(40): # ~2 minutes max + status_response = await client.get(status_url, headers=headers) + status_response.raise_for_status() + status_data = status_response.json() + status_entry = status_data.get(job_id) or (status_data["statuses"][0] if "statuses" in status_data and status_data["statuses"] else None) + if not status_entry: + raise Exception(f"Malformed status response: {status_data}") + if status_entry["status"] == "completed": + result = status_entry.get("result") + if not result: + raise Exception(f"No result found in completed status: {status_entry}") + return result + elif status_entry["status"] == "failed": + raise Exception(f"Image generation failed: {status_entry}") + await asyncio.sleep(3) + raise Exception(f"Image generation timed out for job_id {job_id}") + except httpx.HTTPError as e: + error_message = f"HTTP error during AkashGen image generation: {str(e)}" + logger.error(error_message) + raise Exception(error_message) + except Exception as e: + error_message = f"Error generating image with AkashGen: {str(e)}" + logger.error(error_message) + raise Exception(error_message) diff --git a/skills/akashchat/base.py b/skills/akashchat/base.py new file mode 100644 index 00000000..bf6838c8 --- /dev/null +++ b/skills/akashchat/base.py @@ -0,0 +1,26 @@ +"""Base class for AkashChat skills.""" + +from typing import Type + +from pydantic import BaseModel, Field + +from abstracts.skill import SkillStoreABC +from skills.base import IntentKitSkill + + +class AkashChatBaseTool(IntentKitSkill): + """Base class for all AkashChat skills. + + This class provides common functionality for all AkashChat skills. + """ + + name: str = Field(description="The name of the tool") + description: str = Field(description="A description of what the tool does") + args_schema: Type[BaseModel] + skill_store: SkillStoreABC = Field( + description="The skill store for persisting data" + ) + + @property + def category(self) -> str: + return "akashchat" diff --git a/skills/akashchat/schema.json b/skills/akashchat/schema.json new file mode 100644 index 00000000..7b45b91e --- /dev/null +++ b/skills/akashchat/schema.json @@ -0,0 +1,62 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "AkashChat Skills", + "description": "Skills for interacting with Akash Chat API services, including image generation and other AI capabilities", + "x-icon": "https://ai.service.crestal.dev/skills/akashchat/akashchat.png", + "x-tags": [ + "AI", + "Image Generation" + ], + "x-api-key": "required", + "properties": { + "enabled": { + "type": "boolean", + "title": "Enabled", + "description": "Whether this skill is enabled", + "default": false + }, + "states": { + "type": "object", + "properties": { + "akashgen_image_generation": { + "type": "string", + "title": "Image Generation by AkashGen", + "enum": [ + "disabled", + "public", + "private" + ], + "x-enum-title": [ + "Disabled", + "Agent Owner + All Users", + "Agent Owner Only" + ], + "description": "Generate images using AkashGen model based on text prompts", + "default": "disabled" + } + }, + "description": "States for each AkashChat skill (disabled, public, or private)" + }, + "api_key": { + "type": "string", + "title": "API Key", + "x-link": "[Get your API key](https://chatapi.akash.network)", + "x-sensitive": true, + "description": "Akash Chat API key for authentication" + } + }, + "required": [ + "enabled", + "states" + ], + "if": { + "properties": { + "enabled": { "const": true } + } + }, + "then": { + "required": ["api_key"] + }, + "additionalProperties": true +} \ No newline at end of file From 1436b75369d982baf69f2b7db55bf7f859313d74 Mon Sep 17 00:00:00 2001 From: Carlos Guimaraes Date: Wed, 16 Apr 2025 15:52:00 -0300 Subject: [PATCH 2/2] fix: small fixes --- skills/akashchat/__init__.py | 4 +- skills/akashchat/akashgen_image_generation.py | 65 +++++++++++++------ 2 files changed, 47 insertions(+), 22 deletions(-) diff --git a/skills/akashchat/__init__.py b/skills/akashchat/__init__.py index bde9dab7..056c7a03 100644 --- a/skills/akashchat/__init__.py +++ b/skills/akashchat/__init__.py @@ -4,9 +4,9 @@ from typing import TypedDict from abstracts.skill import SkillStoreABC -from skills.base import SkillConfig, SkillState -from skills.akashchat.base import AkashChatBaseTool from skills.akashchat.akashgen_image_generation import AkashGenImageGeneration +from skills.akashchat.base import AkashChatBaseTool +from skills.base import SkillConfig, SkillState # Cache skills at the system level, because they are stateless _cache: dict[str, AkashChatBaseTool] = {} diff --git a/skills/akashchat/akashgen_image_generation.py b/skills/akashchat/akashgen_image_generation.py index 5fb3698f..ea3cf0d4 100644 --- a/skills/akashchat/akashgen_image_generation.py +++ b/skills/akashchat/akashgen_image_generation.py @@ -1,16 +1,16 @@ """AkashGen image generation skill for AkashChat.""" +import asyncio +import json import logging -from typing import Type +from typing import Optional, Type import httpx -import asyncio from epyxid import XID from langchain_core.runnables import RunnableConfig -from pydantic import BaseModel, Field +from pydantic import BaseModel, Field, field_validator from skills.akashchat.base import AkashChatBaseTool -from utils.s3 import store_image logger = logging.getLogger(__name__) @@ -18,26 +18,36 @@ class AkashGenImageGenerationInput(BaseModel): """Input for AkashGenImageGeneration tool.""" - prompt: str = Field( - description="Text prompt describing the image to generate." - ) + prompt: str = Field(description="Text prompt describing the image to generate.") negative: str = Field( default="", - description="Negative prompt to exclude undesirable elements from the image." + description="Negative prompt to exclude undesirable elements from the image.", ) sampler: str = Field( default="dpmpp_2m", - description="Sampling method to use for image generation. Default: dpmpp_2m." + description="Sampling method to use for image generation. Default: dpmpp_2m.", ) scheduler: str = Field( default="sgm_uniform", - description="Scheduler to use for image generation. Default: sgm_uniform." + description="Scheduler to use for image generation. Default: sgm_uniform.", ) preferred_gpu: list[str] = Field( default_factory=lambda: ["RTX4090", "A10", "A100", "V100-32Gi", "H100"], - description="List of preferred GPU types for image generation." + description="List of preferred GPU types for image generation.", ) + @field_validator("preferred_gpu") + @classmethod + def ensure_list(cls, v): + if isinstance(v, str): + try: + parsed = json.loads(v) + if isinstance(parsed, list): + return parsed + except Exception: + raise ValueError("preferred_gpu must be a list or a JSON array string") + return v + class AkashGenImageGeneration(AkashChatBaseTool): """Tool for generating high-quality images using AkashGen model. @@ -64,10 +74,16 @@ class AkashGenImageGeneration(AkashChatBaseTool): async def _arun( self, prompt: str, - negative: str = "", - sampler: str = "dpmpp_2m", - scheduler: str = "sgm_uniform", - preferred_gpu: list[str] = ["RTX4090", "A10", "A100", "V100-32Gi", "H100"], + negative: Optional[str] = "", + sampler: Optional[str] = "dpmpp_2m", + scheduler: Optional[str] = "sgm_uniform", + preferred_gpu: Optional[list[str]] = [ + "RTX4090", + "A10", + "A100", + "V100-32Gi", + "H100", + ], config: RunnableConfig = None, **kwargs, ) -> str: @@ -102,16 +118,19 @@ async def _arun( "negative": negative, "sampler": sampler, "scheduler": scheduler, - "preferred_gpu": preferred_gpu + "preferred_gpu": preferred_gpu, + } + headers = { + "Authorization": f"Bearer {api_key}", + "Content-Type": "application/json", } - headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"} # Send the image generation request async with httpx.AsyncClient(timeout=60) as client: gen_response = await client.post( "https://gen.akash.network/api/generate", json=payload, - headers=headers + headers=headers, ) gen_response.raise_for_status() gen_data = gen_response.json() @@ -125,13 +144,19 @@ async def _arun( status_response = await client.get(status_url, headers=headers) status_response.raise_for_status() status_data = status_response.json() - status_entry = status_data.get(job_id) or (status_data["statuses"][0] if "statuses" in status_data and status_data["statuses"] else None) + status_entry = status_data.get(job_id) or ( + status_data["statuses"][0] + if "statuses" in status_data and status_data["statuses"] + else None + ) if not status_entry: raise Exception(f"Malformed status response: {status_data}") if status_entry["status"] == "completed": result = status_entry.get("result") if not result: - raise Exception(f"No result found in completed status: {status_entry}") + raise Exception( + f"No result found in completed status: {status_entry}" + ) return result elif status_entry["status"] == "failed": raise Exception(f"Image generation failed: {status_entry}")