ToCode
Kanalga Telegramโda oโtish
ืืืคืื ืงืฆืจืื ืืืชืื ืชืื ืืืช ืื ืื ืคืจืง
Ko'proq ko'rsatish1 419
Obunachilar
Ma'lumot yo'q24 soatlar
Ma'lumot yo'q7 kunlar
-430 kunlar
Postlar arxiv
1 419
ืืืฆืื ืงืืืฅ HAR ืืืงืกื
ืืขืืจ ืืฉืืืื ื ืฆืจืืืื ืืืชืื ืกืงืจืืคื ืฉืืืฆืข ืชืืืืืื ืฉืื ืื ื ืืืฆืขืื ืืื ืืช ืืืคืืคื ืืืื ื ืคืืชืืื ืืช ืืื ืืคืืชืื, ืืกืชืืืื ืืืงืฉืืช ืฉืืืฆืืืช ืืืชืฉืืืืช ืืืคื ืื ืืงืืืืื ืืช ืืกืงืจืืคื. ืืืื ืืฉ AI ืืืื ืืขืฉืืช ืืช ืืื ืืื ืืฉืืืื ื ืื ืื ืฉืื ืื ื ืฆืจืืืื ืื ืืืงืืื ืืช ื Session ืืืืืฆื ืืช ืื ืืืืืขืืช ืืชืืจ ืืงืกื ืืื ืฉื ืืื ืืชืช ื AI ืืชืจืื ืืืชื ืืคืงืืืืช curl ืื ืืืชืื ืืื ืกืงืจืืคื.
ืืืขืื ืืืืืื - ืืคืืคื ืื ืื ืืืืฆืืื Session ืฉืื ืืืื network ืืืื ืืคืืชืื ืืงืืืฅ ืืงืกื. ืืืื ืืื ืฉืื ืื ื ืืืืขืื ืคืืืชืื.
ืื ืืกืงืจืืคื:
import re
import json
from haralyzer import HarParser, HarPage
with open('demo.har', 'r', encoding='utf8') as f:
har_parser = HarParser(json.loads(f.read()))
data = har_parser.har_data
for page in har_parser.pages:
print(f"Page URL: {page.url}")
for entry in page.entries:
print("---\n\n")
print("Request URL: ")
print(entry.request.url)
print("Request method: ")
print(entry.request.method)
print("Request Headers: ")
print(entry.request.headers)
print("")
print("Response Headers: ")
print(entry.response.headers)
print("")
if 'content' in entry.response:
print("Response Body: ")
print(entry.response['content'].get('text'))
ืืชืื ืืื ืืคืืชืื ืฉื ืืืคืืคื ืืชื ื ืื ืกืื ืืืื Network, ืฉืืืจืื ืืช ืื ืืชืงืฉืืจืช ืืงืืืฅ HAR ืขื ืืคืชืืจ ืฉื ืจืื ืืื ืืฅ ืืืื ืืื ืืคืขืืืื ืืช ืืกืงืจืืคื (ืขื ืชืืงืื ืฉื ืืงืืืฅ) ืืื ืืงืื ืืช ืื ืืืงืฉืืช ืืืชืฉืืืืช ืฉืืืคืืขื ืืืื Network. ืืช ืื ืืคืื ืืขืชืืงืื ืืืืืืงืื ืืืืื ืฉื AI ืืืื ืืืจ ืืืชืื ืืื ืืื ืื ืกืงืจืืคื ืฉืชืจืฆื.
ืืืค ืืืชืงืืืื - ืืืื ืืืืกืืฃ ืืชืืืืช ืืืืืื ืืืืืืื ืขื url-ืื ืื ืจืืืื ืืื ืืืฉื:
if entry.request.url.endswith('.jpg'): continue1 419
ืกืืจ ืคืจืืืื ื SQL
ืืฉืื ื ืืืฉื ืืืกืืก ื ืชืื ืื ืืช ืื ืืฉืืจืื ืืืขืจืืช:
select * from songs;
ืืคื ืืืื ืกืืจ ืื ืืืืขืื? ืืื ืื ื ืืฆืคื ืืกืืจ? ืืืื ืืืืื ืฉืื ืืืืขื ืืกืืจ ืฉืื ื ืฆืจืื?
1. ืืื ืืืชืื order by ืืฉืืจืื ืืืืืื ืืืืืจ ืืื ืกืืจ. ืืจืื ืคืขืืื ืืคืืชืื ืื ืืืืขื ืืคื ืืกืืจ ืื ืื ื ืืฆืจื ืืืคืจืืืงืฉื ืืคื ืกืืจ ืืงืจืื ืืืฉืื, ืจืง ืื ืื ืืืืืื.
2. ืื ืืฉ ืืจืื ืฉืืจืื ืืื ืืืคืช ืืื ืืืกืืจ, ืืืืกืืฃ order by ืืื ืืช ืืฉืืืืชื ืืืืจืืฉ ืืืชืจ ืืืืจืื.
ืืขืืฉืื ืืฉืืื - ืืื ืืืื ืืืชืื order by ืืื ืฉืืืืชื ืจืืฉืืช ืืืขืจืืช (ืืืืืจ ืื ืืืฆื ืฉื select ืืชืื where)?
ืื ื ืืืื ืฉืืืจื ืฉืืืืืชื ืืฉืืืข ืืื ืฉืขืืช ืืฉืืื ืืืืื ืฉืืืื ืฉื ืืขื ืืฉืืืืชื ืืื order ืื ื ืืชืืื ืืืฉืื ืืืืื ืขื ืืืืคืฆืื. ืื ืืขืชืื?1 419
ืืื ืืงืจืื ืืช ืืืืืงื ืืจืืืช ืฉื ืชืืืืก ืืืืงื
ืชืืืืก ืืืืงื, ืื ื"ื ืืืืืื, ืืจืืื ืืฆืืื ืืขืืจืจ ืืืื ืืงืืืื ืืฉืืื ืืืชื ืฉืฉืืืืฉ ืืืื AI ืืืื ืืืืื ืืช ืืืจืืืช ืืืคืชืืื ืฉื ืืขืชืื, ืืคืืจื ืืช ืืืืืื ืืช ืืื ื-4 ืฉืืืื ืฉื ืืืืืืฆืื:
1. ืกืงืคืืืื - ืืฉืชืืฉืื ื AI ืืืฉืืืืช ืงืื ืืช ืื ืืฉืืืช ืงืื (Tab Completion)
2. ืืืงืจืื - ืืฉืชืืฉืื ื AI ืืื ืืืื, ืืฉืืื ืฉืืืืช, ืืงืื ืืกืืจืื ืขื ืงืืขื ืงืื ืฉืื ืื ืืืื ืื ืืืืืฆืจ ืงืืขื ืงืื ื ChatGPT ืฉืืืจ ืื ืืขืชืืงื ืืชืื ืืืขืจืืช.
3. ืืฉืชืคื ืคืขืืื - ืืคืชืืื ืฉืืฉืชืืฉืื ื AI IDEs ืืื ืงืืคืืืืื ืื ืงืจืกืจ, ืื ืกืื ืืืืืื ืฉืื ืื.
4. ืฉืืืืฉ ืืกืืจืืื - ืืคืชืืื ืฉืืฉืชืืฉืื ืืกืืื ืื ืืืืื ืืืืื ืืืืืื ืกืืื ืื ืืกืื ืืจืื ืืื ืืขื ื ืืืืงืืืื ืืช ืืขืืืื ืืืกืคืจ ืกืืื ืื.
ืืืืืืืฆืื ืืื ืืื ืื ืชืืืื ืฉืืกืืคื ืื ืื ื ืืฉืชืืฉืื ืจืง ืืกืืื ืื ืืกืื ืืจืื ืืื. ืืื ื ืืืชืจ ื ืืื ืืืื ืขืงืืืช ืืืืื. ืืฉ ืคื 4 ืืืืื ืืืืช ืืืืื, ืื ืื ื ืืืืืื ืืืชื ืืืช ืืืจื ืืฉื ืื ืืื ืืืืื ืืช ืืืจืฉืช ืืืชืจ ืืฉืงืขื ืืืงืืืืช ืืื ืืืืืข ืืชืืฆืืืช ืืืืืช. ืืกืืฃ ืืชืืืื ืืคืชืืื ืฉืืืืขืื ืืขืืื ืขื ืืื AI ืืฉืชืืฉื ืืื 4 ืืืืืื ืืืืช ืื ืืืื ืืขืืืื ืขื ืคืจืืืงื:
ืกืืื ื AI ืืืืื ืืืืื ืืกืืืืื ืืื ืืช ืืืจืื ืืจืฉืืืื ืืื ืื ืขืืืืื ืืชืื ืืื ื ืฉื ืืืขืจืืช ืืืืื ืืืืืื ืื ืืืืืช ืื ืงืฉืืจื ืืืื ืืืื ื, ืืืื ืืฉ ืืืื ืืืจืื ืฉืื ืื ืืกืืืืื ืืขืฉืืช.
ืืื ืคืืชืื ืืืืกืกื AI ืืืืืื ืืืืืฅ ืืช ืืขืืืื, ืืื ืื ืืืกืื ืืช ืืืขืช ืืื ืืืืืฃ ืืคืชืืื ืืคืกืคืก ืืงืจื ืงืฆื ืื ืคืขืจืื ืืื ืืืืืืฉ ืืืชื ืืืืช ืืจืฆืืื ืฉื ืืืขืจืืช. ืืฆื ืฉื ื ืืฉืืฉืชืืฉืื ืืื ืืืงืื ืฉืืคืฉืจ ืืื ืืืจืืฅ ืกืืื ืืืืื ืืื ืื ืื ื ืกืชื ืืืืืืื ืืื ืืืืกืชืื ืขื ืืกืืื ืืงืืื.
ืืื ืืคืชืืื ืฉืืืืจืื AI ืืื ืืคืขืืื ืืขืืืคื ืืืชืื ืืืืืฉ ืืขืฆืื ืืฉืฆืจืื ืืชืช ืชืฉืืืช ืื ืืื ืคืจื. ืืคืขืืื ื ืขืืืฃ ืืงืืื ืืชืืืขืฆืืช ืขื AI ืืืกื ืืฆ'ืื ืืืคืืคื ืื ืืื ืืืคืฉืจ ืืืชืจ ืืงืืืช ืืฉืืื ืืงืื ืืงืกื ืืืืฉืืืช ืชืฉืืืืช ืฉื ืืื ืืืืืื, ืืคืขืืื ื ืขืืืฃ ืืืฉืชืืฉ ืืขืืจื ืืฉืืื AI ืืืืืื ืืฉืจืืฆืื ืืจืืืช ืืกืคืจ ืืืืืฉืื ืืืืฉืืืช ืืื ืืื ืืืคืขืืื ื ืฉืื ืืชืช ื AI ืืจืืฅ ืืืงืืื ืืืจืืงืื ืืจืืืื ืืฆืืจื ืืกืื ืืจืื ืืช ืืื ืืืืฉ ืืืกืฃ ืฉื ืืฉืืืืช ืงืื ืืช ืื ืืฉืืื ืฉืืืจืฉืช ืฉืื ืื ืืืืื ืงืืฆืื.
ืืื ืคื ืืืืืืฆืื ืืืชื ืื ืฆืจืืืื "ืืืืืข" ืืฉืืืืฉ ื ืจืื ื AI. ืื ืืืื ืืืืื ืืื ืืขืืื ืืฆืืจื ืืขืืื ืืืจืืขืช ืืืฆืืื ืฉืชืืืืก ืืืืงื ืืืื, ืืื ื ืืื ืืฉืื ืื ืฉืขืงืืืช ืืืืืื ืฉืืื ืื ืืื - ืืืขื ืื ืืื ืืืื ืืืื ืืช ืืืฉืืืืช ืืืืื, ืขื ืงืฆืช ืืืชืจ ืืฉืงืขื ืืคืฉืจ ืืงืื ืชืฉืืืืช ืืืืืช ื AI ืืืกืื ื Chat, ืืฆื ืกืืื ืืืจ ืืืจืฉ ืืืชืจ ืืฉืงืขื ืืืืืื ืืืื ืืืื ืช ืชืฉืชืืืช ืืืกืืื ืืืกืื ืืจืื ื ืืืจืฉ ืืื ืืจืื ืืฉืงืขื ืืคื ื ืฉืืงืืืื ืชืืฆืืืช ืืืืืช.
1 419
ืื ื ืื ืืืืื ืฉ PHP ืงืืืื ืืช ืืืืคืจืืืจ ืืื ืืคื ืื ื
ืืืจ ืืจืื ืืื ืฉืืฉ ืืฆืขื ืขื ืืฉืืืื ืืืืคืจืืืจ Pipe ื JavaScript. ืื ืืจืื ืื:
value |> foo(%)
ืื ืืฉืืจืฉืืจ ืืจืื ืืืชืจ:
[1, 2, 3]
|> %.filter(x => x % 2 === 0)
|> %.map(x => x * 4)
|> %.join(' ')
|> console.log(%)
ืื ืืคืืื:
return links
|> Object.keys(%).map(function (rel) {
return '<' + links[rel] + '>; rel="' + rel + '"';
})
|> link + %.join(', ')
|> this.set('Link', %);
ืืืืื ืฉืื ืื ื ืืืจ ืฉื ืื ืืกืชืืืื ืขื ืืืฆืขื ื Pipe Operator, ืืืชืืืืืื ืืืืื ืชืืืืจ ืืืืืง ืืืฉืชืืฉ ืืืืจืื ื PHP ืจืฆื ืงืืืื ืขื ืืืืืฉ ืคืฉืื ืืขืืื:
$result = "Hello World"
|> strtoupper(...)
|> str_shuffle(...)
|> trim(...);
ืื ืืืื ืืืฆืขื ืฉื JavaScript, ื PHP ืืืคืจืืืจ ืืฆืื ืืจ ืืงืื ืจืง ืคืื ืงืฆืืืช ืฉืืืืืืช ืืงืื ืคืจืืืจ ืืืื ืืื ืืชืืืจื ืื ืืืชืจื ืขื ืกืืื ืืืืื.1 419
ื ืืกืื OpenRouter ื Python
ืืืคืืจืืืืจ ืืกืคืง ืืืฉื ืืืืื ืืืืืื ืืกืืจืืื ืืืืืื ืงืื ืคืชืื ืืจื API ืืื, ืืกื ืชืฉืืื ืืื ืืืกื ืืื ืื ืืคืฉืจ ืืจืืืช ืืช ืืคืขืืืืช ืืืขืืืืืช. ืื ืืืื ื ืื ืืฉืจืืฆืื ืืฉืื ืื ืืื ืขืืื ืื ื AI ืืื ืืื ืืืกืื ืืกืฃ ืืืืฆืขืืช ืืืืื ืืืืืืื.
ืืคืฉืจ ืืืืจืฉื ืืื:
https://openrouter.ai/
ืืื ืืืืจ ืขื ืืืื ืืืืืื ืืชืื ืืืฉืง ื Web ืฉืืื, ืืื ืื ื ืจืืฆื ืืืจืืฅ ื ืืกืื ืืชืื ืคืืืชืื ืืื ืืชืช ืืืื ืืืืืื ืืขื ืืช ืืืืชื ืฉืืืืชื. ืืชืืืชื ืขื ืืงืื ืืื:
import asyncio
from agents import Agent, Runner
from agents.extensions.models.litellm_model import LitellmModel
import os
async def main():
models = [
"openrouter/moonshotai/kimi-k2",
"openrouter/z-ai/glm-4.5",
"openrouter/cognitivecomputations/dolphin-mistral-24b-venice-edition:free",
"openrouter/inception/mercury"
]
for model in models:
agent = Agent(
name="Assistant",
model=LitellmModel(model=model),
instructions="You only respond in haikus.",
)
print(f"Model: {model}")
result = await Runner.run(agent, "Tell me about recursion in programming.")
print(result.final_output)
print("---")
if __name__ == "__main__":
asyncio.run(main())
ืืงืื ืืฉืชืืฉ ืืกืคืจืืืช OpenAI Agents SDK ืืืชื ืื ื ืืืื ืืืื ืืืืงืฉ ื-4 ืืืืืื ืืืกืืืจ ืืฉืืจ Haiku ืืื ืจืงืืจืกืื. ืืื ืืชืฉืืืืช ืฉืงืืืืชื:
Model: openrouter/moonshotai/kimi-k2
Function calls itself
Each step unpeels a layer
Base case stops the fall
---
Model: openrouter/z-ai/glm-4.5
Function calls itself
To solve a smaller problem
Base case stops the loop
Code within the code
Stack grows deeper with each call
Until base is found
Divide and conquer
Breaking problems into parts
Solve the simplest
---
Model: openrouter/cognitivecomputations/dolphin-mistral-24b-venice-edition:free
A function calls itself,
Looping back in endless dance,
Chasing its own tail.
Base case breaks the spell,
Else infinite descent,
Stack overflow lovers.
Elegant solutions,
Complex problems simplified,
Beauty in repetition.
But beware the trap,
Unchecked, it can drive you mad,
Like rabbits in a field.
Fibonacci, trees,
Recursion's grace is seen,
In patterns endless woven.
So with care and caution,
Wield this tool, and watch it grow,
A tapestry of code.
---
Model: openrouter/inception/mercury
Function calls itself,
In layers it goes UNCer hands depthHappyLe Finding to end.
ืกื ืืื ืืืฅ ืืืจืงืืจื ืืืื ืืื ืืกืืจ. ืืืืื ืช ืขืืืืืช ืืืืคืื-ืืืกืืจื ืืื ืืฆืื ืืจ ืืื ืืืื ื ืื ืืจืืจ ืฉืืื ืืื ืืฉืชืื ืืื ืืื ืืงืจื ื ืฆืืจื ืืืืืง ืืช ืื ืขื ืืงืฉืืช ืืืชืจ ืืฉืืขืืชืืืช.
ืืืื ืืืืื ืงืื ืคืชืื ืืชื ืืื ืืืืืื? ืืืื ืืชื ื ืืืฉืื ืืืืื?1 419
ืืืืืจ Rails ื Langfuse
ืืืื ื AI ืื ืืืืข ืืกืจื ืืื ืืื ืืืืื ืืืื ืืกืื ืืช ืขืฆืื ืืชืื ืืืืืืช ืืื ืกืืคืืืช ืื ืืืืคืืก ืงืื ืฉืื ืขืืื ืื ืขืืื ืจืง ืืืืง ืงืื ืืืืงืจืื. ืืืจ ืืืืชื ืืขืืืฃ ืฉืืื ืคืฉืื ืืืืจ "ืื ื ืื ืืืืข".
ืืืชืืจ ืฉืื ื ืืื ืื ืฉืืจ ืืืฆืื ืืช ืืืจื ืืืืืข ืืืื ืื ืฉืื ืื ื ืจืืฆืื, ืื (ืืืืืืื) ืืฉืืื ืคืืชืจืื ืืืฃ ืืจืฉืช. ืืืืืื ืืืื ืืืงืฉืชื ืืืืจ ืืคืืืงืฆืืืช Rails ื langfuse ืืื ืืขืงืื ืืืจื ืงืจืืืืช API ืืื ืืขื AI. ืงืืื ืขื ื ืฉืืื ืืืืืจ ืืืื ื ืืืฆืืข ืืืชืื ืืฉืื ืืขืฆืื ืืื ืื ืขืื ืืืื. ืื ืขืืจืชื ืืชืช ืื ืจืืืื, ืชืืืื ืืืฆืืชื ืืช ืืงืื ืฉืืฉืชืืฉ ืืืื ืืืจืฆืื:
def ask_ai
Langfuse.trace("extract_lyrics", attributes: {
"gen_ai.request.model" => "gemini-2.5-pro-preview-06-05",
"gen_ai.system" => "Gemini"
}) do |tracer|
chat = RubyLLM.chat(model: 'gemini-2.5-pro-preview-06-05')
response = chat.ask("hello")
tracer.trace(response)
end
end
ืืืงืฉืชื ืื ืืืฉืชืืฉ ืืืืฉืง ื OpenTelemetry ืฉื Langfuse ืขืืืจ ืืืืืืฉ ืืกืืคืงืชื ืงืืฉืืจ ืืืฃ ืืชืืขืื ืฉืืื ืขื ืืืคืืื ื ื OpenTelemetry ืืืจืืฉืื ืืื ืืชืขื ืฉืืื. ืืชืืฆืื ืืืชื ืงืื ืื ื ืืจื ืฉืื ืขืืจ ืืื ืืืงืจืื ืฉืืืงืชื:
require 'opentelemetry-api'
module Langfuse
class TracerWrapper
def initialize(span)
@span = span
end
def trace(llm_response)
# Customize based on RubyLLM / OpenAI / Gemini format
if llm_response.respond_to?(:model)
@span.set_attribute("gen_ai.response.model", llm_response.model)
end
if llm_response.respond_to?(:content)
content = llm_response.content
# Set the completion content according to GenAI semantic conventions
@span.set_attribute("gen_ai.completion.0.role", "assistant")
if content.is_a?(Hash)
# For structured responses, store as JSON string
@span.set_attribute("gen_ai.completion.0.content", content.to_json)
elsif content.is_a?(String)
@span.set_attribute("gen_ai.completion.0.content", content)
end
end
if llm_response.respond_to?(:usage)
usage = llm_response.usage
@span.set_attribute("gen_ai.usage.prompt_tokens", usage.prompt_tokens)
@span.set_attribute("gen_ai.usage.completion_tokens", usage.completion_tokens)
@span.set_attribute("gen_ai.usage.total_tokens", usage.total_tokens)
end
end
end
def self.trace(name, attributes: {}, &block)
tracer = OpenTelemetry.tracer_provider.tracer('langfuse)
tracer.in_span(name, attributes: default_attributes.merge(attributes)) do |span|
yield TracerWrapper.new(span)
end
end
def self.default_attributes
{
}
end
end
ืืงืืืฅ ืืืืชืืื config/initializers/opentelemetry.rb:
require 'opentelemetry/sdk'
require 'opentelemetry/exporter/otlp'
require 'base64'
public_key = Rails.application.credentials.langfuse[:pk]
secret_key = Rails.application.credentials.langfuse[:secret]
auth_token = Base64.strict_encode64("#{public_key}:#{secret_key}")
exporter = OpenTelemetry::Exporter::OTLP::Exporter.new(
endpoint: "https://us.cloud.langfuse.com/api/public/otel/v1/traces",
headers: { "Authorization" => "Basic #{auth_token}" },
)
span_processor = OpenTelemetry::SDK::Trace::Export::SimpleSpanProcessor.new(exporter)
OpenTelemetry::SDK.configure do |c|
c.add_span_processor(span_processor)
end1 419
ืื ืืฉืชืืฉ ืืคืจืืืืืืจืง
ืืฉ ืืคืชืืื ืฉืื ืืฉืชืืฉืื ืืคืจืืืืืืจืง ืื ืืื ืืื ืื ืืืืื ืืฉืื ืืืฉ, ืื ืื ืืืื ืืช ืืืืื ื ืฉืื, ืื ืืื ืคืฉืื ืื ืืื ืืื ืืื ื ืืขืืืฃ ืืืกืชืืจ ืขื ืืืขืืืช ืฉืื ื ืืืืจ.
ืืืจืื ืืืจ ืืฉืชืืฉื ืืื ืืคืจืืืืืืจืงืื ืืืืจื ืืืืื ืืขืืืง ืฉื ืืืขืื ืืื ืืคืืชืจืื ืืช ืืืื ื ืื ืืจื ืืขืืืื ืืืืื ืืืืชืจ ืขืืืจื. ืืืงืื ืืืืืจ ืคืจืืืืืืจืง ืงืืื ืฉืืืชื ืคืืชืจืื ืืืงื ืื ืื ื ืคื ืืืืช ืืืขืจืืช ืฉืืื ืืช ืืกืื ืืจืืื ืืืืืืืืช ืฉืื ืฆืจืืืื.
ืืืฉืคื "ืื ืืชื ืื ืืฉืชืืฉ ื ORM ืืชื ืืืฆื ืืช ืขืฆืื ืืื ื ืืื" ืขืืืื ื ืืื, ืื ืื ืืืื ืืืืืื ืืืคืจืืืืืืจืง ืืฉืชื ื. ืืืืงื ืืืืฉืคื ืืื ืืื ืื ืืืฉืชืืฉ ืืคืจืืืืืืจืง ืืื ืืืืจ, ืืื ืฉืืืื ืืืืื ืืขืืืง ืืกืคืจ ืคืจืืืืืืจืงืื ืืื ืืืืื ืืช ืืืขืื ืืคื ื ืฉืืืืืืื ืื ืืืฉืชืืฉ ืืคืจืืืืืืจืง ืืืื ืืช ืคืืชืจืื ืืขืฆืื ื.
1 419
ืฉืืืฉื ืืืจืื ืฉืืืืชื ืืกืคืจืืืช RubyLLM
ืจืืื ืืื ืชืืื ืืฉืคื ืืืืจืื ื ืืืกืืื. ืืฉ OpenAI ืืืฆืืื Agents SDK ืื ืฉืืจืจื ืืืจืกื ืืคืืืชืื ืืืืจืช ืืืืืคืกืงืจืืคื. ืื ืื ืืืจืฃ ืืืื ืืคืืืชืื ืืืืืคืกืงืจืืคื ืืื ืจืื ืืืืื ืฉื ืืกืคืจืืืช ืืชืืื. ืกืคืจืืืช ืจืืื ืืขืืืื ืขื AI ืื ืืื ืืกืคืืง ืืชืืืืงืืช, ืืืื ืืช ืื ืืืืฉืืช. ืืคืืืช ืขื ืืืืจืื ื.
ืกืคืจืืืช RubyLLM ืืืืืช ืืื ืขื ืชืืขืื ืืฆืืื ืืืคืืจื, ืจืืคื ืืชืืืืง ืืชืืืื ืจืืื ืืืงืืกืืกืื. ืืื ืฉืืืฉื ืืืจืื ืฉืืืืชื ืืืืืื ืืกืคืจืืื:
ืืชืืื ืงืื
ืื ืื ืื ืฉืืืืชื ืฆืจืื ืืฉืืื ืืฉืืื ืฉืืื ื AI:
chat = RubyLLM.chat
response = chat.ask "What is Ruby on Rails?"
puts response.content
ืืื ืฉืืืจ ืืงืืื ืืขืืื ืืื, ืืคืชื ื API ื ืืงื ืืืืืืืืช ืืจื ืืฉืชื ื ืกืืืื.
ืืฉืืื ืืงืื ืชืืื ื ืืกืคืืง ืืืชืื:
image = RubyLLM.paint("A photorealistic red panda coding Ruby")
ืชืืืื ืืืื ืืช ื Async
ืื ืืื Deal Breaker ืืืืื ืชื ืืื ืกืคืจืืืช ืจืืื ืฉืืืงืชื ืขื ืขืืฉืื. ืืืขืื ืขื ืชืงืฉืืจืช ืขื AI ืืื ืฉืจืื ืืืื ืืชื ืืืื ืืืืงื ืื ืฉื ื AI ืืื ืขืืืื ืฆืจืื ืืืืืืง ืืช ืื ืืืืืืจืื ืคืชืืืื ืืฉืืื ืฉืืกืืจืืืื ื ืืขืืื. ืืื ื ืงืืืกื ืฉื Threads ืื ืืืื ืืขืืื ืืขืืืก ืืืกืื ืืื ืืื ืื ื ืฆืจืืืื ื ืืืื ืฉื ืื ืืืืืืจืื ืืืื ืืืืฉืง ืืกืื ืืจืื ื, ืืืืืจ ืฉืืฉืจืช ืืืื ืืืคื ืืืืื ืฉืืืืช ืขื AI ืื ืืื ืืช.
ืื ืฉืืคื ืืื ืื ืฉืืืจื ืฉืืกืืืืื ืืช ืืกืืืค ืืืกืื ืืจืื ื ืืคืฉืจ ืืืืฉืื ืืืชืื Jobs ืืืืืง ืืื ืฉืืืื ื ืืืชืืื ืจืืื ื Rails, ืืืืืคื ืืืืืืื ืืจืืฅ ืืืฉืืืืช ืืืกืื ืืจืื ื ืืจืืฅ ืืช ืื'ืืืื ืืชืื ืืืืื ืืกืื ืืจืื ืืช. ืื ืืงืื ืืืฃ ืืชืืขืื ืฉืืื:
* Keep your existing adapter as default *
config.active_job.queue_adapter = :solid_queue # or :sidekiq, :good_job, etc.
* Base class for all LLM jobs *
class LLMJob < ApplicationJob
self.queue_adapter = :async_job
end
* LLM jobs inherit the async adapter *
class ChatResponseJob < LLMJob
def perform(conversation_id, message)
# Runs with async-job - perfect for streaming
response = RubyLLM.chat.ask(message)
# ...
end
end
* Regular jobs use your default adapter *
class ImageProcessingJob < ApplicationJob
def perform(image_id)
# Runs with solid_queue - better for CPU work
# ...
end
end
ืื ืื ื ืืงืืืื ืฉื ื Queue Adapters, ืืื ืื Good Job ืืจืืื ืขืืืจ ืื'ืืืื ืืกืื ืืจืื ืืื ืืืฉื ื ืืื Async::Job ืขืืืจ ืื'ืืืื ืฉื ื AI.
ืงืื ืงืจืื ืืงื ืืืจืืื
ืืกืคืจืื ืื ืืื ืืชืืจ ืกืคืจืืืช Ruby ืืืืื ืืืจืฆืื ืขื ืจืืืืก ืืื ืกืื ืฉื "ืงืืื ืืขื" ืืืืื ืืชืืื ืืงืืืฅ ืืื. ืงื ืืืื ืืืืืืฃ ืืืงืื ืืืื ืืืจืฆืื ืขื ืจืืืืก ืื ืืคืืื ืืืชืื ืืช ืื ืืืื ืืืจืฆืื ืืืืช ืืขืฆืื ื ืืื ืืืชืืื ืืืขืจืืช ืืืฉืืืช ืืขืืืื ืฉืื ื.
ืืืช ืืืืืืืืช ืืืชืืขืื ืืืืจืช ืขื ืืชื ืฉืืืจืื ื DB ืืืืขื ืืืฉื. ืืจืืจืช ืืืืื ืืืื ืืืจืฆืื ืืงืืืืช ืืื ืืฉืืืจ ืืช ืืืืืขื ืืคื ื ืฉ AI ืืชืืื ืืขื ืืช ืืื ืฉืืืื ืืืชืจ ืงื ืืขืฉืืช Streaming. ืืชืืขืื ืืฉ ืืืืื ืืื ืืฉื ืืช ืืช ืื ืืืฉืืืจ ืืช ืืืืืขื ืจืง ืืฉืืืจ ืืฉ ืชืืื ืืื ืฉืืคืฉืจ ืืืื ืืืืกืืฃ ืืืืืืฆืื ื DB.
ืืขืืืื ืฉืื ืขื ืืกืคืจืื ืืืืชื ืฆืจืื ืืกื ื ืืืง ืืืืืืขืืช ืืคื ื ืืฉืืืื ื AI ืืืืืกืืฃ Metadata ืืืืืขืืช, ืฉื ื ืืืจืื ืฉืืฆืืืชื ืืขืืื ืืืื ืืืจ ืืจืง ืืจื ืืื ืื ืื ืฉื ืืจืืฉื.
ืกื ืืื ืืืื ืืืืชื ืืช ืืกืคืจืื. ืื ืฆืจืื ืืืืื ืฉืื ืื ื ืขื ืงืจืงืข ืืืื ืื ืืฆืืื, ืื ื ืืืื ืฉืขืื ืืืื ืฉืื ืืื API ืืืฉ ืืืจืื ืืฆืืจืช ืืคืขืืื ืืืื ืฉืื ื ืื ืืืื - ืืืืืื ืืืืืจื ืฉืืื ืืฉืืืจ ืืช ื System Prompt ื DB ืื ืืชืืจ ืืืง ืืืฉืืื. ืืื ืืืงืืกืืกืื ืฉื ืจืืื ืืจืืืืก ืื ื ืืืื ืฉืืื ืชืืื ืืืฆืืื.1 419
ืืชืกืืื ืฉื AI ืืชืืืฉืช ืืกืืืืืช
ืืื AI ืืืื ืื ืกืื ืืขื ืืช ืขื ืฉื ื ืฆืจืืื ืื-ืืื ืืช: ืื ืื ืกืื ืืืกืื ืื ื ืืื ืืืฉืืืืช ืืืชื ืื ืื ื ืืกืืืืื ืืขืฉืืช ืืื, ืืื ืืขืฉืืช ืืฉืืืื ื ืืืจืื ืฉืื ืื ื ืขืืืื ืื ืืืืขืื ืื ืื ืจืืฆืื ืืืขืช ืืื ืขืืฉืื. ืืืื ืื ื ืืืื ืืชืืจ ืืชืื ืช ืืืืขืืจ ื AI ืืื ืืขืฉืืช Boostrap ืืื ื Boilerplate ืฉื ืคืจืืืงื ืืืฉ ืฉืื ื ืืืืข ืืื ืืื ืืืชืื ืืื ืืคืจืืืคื ืืื ืืกืืชื ืฉืขื-ืฉืขืชืืื ืฉื ืืงืืื, ืืืืืชื ืืื ืื ื ืืืื ืืชืจืื ืืฃ ืชืืขืื ืืกืื ืืช ืืืงืื ืืืจืกื ืฉืื ืืืชื ืืืืืฉืช ืืจืื ืืชืจืืืื ืื ืืฉืืื.
ืืืืจื ืืื ืืฉืืืืฉ ื AI ืืชืื ืชืื ืืืืืืื ืขื ืชืืืฉืช ืฉืืืงื ืืืืกืจ ืื ืื ืืืงืื. ืืืง ืืืืืจืืื ืืชืืืฉื ืืื ืืืืื ืืชืืืฉืช ืืืกืืืืืช. ืืฉืื ื ืืฉืชืืฉ ื AI ืื ืืืืจืื ืฉืื ื ืืืืข ืืขืฉืืช ืืื ืืืกืื ืืื ืืื ืืืืจืื ืฉืื ื ืื ืืืืข ืืขืฉืืช ืืื ืืืกืื ืืื ืืืืื, ืืืืจื ืืื ืื ื ืขืืื ืืฉืืื ืื ืื ืื. ืืชืื ืืช ืื ืืคืืื ืืขืื ืืืชืจ ืจืฆืื ืืช ืื ืืชืืืช ืงืื ืืื ืื ืืื ืจืืืื ืขื ืืืคื ืืื. ืื ืืืืื ืืช ืฉื ืขืืืช ืืืจ ืืื ืฉืื ืฉืืคืกืืงืื ืืืชืื ืงืื ืืืืช ืืืืื ืฉืขื ืืืื ืื ืื ืืกื ืงืื ื ืืงืื ืืืืื ืืืืืช ืืืชืืจืช.
ืืฉืืชืื ืช ืื ืืชืื ืชืช ืคืจืื ื ืื ื ืืกืชืืืื ืขื AI ืื ืกื ืืืฆืืจ ืืฃ HTML ืืชืืื ืืืฆืจ ืืฃ ืืืืขืจ, ืืืชืขืงืฉืืช ืฉื ืืืงื ืื ืืืืื ืก ืืงืื, ืื ืืืชืื ืืช ืืฉืื ืื ืืืื ืืก ืชืืงืื ืื ืจืง ืืื "ืืืชืืื ืขื ืขืืืื ืขื AI" ืืืขืชื ืื ืืืืื ืืช. ืืืกืชืื ืขื AI ืื'ื ืจื ืงืื ืืจืืข ืฉืื ืืฉืื ืื ืืืคื ืืืชื ืืืืชืจ ืืืืื ืขื AI, ืืื ืจืง ืืคืืืช ืืืืื ืขื ืงืื.
ืืืจื ืงืืืื ืืื ืื ืืืจืืง ืืช ืื ืื ืฉืืืื ื ืืื ืืืฉืชืืฉ ืืื ืฉืืืื ื ืืื ืืื ืืช ืืืฆืจืื ืืืืื ืืืชืจ ืืขืืจืช AI. ืืืืขืช ืืืชืื ืืช ื HTML ืฉืืช ืฆืจืืื ืืฆืืจื ื ืืื ื ืกืื ืืืช? ืืฆืืื, ืืชืื ืืืชื, ืืื ืืช ืืืชืจ ืืืืจื ื AI ืชืืชืื ืืืชื ืืื AI. ืืืฉืืง, ืืืืชืืจ, ืืื ืืืฆืื ืืช ืืืืจืื ืฉ AI ืืืื ืืืชืื ืืืชืจ ืืืจ ืืื ืืืฉืื ืืืืืช ืืื ืืืืฆืจ ืืขืจืืืช ืืืืืช ืืืชืจ ืืืืจ ืืืชืจ.
ืืืืืืืช:
1. ืืืจื ืืืืืฉ ืคืื ืงืฆืื ืื ืงืืืก ืืคืฉืจ ืืชืช ื AI ืืืชืื ืขื ืื Code Review ืืื ืืงืื ืจืขืืื ืืช ืืฉืืคืืจ.
2. ืืืจื ืฉืื ืื ืืจืืืืงืืืจื ื AI ืืืื ืืจืืฅ ืขื ืืงืื ืืืขืืื ืืกืื ืืจืืืืงืืืจื.
3. ืืคื ื ืจืืคืงืืืจืื ื ื AI ืืืื ืืจืืฅ ืขื ืืงืื ืืฆืืจื ืืืชืจ ืืืืืงืช ืืืืคืืฉ ืืงืกืืืืื ืืื ืืืจืืืช ืื ืื ืืืื ืืืืืช ืืืฉืคืข.
4. ืฉืื ืื API ืฉืืฉืคืืข ืขื ืจืืืื ืฆื ืฉืจืช ืืฆื ืืงืื ืืืชืืืื ืืืกืคืจ ืงืืฆืื ืืืื ืืืืืช ืืืืคื ืืืจ ืืืชืจ ืขื ืืื AI.
5. ืืืืืฉ ืคืื ืงืฆืื ืืคื Spec ืืืืืื ืื ืืื ื ืืืฉืช ื APIs ืืืฆืื ืืื ืื ืขืืฉื ืฉืื ืืืื ืืื ืืื ื Data.
ืื ืื ืชื ื ื AI ืืขืืื ืืชืขืืจื ืื ืืฉืฆืจืื. ืชืกืืื ืืืจืฆื ืืืืจืช ืฉื ืฉืืืืชืืช ืื ืืขืืจื ื AI "ืืืืื" ืืื ืจืง ืืืจืื ืืื ืืฉืืื.
1 419
ืืืงืจ ืืื ืืืืืจ ืฉืขืื ืจืืข ืฉืขื ืืฉืขื 10:00 ื ืชืืื ืืืืื ืจ ืขื ืืชืืื ืืืขืืื ืืืืืืจ ืฉื ืฉืจืช MCP
ืืืืื ืื ืืืฆืืจืฃ ืืืื ืง:
ืงืืฉืืจ ืืืื: https://tinyurl.com/tocodeai
Endi mavjud! Telegram Tadqiqoti 2025 โ yilning asosiy insaytlari 
