cleanup
This commit is contained in:
parent
6fdc573358
commit
0de6017491
@ -1,39 +0,0 @@
|
||||
#!/bin/zsh
|
||||
|
||||
d=${0:a:h:h}
|
||||
json=`cat $d/gpt.json`
|
||||
toml=`cat $d/Cargo.toml`
|
||||
cd $d/src/
|
||||
list=(`zsh -c "ls *.rs"`)
|
||||
|
||||
body="
|
||||
今、AGE systemを作っているよ。どんなものかというと、jsonを参照してここにすべてが書かれている。
|
||||
|
||||
$json
|
||||
|
||||
リポジトリはこちらになる。
|
||||
git.syui.ai:ai/gpt.git
|
||||
|
||||
内容はこんな感じ。
|
||||
|
||||
\`\`\`toml
|
||||
$toml
|
||||
\`\`\`
|
||||
|
||||
`
|
||||
for i in $list; do
|
||||
if [ -f $d/src/$i ];then
|
||||
t=$(cat $d/src/$i)
|
||||
echo
|
||||
echo '\`\`\`rust'
|
||||
echo $t
|
||||
echo '\`\`\`'
|
||||
echo
|
||||
fi
|
||||
done
|
||||
`
|
||||
|
||||
次は何を実装すればいいと思う。
|
||||
"
|
||||
|
||||
echo $body
|
@ -1,42 +0,0 @@
|
||||
use std::env;
|
||||
use std::process::{Command, Stdio};
|
||||
use std::io::{self, Write};
|
||||
|
||||
fn main() {
|
||||
let args: Vec<String> = env::args().collect();
|
||||
if args.len() < 2 {
|
||||
eprintln!("Usage: langchain_cli <prompt>");
|
||||
std::process::exit(1);
|
||||
}
|
||||
|
||||
let prompt = &args[1];
|
||||
|
||||
// Simulate a pipeline stage: e.g., tokenization, reasoning, response generation
|
||||
let stages = vec!["Tokenize", "Reason", "Generate"];
|
||||
|
||||
for stage in &stages {
|
||||
println!("[Stage: {}] Processing...", stage);
|
||||
}
|
||||
|
||||
// Example call to Python-based LangChain (assuming you have a script or API to call)
|
||||
// For placeholder purposes, we echo the prompt back.
|
||||
let output = Command::new("python3")
|
||||
.arg("-c")
|
||||
.arg(format!("print(\"LangChain Agent Response for: {}\")", prompt))
|
||||
.stdout(Stdio::piped())
|
||||
.spawn()
|
||||
.expect("failed to execute process")
|
||||
.wait_with_output()
|
||||
.expect("failed to wait on child");
|
||||
|
||||
io::stdout().write_all(&output.stdout).unwrap();
|
||||
}
|
||||
|
||||
/*
|
||||
TODO (for future LangChain-style pipeline):
|
||||
1. Implement trait-based agent components: Tokenizer, Retriever, Reasoner, Generator.
|
||||
2. Allow config via YAML or TOML to define chain flow.
|
||||
3. Async pipeline support with Tokio.
|
||||
4. Optional integration with LLM APIs (OpenAI, Ollama, etc).
|
||||
5. Rust-native vector search (e.g. using `tantivy`, `qdrant-client`).
|
||||
*/
|
133
tmp/data.rs
133
tmp/data.rs
@ -1,133 +0,0 @@
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct RelationalAutonomousAI {
|
||||
pub system_name: String,
|
||||
pub description: String,
|
||||
pub core_components: CoreComponents,
|
||||
pub extensions: Extensions,
|
||||
pub note: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct CoreComponents {
|
||||
pub personality: Personality,
|
||||
pub relationship: Relationship,
|
||||
pub environment: Environment,
|
||||
pub memory: Memory,
|
||||
pub message_trigger: MessageTrigger,
|
||||
pub message_generation: MessageGeneration,
|
||||
pub state_transition: StateTransition,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct Personality {
|
||||
pub r#type: String,
|
||||
pub variants: Vec<String>,
|
||||
pub parameters: PersonalityParameters,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct PersonalityParameters {
|
||||
pub message_trigger_style: String,
|
||||
pub decay_rate_modifier: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct Relationship {
|
||||
pub parameters: Vec<String>,
|
||||
pub properties: RelationshipProperties,
|
||||
pub decay_function: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct RelationshipProperties {
|
||||
pub persistent: bool,
|
||||
pub hidden: bool,
|
||||
pub irreversible: bool,
|
||||
pub decay_over_time: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct Environment {
|
||||
pub daily_luck: DailyLuck,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct DailyLuck {
|
||||
pub r#type: String,
|
||||
pub range: Vec<f32>,
|
||||
pub update: String,
|
||||
pub streak_mechanism: StreakMechanism,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct StreakMechanism {
|
||||
pub trigger: String,
|
||||
pub effect: String,
|
||||
pub chance: f32,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct Memory {
|
||||
pub long_term_memory: String,
|
||||
pub short_term_context: String,
|
||||
pub usage_in_generation: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct MessageTrigger {
|
||||
pub condition: TriggerCondition,
|
||||
pub timing: TriggerTiming,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct TriggerCondition {
|
||||
pub relationship_threshold: String,
|
||||
pub time_decay: bool,
|
||||
pub environment_luck: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct TriggerTiming {
|
||||
pub based_on: Vec<String>,
|
||||
pub modifiers: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct MessageGeneration {
|
||||
pub style_variants: Vec<String>,
|
||||
pub influenced_by: Vec<String>,
|
||||
pub llm_integration: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct StateTransition {
|
||||
pub states: Vec<String>,
|
||||
pub transitions: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct Extensions {
|
||||
pub persistence: Persistence,
|
||||
pub api: Api,
|
||||
pub scheduler: Scheduler,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct Persistence {
|
||||
pub database: String,
|
||||
pub storage_items: Vec<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct Api {
|
||||
pub llm: String,
|
||||
pub mode: String,
|
||||
pub external_event_trigger: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct Scheduler {
|
||||
pub async_event_loop: bool,
|
||||
pub interval_check: i32,
|
||||
pub time_decay_check: bool,
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -1,46 +0,0 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::fs::File;
|
||||
use std::io::{BufReader, Write};
|
||||
use std::time::{SystemTime, UNIX_EPOCH};
|
||||
|
||||
mod model;
|
||||
use model::RelationalAutonomousAI;
|
||||
|
||||
fn load_config(path: &str) -> std::io::Result<RelationalAutonomousAI> {
|
||||
let file = File::open(path)?;
|
||||
let reader = BufReader::new(file);
|
||||
let config: RelationalAutonomousAI = serde_json::from_reader(reader)?;
|
||||
Ok(config)
|
||||
}
|
||||
|
||||
fn save_config(config: &RelationalAutonomousAI, path: &str) -> std::io::Result<()> {
|
||||
let mut file = File::create(path)?;
|
||||
let json = serde_json::to_string_pretty(config)?;
|
||||
file.write_all(json.as_bytes())?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn should_send_message(config: &RelationalAutonomousAI) -> bool {
|
||||
// 簡易な送信条件: relationshipが高く、daily_luckが0.8以上
|
||||
config.core_components.relationship.parameters.contains(&"trust".to_string())
|
||||
&& config.core_components.environment.daily_luck.range[1] >= 0.8
|
||||
}
|
||||
|
||||
fn main() -> std::io::Result<()> {
|
||||
let path = "config.json";
|
||||
|
||||
let mut config = load_config(path)?;
|
||||
|
||||
if should_send_message(&config) {
|
||||
println!("💌 メッセージを送信できます: {:?}", config.core_components.personality.r#type);
|
||||
|
||||
// ステート変化の例: メッセージ送信後に記録用トランジションを追加
|
||||
config.core_components.state_transition.transitions.push("message_sent".to_string());
|
||||
|
||||
save_config(&config, path)?;
|
||||
} else {
|
||||
println!("😶 まだ送信条件に達していません。");
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user