Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 102 additions & 0 deletions ar/guides/features/embeddings.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
title: "التضمينات"
description: "أنشئ متجهات تضمين مع Venice للبحث الدلالي واسترجاع RAG والتجميع والتوصيات باستخدام نقطة النهاية /embeddings."
'og:title': "التضمينات | وثائق واجهة برمجة تطبيقات Venice"
'og:description': "تعلّم كيفية إنشاء متجهات تضمين باستخدام واجهة برمجة تطبيقات Venice."
---

تحوّل التضمينات النصَّ إلى متجهات تلتقط المعنى الدلالي. استخدمها للبحث، والتوليد المعزّز بالاسترجاع (RAG)، والتجميع، والتوصيات، وإزالة التكرار، وحساب التشابه.

نقطة نهاية التضمينات في Venice متوافقة مع OpenAI. أرسل سلسلة نصية واحدة أو مصفوفة من السلاسل إلى `/embeddings`، ثم خزّن المتجهات المُعادة في قاعدة بياناتك أو فهرس المتجهات.

## الاستخدام الأساسي

<CodeGroup>
```python Python
import os
from openai import OpenAI

Check warning on line 17 in ar/guides/features/embeddings.mdx

View check run for this annotation

Mintlify / Mintlify Validation (veniceai) - vale-spellcheck

ar/guides/features/embeddings.mdx#L17

Did you really mean 'openai'?

client = OpenAI(
api_key=os.environ["VENICE_API_KEY"],
base_url="https://api.venice.ai/api/v1",
)

response = client.embeddings.create(
model="text-embedding-bge-m3",
input="Privacy-first AI infrastructure for semantic search",
)

vector = response.data[0].embedding
print(len(vector), vector[:5])
```

```javascript Node.js
import OpenAI from "openai";

const client = new OpenAI({
apiKey: process.env.VENICE_API_KEY,
baseURL: "https://api.venice.ai/api/v1",
});

const response = await client.embeddings.create({
model: "text-embedding-bge-m3",
input: "Privacy-first AI infrastructure for semantic search",
});

const vector = response.data[0].embedding;
console.log(vector.length, vector.slice(0, 5));
```

```bash cURL
curl https://api.venice.ai/api/v1/embeddings \
-H "Authorization: Bearer $VENICE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-bge-m3",
"input": "Privacy-first AI infrastructure for semantic search",
"encoding_format": "float"
}'
```
</CodeGroup>

## المدخلات المجمّعة

مرّر مصفوفة من السلاسل لتضمين نصوص متعددة في طلب واحد:

```json
{
"model": "text-embedding-bge-m3",
"input": [
"Venice supports private chat completions.",
"Embeddings help retrieve relevant documents.",
"Vector search powers RAG applications."
]
}
```

تحافظ الاستجابة على ترتيب المدخلات. خزّن كل متجه مع معرّف النص المصدر، والبيانات الوصفية، ومعرّف نموذج التضمين.

## سير العمل الشائع

1. قسّم المستندات المصدر إلى أجزاء.
2. أنشئ تضمينات لكل جزء.
3. خزّن المتجهات والبيانات الوصفية في قاعدة بيانات متجهات.
4. ضمّن استعلام المستخدم.
5. استرجع الأجزاء القريبة.
6. أرسل السياق المسترجع إلى نموذج محادثة.

للاطلاع على تنفيذ كامل، راجع [بناء روبوت RAG خاص](/guides/projects/private-rag-bot).

## اختيار النموذج

استخدم صفحة [نماذج التضمين](/models/embeddings) لمقارنة نماذج التضمين الحالية والأبعاد والأسعار.

<Note>
استخدم نفس نموذج التضمين للفهرسة والاستعلام. مزج النماذج قد يجعل درجات التشابه غير موثوقة لأن فضاءات المتجهات غير قابلة للتبادل.
</Note>

## موارد ذات صلة

- [واجهة برمجة التطبيقات للتضمينات](/api-reference/endpoint/embeddings/generate)
- [نماذج التضمين](/models/embeddings)
- [دليل روبوت RAG الخاص](/guides/projects/private-rag-bot)
174 changes: 174 additions & 0 deletions ar/guides/features/function-calling.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
---
title: "استدعاء الدوال"
description: "دع نماذج المحادثة في Venice تستدعي أدوات تطبيقك باستخدام استدعاء الدوال المتوافق مع OpenAI وواجهة برمجة تطبيقات chat completions."
'og:title': "استدعاء الدوال | وثائق واجهة برمجة تطبيقات Venice"
'og:description': "تعلّم كيفية استخدام استدعاء الدوال مع نماذج المحادثة في Venice."
---

