
الوثائق : https://declarai.com
رمز المصدر : https://github.com/vendi-ai/declarai
يقوم Declarai بتحويل رمز Python إلى مهام LLM ، مما يتيح لك دمج LLM بسهولة في قاعدة الكود الموجودة لديك. تعمل على مبدأ بسيط: فقط حدد وظيفة/فئة Python. من خلال التعليق على هذه الوظيفة مع Docstrings وتلميحات النوع ، يمكنك تقديم تعليمات واضحة لمجموعة من طراز الذكاء الاصطناعى دون أي جهد إضافي.
بمجرد إعلان وظيفتك ، يقوم Declarai بذكاء بتجميع مستدخلات الوظيفة وتلميحات الكتابة في موجه لنموذج الذكاء الاصطناعى ، مما يضمن أن النموذج يفهم بالضبط ما هو مطلوب.
بعد تنفيذ المهمة ، يسترجع Declarai استجابة الذكاء الاصطناعى وتوصيفها ، وترجمتها مرة أخرى إلى نوع الإرجاع المعلن لوظيفة Python الخاصة بك. هذا يلغي أي تحليل يدوي أو ما بعد المعالجة من جانبك.
Declarai يبقيها أصلية: في جوهرها ، تدور Declarai حول احتضان ممارسات بيثون الأصلية. لا تحتاج إلى تعلم بناء جملة جديد أو التكيف مع نموذج ترميز مختلف. ما عليك سوى كتابة وظائف Python كما لديك دائمًا ، ودع Declarai يتعامل مع تكامل الذكاء الاصطناعي بسلاسة.
يتم استخدام مهام الذكاء الاصطناعي لأي منطق عمل أو تحول.
import declarai
gpt_35 = declarai . openai ( model = "gpt-3.5-turbo" )
@ gpt_35 . task
def rank_by_severity ( message : str ) -> int :
"""
Rank the severity of the provided message by it's urgency.
Urgency is ranked on a scale of 1-5, with 5 being the most urgent.
:param message: The message to rank
:return: The urgency of the message
"""
rank_by_severity ( message = "The server is down!" )
>> > 5
rank_by_severity ( message = "How was your weekend?" ))
>> > 1تُستخدم محادثات الذكاء الاصطناعى في محادثة تكرارية مع نموذج الذكاء الاصطناعى ، حيث يمكن لنموذج الذكاء الاصطناعى أن يتذكر الرسائل والسياق السابقة.
import declarai
gpt_35 = declarai . openai ( model = "gpt-3.5-turbo" )
@ gpt_35 . experimental . chat
class SQLBot :
"""
You are a sql assistant. You help with SQL related questions
"""
sql_bot = SQLBot ()
sql_bot . send ( "When should I use a LEFT JOIN?" )
> " You should use a LEFT JOIN when you want to return all rows from ....pip install declarai export OPENAI_API_KEY= < your openai token >أو تمرير الرمز المميز عند تهيئة كائن Declarai
import declarai
gpt_35 = declarai . openai ( model = "gpt-3.5-turbo" , openai_token = "<your-openai-key>" ) وظائف Craft AI التي تعمل بمواد سهولة باستخدام @task Decorator. فقط أضف بعض تلميحات النوع وقليلًا من الوثائق ، وشاهد Declarai يقوم بسحره!
import declarai
gpt_35 = declarai . openai ( model = "gpt-3.5-turbo" )
@ gpt_35 . task
def generate_poem ( title : str ) -> str :
"""
Write a 4 line poem on the provided title
"""
res = generate_poem (
title = "Declarai, the declarative AI framework for LLMs"
)
print ( res )
# Declarai, the AI framework,
# Empowers LLMs with declarative power,
# Efficiently transforming data and knowledge,
# Unlocking insights in every hour.ليست أفضل قصيدة هناك ، ولكن مهلا! لقد كتبت أول رمز من الذكاء الاصطناعي الخاص بك!
يهدف Declarai إلى تعزيز التعليمات البرمجية النظيفة والقابلة للقراءة من خلال تطبيق استخدام سلاسل المستندات والكتابة. الكود الناتج قابل للقراءة ويمكن صيانته بسهولة.
Python Primitives
import declarai
gpt_35 = declarai . openai ( model = "gpt-3.5-turbo" )
@ gpt_35 . task
def rank_by_severity ( message : str ) -> int :
"""
Rank the severity of the provided message by it's urgency.
Urgency is ranked on a scale of 1-5, with 5 being the most urgent.
:param message: The message to rank
:return: The urgency of the message
"""
rank_by_severity ( message = "The server is down!" )
>> > 5
rank_by_severity ( message = "How was your weekend?" ))
>> > 1قوائم Python/dicts وما إلى ذلك ..
from typing import List
import declarai
gpt_35 = declarai . openai ( model = "gpt-3.5-turbo" )
@ gpt_35 . task
def multi_value_extraction ( text : str ) -> List [ str ]:
"""
Extract the phone numbers from the provided text
:param text: content to extract phone number from
:return: The phone numbers that where identified in the input text
"""
multi_value_extraction (
text = "Hey jenny, n you can call me at 124-3435-132. n "
"you can also reach me at +43-938-243-223"
)
>> > [ '124-3435-132' , '+43-938-243-223' ]كائنات معقدة بيثون
from datetime import datetime
import declarai
gpt_35 = declarai . openai ( model = "gpt-3.5-turbo" )
@ gpt_35 . task
def datetime_parser ( raw_date : str ) -> datetime :
"""
Parse the input into a valid datetime string of the format YYYY-mm-ddThh:mm:ss
:param raw_date: The provided raw date
:return: The parsed datetime output
"""
datetime_parser ( raw_date = "Janury 1st 2020" ))
>> > 2020 - 01 - 01 00 : 00 : 00 from pydantic import BaseModel
from typing import List , Dict
import declarai
class Animal ( BaseModel ):
name : str
family : str
leg_count : int
gpt_35 = declarai . openai ( model = "gpt-3.5-turbo" )
@ gpt_35 . task
def suggest_animals ( location : str ) -> Dict [ int , List [ Animal ]]:
"""
Create a list of numbers from 0 to 5
for each number, suggest a list of animals with that number of legs
:param location: The location where the animals can be found
:return: A list of animal leg count and for each count, the corresponding animals
"""
suggest_animals ( location = "jungle" )
>> > {
0 : [
Animal ( name = 'snake' , family = 'reptile' , leg_count = 0 )
],
2 : [
Animal ( name = 'monkey' , family = 'mammal' , leg_count = 2 ),
Animal ( name = 'parrot' , family = 'bird' , leg_count = 2 )
],
4 : [
Animal ( name = 'tiger' , family = 'mammal' , leg_count = 4 ),
Animal ( name = 'elephant' , family = 'mammal' , leg_count = 4 )
]
} import declarai
gpt_35 = declarai . openai ( model = "gpt-3.5-turbo" )
@ gpt_35 . task
def sentiment_classification ( string : str , examples : List [ str , int ]) -> int :
"""
Classify the sentiment of the provided string, based on the provided examples.
The sentiment is ranked on a scale of 1-5, with 5 being the most positive.
{% for example in examples %}
{{ example[0] }} // {{ example[1] }}
{% endfor %}
{{ string }} //
"""
sentiment_classification ( string = "I love this product but there are some annoying bugs" ,
examples = [[ "I love this product" , 5 ], [ "I hate this product" , 1 ]])
>> > 4 import declarai
gpt_35 = declarai . openai ( model = "gpt-3.5-turbo" )
@ gpt_35 . experimental . chat
class CalculatorBot :
"""
You a calculator bot,
given a request, you will return the result of the calculation
"""
def send ( self , message : str ) -> int : ...
calc_bot = CalculatorBot ()
calc_bot . send ( message = "1 + 1" )
>> > 2للحصول على مقدمة شاملة وميزات وأفضل الممارسات ، استكشف وثائقنا الرسمية ودليل المبتدئين.
انضم إلى مهمتنا لجعل منظمة العفو الدولية التصريحية أفضل معًا! تحقق من دليلنا المساهمة للبدء.