Use CogOS programmatically in your Python applications.
import asyncio from cogos import CogOS, CogOSConfig from cogos.prompts import default_cm_prompt, DEFAULT_CHATBOT_PROMPT config = CogOSConfig.from_file() # auto-resolves config path
cogos = ( CogOS(config) .from_template("general") .cm_prompt(default_cm_prompt) .chatbot_prompt(DEFAULT_CHATBOT_PROMPT) )
from cogos import UniversalSchemaDomain user = UniversalSchemaDomain("user_profile") user.create_field("identity.name", "", "User's name") user.create_field("preferences.hobbies", "", "Hobbies and interests") cogos = ( CogOS(config) .register(user) .cm_prompt(default_cm_prompt) .chatbot_prompt(DEFAULT_CHATBOT_PROMPT) )
asyncio.run(cogos.build(""" [user]: I'm Bob, I love hiking and sushi. [assistant]: Great taste, Bob! """, session_id="bob"))
reply = asyncio.run(cogos.chat("What food do I like?", session_id="bob")) print(reply) # "You mentioned that you love sushi!"
config = CogOSConfig.from_file() config.schema_update_rounds = 5 # update schema every 5 chat rounds cogos = ( CogOS(config) .from_template("general") .cm_prompt(default_cm_prompt) .chatbot_prompt(DEFAULT_CHATBOT_PROMPT) ) # chat() returns a dict with reply and schema_updated flag result = asyncio.run(cogos.chat("I just got promoted to Senior Engineer!", session_id="bob")) print(result["reply"]) # The chatbot response print(result["schema_updated"]) # True if schema was auto-updated this round # Manual trigger asyncio.run(cogos.update_schema_from_chat(session_id="bob", rounds=10))
from cogos import CogOSConfig config = CogOSConfig.from_file() # auto-resolve + env vars config = CogOSConfig.from_file("configs/cogos.yaml") # explicit path config = CogOSConfig.from_env() # env vars only config = CogOSConfig(model="gpt-4o") # direct construction
def my_cm_prompt(state, registry): schema_overview = registry.inspect_all(max_depth=3) return f"""You are a medical records agent. Available schemas: {schema_overview} Extract: diagnoses, medications, allergies, vitals. When done: {{"continue": false}}""" cogos = CogOS(config).cm_prompt(my_cm_prompt).chatbot_prompt(my_template)