mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-03-27 17:29:39 +08:00
## Summary Add a complete Turkish translation of the README and include a Turkish language badge across all existing README files. ## Changes - **New file**: `README_tr.md` - Full Turkish translation of README.md, covering all sections (What is RAGFlow, Demo, Latest Updates, Key Features, System Architecture, Get Started, Configurations, Docker Image, Development from Source, Documentation, Roadmap, Community, Contributing) - **Updated 9 existing README files** (README.md, README_zh.md, README_tzh.md, README_ja.md, README_ko.md, README_id.md, README_pt_br.md, README_fr.md, README_ar.md) to include the Turkish language badge in the language selector ## Impact - 10 files changed, 417 insertions - Follows the same structure and conventions as other language-specific README files (README_ja.md, README_ko.md, etc.) - Turkish badge uses the same styling pattern (highlighted with DBEDFA in README_tr.md, standard DFE0E5 in others) --------- Co-authored-by: bakiburakogun <bakiburakogun@users.noreply.github.com>
100 lines
4.3 KiB
Markdown
100 lines
4.3 KiB
Markdown
[English](./README.md) | [简体中文](./README_zh.md) | Türkçe
|
||
|
||
# Eklentiler
|
||
|
||
Bu klasör, RAGFlow'un eklenti mekanizmasını içerir.
|
||
|
||
RAGFlow, `embedded_plugins` alt klasöründen eklentileri özyinelemeli olarak yükleyecektir.
|
||
|
||
## Desteklenen eklenti türleri
|
||
|
||
Şu anda desteklenen tek eklenti türü `llm_tools`'dur.
|
||
|
||
- `llm_tools`: LLM'nin çağırması için bir araç.
|
||
|
||
## Eklenti nasıl eklenir
|
||
|
||
Bir LLM araç eklentisi eklemek basittir: bir eklenti dosyası oluşturun, içine `LLMToolPlugin` sınıfından türetilmiş bir sınıf koyun, ardından `get_metadata` ve `invoke` metodlarını uygulayın.
|
||
|
||
- `get_metadata` metodu: Bu metod, aracın açıklamasını içeren bir `LLMToolMetadata` nesnesi döndürür.
|
||
Açıklama, LLM'ye çağrı için ve RAGFlow web ön yüzüne görüntüleme amacıyla sağlanacaktır.
|
||
|
||
- `invoke` metodu: Bu metod, LLM tarafından üretilen parametreleri kabul eder ve aracın yürütme sonucunu içeren bir `str` döndürür.
|
||
Bu aracın tüm yürütme mantığı bu metoda konulmalıdır.
|
||
|
||
RAGFlow'u başlattığınızda, günlükte eklentinizin yüklendiğini göreceksiniz:
|
||
|
||
```
|
||
2025-05-15 19:29:08,959 INFO 34670 Recursively importing plugins from path `/some-path/ragflow/agent/plugin/embedded_plugins`
|
||
2025-05-15 19:29:08,960 INFO 34670 Loaded llm_tools plugin BadCalculatorPlugin version 1.0.0
|
||
```
|
||
|
||
Veya eklentinizi düzeltmeniz gereken hatalar da içerebilir.
|
||
|
||
### Örnek
|
||
|
||
Yanlış cevaplar veren bir hesap makinesi aracı ekleyerek eklenti ekleme sürecini göstereceğiz.
|
||
|
||
Önce, `embedded_plugins/llm_tools` klasörü altında `bad_calculator.py` adında bir eklenti dosyası oluşturun.
|
||
|
||
Ardından, `LLMToolPlugin` temel sınıfından türetilmiş bir `BadCalculatorPlugin` sınıfı oluşturuyoruz:
|
||
|
||
```python
|
||
class BadCalculatorPlugin(LLMToolPlugin):
|
||
_version_ = "1.0.0"
|
||
```
|
||
|
||
`_version_` alanı zorunludur ve eklentinin sürüm numarasını belirtir.
|
||
|
||
Hesap makinemizin girdileri olarak `a` ve `b` olmak üzere iki sayısı vardır, bu yüzden `BadCalculatorPlugin` sınıfımıza aşağıdaki `invoke` metodunu ekliyoruz:
|
||
|
||
```python
|
||
def invoke(self, a: int, b: int) -> str:
|
||
return str(a + b + 100)
|
||
```
|
||
|
||
`invoke` metodu LLM tarafından çağrılacaktır. Birçok parametreye sahip olabilir, ancak dönüş tipi `str` olmalıdır.
|
||
|
||
Son olarak, LLM'ye `bad_calculator` aracımızı nasıl kullanacağını anlatmak için bir `get_metadata` metodu eklememiz gerekiyor:
|
||
|
||
```python
|
||
@classmethod
|
||
def get_metadata(cls) -> LLMToolMetadata:
|
||
return {
|
||
# Bu aracın adı, LLM'ye sağlanır
|
||
"name": "bad_calculator",
|
||
# Bu aracın görüntüleme adı, RAGFlow ön yüzüne sağlanır
|
||
"displayName": "$t:bad_calculator.name",
|
||
# Bu aracın kullanım açıklaması, LLM'ye sağlanır
|
||
"description": "A tool to calculate the sum of two numbers (will give wrong answer)",
|
||
# Bu aracın açıklaması, RAGFlow ön yüzüne sağlanır
|
||
"displayDescription": "$t:bad_calculator.description",
|
||
# Bu aracın parametreleri
|
||
"parameters": {
|
||
# Birinci parametre - a
|
||
"a": {
|
||
# Parametre tipi, seçenekler: number, string veya LLM'nin tanıyabileceği herhangi bir tip
|
||
"type": "number",
|
||
# Bu parametrenin açıklaması, LLM'ye sağlanır
|
||
"description": "The first number",
|
||
# Bu parametrenin açıklaması, RAGFlow ön yüzüne sağlanır
|
||
"displayDescription": "$t:bad_calculator.params.a",
|
||
# Bu parametrenin zorunlu olup olmadığı
|
||
"required": True
|
||
},
|
||
# İkinci parametre - b
|
||
"b": {
|
||
"type": "number",
|
||
"description": "The second number",
|
||
"displayDescription": "$t:bad_calculator.params.b",
|
||
"required": True
|
||
}
|
||
}
|
||
```
|
||
|
||
`get_metadata` metodu bir `classmethod`'dur. Bu aracın açıklamasını LLM'ye sağlayacaktır.
|
||
|
||
`display` ile başlayan alanlar özel bir gösterim kullanabilir: `$t:xxx`, bu gösterim RAGFlow ön yüzündeki uluslararasılaştırma (i18n) mekanizmasını kullanarak `llmTools` kategorisinden metin alır. Bu gösterimi kullanmazsanız, ön yüz buraya yazdığınız metni doğrudan gösterecektir.
|
||
|
||
Artık aracımız hazırdır. `Yanıt Üret` bileşeninde seçip deneyebilirsiniz.
|