Chuyển tới nội dung chính

Credit Risk Analysis

This example demonstrates a complete credit risk analysis workflow using the FAOS Python and TypeScript SDKs.

Python

from faos import FaosClient

client = FaosClient(api_key="faos_sk_your_key_here")

# Step 1: Analyze financial statements
analysis = client.agents.invoke(
"credit-risk-analyst",
{
"query": "Analyze Q1 2024 financial statements for Acme Corp",
"data": {
"revenue": 12500000,
"net_income": 1875000,
"total_debt": 5000000,
"total_assets": 25000000,
},
},
)

print(f"Risk Score: {analysis.result.get('risk_score')}")
print(f"Insights: {analysis.result.get('insights')}")
print(f"Recommendation: {analysis.result.get('recommendation')}")

# Step 2: Get detailed report via streaming
import asyncio

async def stream_report():
async for chunk in client.agents.stream(
"credit-risk-analyst",
{"query": "Generate detailed credit report for Acme Corp"}
):
if chunk.type == "text":
print(chunk.data, end="", flush=True)

asyncio.run(stream_report())
<PlaygroundButton code={"from faos import FaosClient\n\nclient = FaosClient(api_key=\"faos_sk_your_key_here\")\n\n# Step 1: Analyze financial statements\nanalysis = client.agents.invoke(\n \"credit-risk-analyst\",\n {\n \"query\": \"Analyze Q1 2024 financial statements for Acme Corp\",\n \"data\": {\n \"revenue\": 12500000,\n \"net_income\": 1875000,\n \"total_debt\": 5000000,\n \"total_assets\": 25000000,\n },\n },\n)\n\nprint(f\"Risk Score: {analysis.result.get('risk_score')}\")\nprint(f\"Insights: {analysis.result.get('insights')}\")\nprint(f\"Recommendation: {analysis.result.get('recommendation')}\")\n\n# Step 2: Get detailed report via streaming\nimport asyncio\n\nasync def stream_report():\n async for chunk in client.agents.stream(\n \"credit-risk-analyst\",\n {\"query\": \"Generate detailed credit report for Acme Corp\"}\n ):\n if chunk.type == \"text\":\n print(chunk.data, end=\"\", flush=True)\n\nasyncio.run(stream_report())"} lang="python" />

TypeScript

import { FaosClient } from '@faos/sdk';

interface CreditAnalysis {
riskScore: number;
insights: string[];
recommendation: 'approve' | 'review' | 'reject';
}

const client = new FaosClient({ apiKey: 'faos_sk_your_key_here' });

// Step 1: Typed analysis
const analysis = await client.agents.invoke<CreditAnalysis>(
'credit-risk-analyst',
{
query: 'Analyze Q1 2024 financial statements for Acme Corp',
data: {
revenue: 12_500_000,
netIncome: 1_875_000,
totalDebt: 5_000_000,
totalAssets: 25_000_000,
},
},
);

console.log(`Risk Score: ${analysis.result.riskScore}`);
console.log(`Recommendation: ${analysis.result.recommendation}`);

// Step 2: Stream detailed report
for await (const text of client.agents.streamText(
'credit-risk-analyst',
{ query: 'Generate detailed credit report for Acme Corp' },
)) {
process.stdout.write(text);
}
<PlaygroundButton code={"import { FaosClient } from '@faos/sdk';\n\ninterface CreditAnalysis {\n riskScore: number;\n insights: string[];\n recommendation: 'approve' | 'review' | 'reject';\n}\n\nconst client = new FaosClient({ apiKey: 'faos_sk_your_key_here' });\n\n// Step 1: Typed analysis\nconst analysis = await client.agents.invoke<CreditAnalysis>(\n 'credit-risk-analyst',\n {\n query: 'Analyze Q1 2024 financial statements for Acme Corp',\n data: {\n revenue: 12_500_000,\n netIncome: 1_875_000,\n totalDebt: 5_000_000,\n totalAssets: 25_000_000,\n },\n },\n);\n\nconsole.log(`Risk Score: ${analysis.result.riskScore}`);\nconsole.log(`Recommendation: ${analysis.result.recommendation}`);\n\n// Step 2: Stream detailed report\nfor await (const text of client.agents.streamText(\n 'credit-risk-analyst',\n { query: 'Generate detailed credit report for Acme Corp' },\n)) {\n process.stdout.write(text);\n}"} lang="typescript" />