يتيح استدعاء الدوال للنموذج اختيار استدعاءات أدوات مُهيكلة يمكن لتطبيقك تنفيذها. لا يشغّل النموذج الدالة بنفسه، بل يُعيد اسم الدالة ومعامِلاتها، ثم يشغّل الكود لديك الدالة، ثم ترسل النتيجة مرة أخرى إلى النموذج.

استخدم استدعاء الدوال عندما يحتاج النموذج إلى بيانات حيّة، أو إجراءات في التطبيق، أو استعلامات قاعدة بيانات، أو حسابات حتمية.

## تعريف الأداة الأساسي

عرّف الأدوات باستخدام مصفوفة `tools` المتوافقة مع OpenAI:

<CodeGroup>
```python Python
import os
from openai import OpenAI

Check warning on line 19 in ar/guides/features/function-calling.mdx

View check run for this annotation

Mintlify / Mintlify Validation (veniceai) - vale-spellcheck

ar/guides/features/function-calling.mdx#L19

Did you really mean 'openai'?

client = OpenAI(
api_key=os.environ["VENICE_API_KEY"],
base_url="https://api.venice.ai/api/v1",
)

tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather in a location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City and state, such as San Francisco, CA",
}
},
"required": ["location"],
},
},
}
]

response = client.chat.completions.create(
model="zai-org-glm-5",
messages=[{"role": "user", "content": "What is the weather in San Francisco?"}],
tools=tools,
)

print(response.choices[0].message.tool_calls)
```

```javascript Node.js
import OpenAI from "openai";

const client = new OpenAI({
apiKey: process.env.VENICE_API_KEY,
baseURL: "https://api.venice.ai/api/v1",
});

const tools = [
{
type: "function",
function: {
name: "get_weather",
description: "Get the current weather in a location",
parameters: {
type: "object",
properties: {
location: {
type: "string",
description: "City and state, such as San Francisco, CA",
},
},
required: ["location"],
},
},
},
];

const response = await client.chat.completions.create({
model: "zai-org-glm-5",
messages: [{ role: "user", content: "What is the weather in San Francisco?" }],
tools,
});

console.log(response.choices[0].message.tool_calls);
```

```bash cURL
curl https://api.venice.ai/api/v1/chat/completions \
-H "Authorization: Bearer $VENICE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "zai-org-glm-5",
"messages": [
{"role": "user", "content": "What is the weather in San Francisco?"}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather in a location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City and state, such as San Francisco, CA"
}
},
"required": ["location"]
}
}
}
]
}'
```
</CodeGroup>

## تنفيذ الأداة

عندما يختار النموذج أداة، افحص `message.tool_calls`، وحلّل المعامِلات، ونفّذ دالة تطبيقك، ثم أرسل النتيجة مرة أخرى بوصفها رسالة `tool`.

```python Python
import json

message = response.choices[0].message
tool_call = message.tool_calls[0]
arguments = json.loads(tool_call.function.arguments)

weather = get_weather(arguments["location"])

follow_up = client.chat.completions.create(
model="zai-org-glm-5",
messages=[
{"role": "user", "content": "What is the weather in San Francisco?"},
message.model_dump(),
{
"role": "tool",
"tool_call_id": tool_call.id,
"content": json.dumps(weather),
},
],
tools=tools,
)

print(follow_up.choices[0].message.content)
```

## اختيار النموذج

يعتمد دعم استدعاء الدوال على النموذج. استخدم صفحة [النماذج النصية](/models/text) أو [واجهة برمجة تطبيقات النماذج](/api-reference/endpoint/models/list) للعثور على النماذج التي تحمل `supportsFunctionCalling`.

<Warning>
تعامَل مع معامِلات الأدوات على أنها مدخلات غير موثوقة. تحقّق من صحّة المعامِلات قبل استخدامها في استعلامات قاعدة البيانات، أو أوامر الصدَفة، أو المدفوعات، أو أي عمليات ذات آثار جانبية.
</Warning>

## نصائح للتصميم

- اجعل أسماء الأدوات وأوصافها قصيرة وحرفية.
- استخدم JSON Schema لتسهيل إنتاج معامِلات صحيحة من قِبل النموذج.
- فضّل الأدوات الضيّقة ذات المدخلات الواضحة على أداة واحدة عريضة ذات سلوكيات اختيارية كثيرة.
- أعِد نتائج أدوات موجزة بحيث يمتلك الجواب النهائي سياقًا كافيًا دون هدر الرموز.

## موارد ذات صلة

- [واجهة برمجة تطبيقات Chat Completions](/api-reference/endpoint/chat/completions)
- [النماذج النصية](/models/text)
- [دليل الاستجابات المُهيكلة](/guides/features/structured-responses)
- [تكامل LangChain](/guides/integrations/langchain#function-calling-with-agents)
Loading
Loading